tlx
Aggregate< Type_ > Class Template Reference

Calculate running aggregate statistics: feed it with values, and it will keep the minimum, the maximum, the average, the value number, and the standard deviation is values. More...

#include <aggregate.hpp>

Public Types

using Type = Type_
 

Public Member Functions

 Aggregate ()=default
 default constructor More...
 
 Aggregate (size_t count, const double &mean, const double &nvar, const Type &min, const Type &max) noexcept
 initializing constructor More...
 
Aggregateadd (const Type &value) noexcept
 add a value to the running aggregation More...
 
size_t count () const noexcept
 return number of values aggregated More...
 
const Type sum () const
 return sum over all values aggregated More...
 
const Type total () const
 return sum over all values aggregated More...
 
double average () const noexcept
 return the average over all values aggregated More...
 
double avg () const noexcept
 return the average over all values aggregated More...
 
double mean () const noexcept
 return the average over all values aggregated More...
 
const Typemin () const noexcept
 return minimum over all values aggregated More...
 
const Typemax () const noexcept
 return maximum over all values aggregated More...
 
Type span () const noexcept
 return maximum - minimum over all values aggregated More...
 
double variance (size_t ddof=1) const
 return the variance of all values aggregated. More...
 
double var (size_t ddof=1) const
 return the variance of all values aggregated. More...
 
double standard_deviation (size_t ddof=1) const
 return the standard deviation of all values aggregated. More...
 
double stdev (size_t ddof=1) const
 return the standard deviation of all values aggregated. More...
 
Aggregate operator+ (const Aggregate &a) const noexcept
 operator + to combine two Aggregate<> More...
 
Aggregateoperator+= (const Aggregate &a) noexcept
 operator += to combine two Aggregate<> More...
 
template<typename Archive >
void serialize (Archive &archive)
 serialization method for cereal. More...
 

Private Member Functions

double combine_means (const Aggregate &a) const noexcept
 combine means, check if either count is zero. fix problems with NaN More...
 
double combine_variance (const Aggregate &other) const noexcept
 T. More...
 

Private Attributes

size_t count_
 number of values aggregated More...
 
double mean_
 mean of values More...
 
double nvar_
 approximate count * variance; stddev = sqrt(nvar / (count-1)) More...
 
Type min_
 minimum value More...
 
Type max_
 maximum value More...
 

Detailed Description

template<typename Type_>
class tlx::Aggregate< Type_ >

Calculate running aggregate statistics: feed it with values, and it will keep the minimum, the maximum, the average, the value number, and the standard deviation is values.

Definition at line 31 of file aggregate.hpp.

Member Typedef Documentation

using Type = Type_

Definition at line 34 of file aggregate.hpp.

Constructor & Destructor Documentation

Aggregate ( )
default

default constructor

Aggregate ( size_t  count,
const double &  mean,
const double &  nvar,
const Type min,
const Type max 
)
inlinenoexcept

initializing constructor

Definition at line 40 of file aggregate.hpp.

Member Function Documentation

Aggregate& add ( const Type value)
inlinenoexcept

add a value to the running aggregation

Definition at line 46 of file aggregate.hpp.

double average ( ) const
inlinenoexcept

return the average over all values aggregated

Definition at line 70 of file aggregate.hpp.

double avg ( ) const
inlinenoexcept

return the average over all values aggregated

Definition at line 73 of file aggregate.hpp.

double combine_means ( const Aggregate< Type_ > &  a) const
inlineprivatenoexcept

combine means, check if either count is zero. fix problems with NaN

Definition at line 149 of file aggregate.hpp.

double combine_variance ( const Aggregate< Type_ > &  other) const
inlineprivatenoexcept

T.

Chan et al 1979, "Updating Formulae and a Pairwise Algorithm for Computing Sample Variances"

Definition at line 159 of file aggregate.hpp.

size_t count ( ) const
inlinenoexcept

return number of values aggregated

Definition at line 60 of file aggregate.hpp.

const Type& max ( ) const
inlinenoexcept

return maximum over all values aggregated

Definition at line 82 of file aggregate.hpp.

double mean ( ) const
inlinenoexcept

return the average over all values aggregated

Definition at line 76 of file aggregate.hpp.

const Type& min ( ) const
inlinenoexcept

return minimum over all values aggregated

Definition at line 79 of file aggregate.hpp.

Aggregate operator+ ( const Aggregate< Type_ > &  a) const
inlinenoexcept

operator + to combine two Aggregate<>

Definition at line 119 of file aggregate.hpp.

Aggregate& operator+= ( const Aggregate< Type_ > &  a)
inlinenoexcept

operator += to combine two Aggregate<>

Definition at line 132 of file aggregate.hpp.

void serialize ( Archive &  archive)
inline

serialization method for cereal.

Definition at line 143 of file aggregate.hpp.

Type span ( ) const
inlinenoexcept

return maximum - minimum over all values aggregated

Definition at line 85 of file aggregate.hpp.

double standard_deviation ( size_t  ddof = 1) const
inline

return the standard deviation of all values aggregated.

ddof = delta degrees of freedom Set to 0 if you have the entire distribution Set to 1 if you have a sample (to correct for bias)

Definition at line 108 of file aggregate.hpp.

double stdev ( size_t  ddof = 1) const
inline

return the standard deviation of all values aggregated.

ddof = delta degrees of freedom Set to 0 if you have the entire distribution Set to 1 if you have a sample (to correct for bias)

Definition at line 116 of file aggregate.hpp.

const Type sum ( ) const
inline

return sum over all values aggregated

Definition at line 64 of file aggregate.hpp.

const Type total ( ) const
inline

return sum over all values aggregated

Definition at line 67 of file aggregate.hpp.

double var ( size_t  ddof = 1) const
inline

return the variance of all values aggregated.

ddof = delta degrees of freedom Set to 0 if you have the entire distribution Set to 1 if you have a sample (to correct for bias)

Definition at line 100 of file aggregate.hpp.

double variance ( size_t  ddof = 1) const
inline

return the variance of all values aggregated.

ddof = delta degrees of freedom Set to 0 if you have the entire distribution Set to 1 if you have a sample (to correct for bias)

Definition at line 91 of file aggregate.hpp.

Member Data Documentation

size_t count_
private

number of values aggregated

Definition at line 166 of file aggregate.hpp.

Type max_
private

maximum value

Definition at line 178 of file aggregate.hpp.

double mean_
private

mean of values

Definition at line 169 of file aggregate.hpp.

Type min_
private

minimum value

Definition at line 175 of file aggregate.hpp.

double nvar_
private

approximate count * variance; stddev = sqrt(nvar / (count-1))

Definition at line 172 of file aggregate.hpp.


The documentation for this class was generated from the following file: