Empirical
Public Member Functions | Protected Types | Protected Attributes | List of all members
emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... > Class Template Reference

#include <DataNode.h>

Inheritance diagram for emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >:
emp::DataNodeModule< VAL_TYPE, MODS... >

Public Member Functions

 DataNodeModule ()
 
double GetVariance () const
 Get the variance (squared deviation from the mean) of values added since the last reset. More...
 
double GetStandardDeviation () const
 Get the standard deviation of values added since the last reset. More...
 
double GetSkew () const
 
double GetKurtosis () const
 
void AddDatum (const VAL_TYPE &val)
 Add. More...
 
void Reset ()
 Reset this node (resets current stats to 0) More...
 
void PrintDebug (std::ostream &os=std::cout)
 Print debug information (useful for figuring out which modifiers you included) More...
 

Protected Types

using this_t = DataNodeModule< VAL_TYPE, data::Stats, MODS... >
 
using parent_t = DataNodeModule< VAL_TYPE, MODS... >
 
using base_t = DataNodeModule< VAL_TYPE >
 

Protected Attributes

double M2
 The second moment of the distribution. More...
 
double M3
 The third moment of the distribution. More...
 
double M4
 The fourth moment of the distribution. More...
 

Detailed Description

template<typename VAL_TYPE, emp::data... MODS>
class emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >

== data::Stats == Note: These statistics are calculated with the assumption that the data this node has recieved is the entire population of measurements we're interested in, not a sample.

Note 2: Kurtosis is calculated using Snedecor and Cochran (1967)'s formula. A perfect normal distribution has a kurtosis of 0.

Member Typedef Documentation

template<typename VAL_TYPE , emp::data... MODS>
using emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::base_t = DataNodeModule<VAL_TYPE>
protected
template<typename VAL_TYPE , emp::data... MODS>
using emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::parent_t = DataNodeModule<VAL_TYPE, MODS...>
protected
template<typename VAL_TYPE , emp::data... MODS>
using emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::this_t = DataNodeModule<VAL_TYPE, data::Stats, MODS...>
protected

Constructor & Destructor Documentation

template<typename VAL_TYPE , emp::data... MODS>
emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::DataNodeModule ( )
inline

Member Function Documentation

template<typename VAL_TYPE , emp::data... MODS>
void emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::AddDatum ( const VAL_TYPE &  val)
inline

Add.

Parameters
valto this DataNode
template<typename VAL_TYPE , emp::data... MODS>
double emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::GetKurtosis ( ) const
inline

Get the kurtosis of the values added since the last reset. This is another measurement that describes the shape of the distribution. High kurtosis means that there is more data in the tails of the distribution (i.e. the tails are "heavier"), whereas low kurtosis means that there is less data in the tails. We use Snedecor and Cochran (1967)'s formula to calculate kurtosis. Under this formula, a normal distribution has kurtosis of 0.

template<typename VAL_TYPE , emp::data... MODS>
double emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::GetSkew ( ) const
inline

Get the skewness of values added since the last reset. This measurement tells you about the shape of the distribution. For a unimodal distribution, negative skew means that the distribution has a longer/thicker tail to the left. Positive skew means that ths distribution has a longer/thicker tail to the right.

template<typename VAL_TYPE , emp::data... MODS>
double emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::GetStandardDeviation ( ) const
inline

Get the standard deviation of values added since the last reset.

template<typename VAL_TYPE , emp::data... MODS>
double emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::GetVariance ( ) const
inline

Get the variance (squared deviation from the mean) of values added since the last reset.

template<typename VAL_TYPE , emp::data... MODS>
void emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::PrintDebug ( std::ostream &  os = std::cout)
inline

Print debug information (useful for figuring out which modifiers you included)

template<typename VAL_TYPE , emp::data... MODS>
void emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::Reset ( )
inline

Reset this node (resets current stats to 0)

Member Data Documentation

template<typename VAL_TYPE , emp::data... MODS>
double emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::M2
protected

The second moment of the distribution.

template<typename VAL_TYPE , emp::data... MODS>
double emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::M3
protected

The third moment of the distribution.

template<typename VAL_TYPE , emp::data... MODS>
double emp::DataNodeModule< VAL_TYPE, data::Stats, MODS... >::M4
protected

The fourth moment of the distribution.


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