The main documentation of the Statistics Class contains additional explanation of this code listing.
! ! Author: Michael L. Hall ! P.O. Box 1663, MS-D413, LANL ! Los Alamos, NM 87545 ! ph: 505-665-4312 ! email: Hall@LANL.gov ! ! Created on: 07/10/01 ! CVS Info: $Id: statistics.F90,v 3.13 2006/10/17 23:01:53 hall Exp $ module Caesar_Statistics_Class ! Global use associations. use Caesar_Data_Structures_Module ! Start up with everything untyped and private. implicit none private ! Public procedures. public :: Initialize, Finalize, Valid_State, Initialized public :: Add_Value, Arithmetic_Mean, Average, Count, Geometric_Mean, & Harmonic_Mean, Maximum, Mean, Minimum, Name, Output, & Standard_Deviation, Sum, Total, Totally_Positive, Update_Global interface Initialize module procedure Initialize_Statistics end interface interface Finalize module procedure Finalize_Statistics end interface interface Valid_State module procedure Valid_State_Statistics end interface interface Initialized module procedure Initialized_Statistics end interface interface Add_Value module procedure Add_Value_Statistics end interface fortext([Value],[Arithmetic_Mean Count Geometric_Mean Harmonic_Mean Maximum Minimum Name Standard_Deviation Sum Totally_Positive],[ interface Value module procedure expand(Get_Value_Stats) end interface ]) interface Average module procedure Get_Arithmetic_Mean_Stats end interface interface Mean module procedure Get_Arithmetic_Mean_Stats end interface interface Output module procedure Output_Statistics end interface interface Total module procedure Get_Sum_Stats end interface interface Update_Global module procedure Update_Global_Statistics end interface ! Public type definitions. public :: Statistics_type type Statistics_type ! Initialization flag. type(integer) :: Initialized ! Update status. type(logical) :: Global_Updated ! The name for this statistics object. type(character,80) :: Name ! Item count. type(integer) :: PE_Count, Global_Count ! Positivity flags. type(logical) :: PE_Totally_Positive type(logical) :: Global_Totally_Positive ! First order variables. type(real) :: PE_Arithmetic_Mean, PE_Sum type(real) :: PE_Geometric_Mean, PE_Log_Sum type(real) :: PE_Harmonic_Mean, PE_Reciprocal_Sum type(real) :: Global_Arithmetic_Mean, Global_Sum type(real) :: Global_Geometric_Mean, Global_Log_Sum type(real) :: Global_Harmonic_Mean, Global_Reciprocal_Sum ! Second order variables. type(real) :: PE_Squared_Sum, PE_Standard_Deviation type(real) :: Global_Squared_Sum, Global_Standard_Deviation ! Extrema. type(real) :: PE_Maximum, PE_Minimum type(real) :: Global_Maximum, Global_Minimum end type Statistics_type contains
The Statistics Class contains the following routines which are listed in separate sections:
end module Caesar_Statistics_Class