A Discrete-Event Network Simulator
API
ns3::Average< T > Class Template Reference

Simple average, min, max and std. More...

#include "average.h"

+ Inheritance diagram for ns3::Average< T >:
+ Collaboration diagram for ns3::Average< T >:

Public Member Functions

 Average ()
 
double Avg () const
 Sample average. More...
 
uint32_t Count () const
 Sample size. More...
 
Max () const
 Sample maximum. More...
 
double Mean () const
 Sample estimate of mean, alias to Avg. More...
 
Min () const
 Sample minimum. More...
 
void Reset ()
 Reset statistics. More...
 
double Stddev () const
 Sample standard deviation. More...
 
void Update (T const &x)
 Add new sample. More...
 
double Var () const
 Sample unbiased nbiased estimate of variance. More...
 
Error of the mean estimates
double Error90 () const
 Margin of error of the mean for 90% confidence level. More...
 
double Error95 () const
 Margin of error of the mean for 95% confidence level. More...
 
double Error99 () const
 Margin of error of the mean for 99% confidence level. More...
 

Private Attributes

m_max
 Maximum value observed. More...
 
m_min
 Minimum value observed. More...
 
uint32_t m_size
 Number of sampled data. More...
 
MinMaxAvgTotalCalculator< double > m_varianceCalculator
 Variance calculator. More...
 

Detailed Description

template<typename T = double>
class ns3::Average< T >

Simple average, min, max and std.

deviation calculator

Definition at line 40 of file average.h.

Constructor & Destructor Documentation

◆ Average()

template<typename T = double>
ns3::Average< T >::Average ( )
inline

Definition at line 43 of file average.h.

Member Function Documentation

◆ Avg()

template<typename T = double>
double ns3::Average< T >::Avg ( ) const
inline

Sample average.

Returns
the average of the sample

Definition at line 91 of file average.h.

References ns3::MinMaxAvgTotalCalculator< T >::getMean(), and ns3::Average< T >::m_varianceCalculator.

Referenced by ns3::Average< T >::Mean(), and ns3::V4Ping::StopApplication().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Count()

template<typename T = double>
uint32_t ns3::Average< T >::Count ( void  ) const
inline

◆ Error90()

template<typename T = double>
double ns3::Average< T >::Error90 ( ) const
inline

Margin of error of the mean for 90% confidence level.

Note that estimates are valid for

  • uncorrelated measurements,
  • normal distribution and
  • large enough sample size.
Returns
Margin of error of the mean for 90% confidence level

Definition at line 123 of file average.h.

References ns3::Average< T >::Count(), and ns3::Average< T >::Var().

+ Here is the call graph for this function:

◆ Error95()

template<typename T = double>
double ns3::Average< T >::Error95 ( ) const
inline

Margin of error of the mean for 95% confidence level.

Note that estimates are valid for

  • uncorrelated measurements,
  • normal distribution and
  • large enough sample size.
Returns
Margin of error of the mean for 95% confidence level

Definition at line 134 of file average.h.

References ns3::Average< T >::Count(), and ns3::Average< T >::Var().

+ Here is the call graph for this function:

◆ Error99()

template<typename T = double>
double ns3::Average< T >::Error99 ( ) const
inline

Margin of error of the mean for 99% confidence level.

Note that estimates are valid for

  • uncorrelated measurements,
  • normal distribution and
  • large enough sample size.
Returns
Margin of error of the mean for 99% confidence level

Definition at line 146 of file average.h.

References ns3::Average< T >::Count(), and ns3::Average< T >::Var().

+ Here is the call graph for this function:

◆ Max()

template<typename T = double>
T ns3::Average< T >::Max ( ) const
inline

Sample maximum.

Returns
the maximum of the sample

Definition at line 86 of file average.h.

References ns3::Average< T >::m_max.

Referenced by OneIntegerAverageTestCase::DoRun(), FiveIntegersAverageTestCase::DoRun(), FiveDoublesAverageTestCase::DoRun(), and ns3::V4Ping::StopApplication().

+ Here is the caller graph for this function:

◆ Mean()

template<typename T = double>
double ns3::Average< T >::Mean ( ) const
inline

Sample estimate of mean, alias to Avg.

Returns
the average of the sample

Definition at line 96 of file average.h.

References ns3::Average< T >::Avg().

Referenced by OneIntegerAverageTestCase::DoRun(), FiveIntegersAverageTestCase::DoRun(), and FiveDoublesAverageTestCase::DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Min()

template<typename T = double>
T ns3::Average< T >::Min ( ) const
inline

Sample minimum.

Returns
the minimum of the sample

Definition at line 81 of file average.h.

References ns3::Average< T >::m_min.

Referenced by OneIntegerAverageTestCase::DoRun(), FiveIntegersAverageTestCase::DoRun(), FiveDoublesAverageTestCase::DoRun(), and ns3::V4Ping::StopApplication().

+ Here is the caller graph for this function:

◆ Reset()

template<typename T = double>
void ns3::Average< T >::Reset ( void  )
inline

Reset statistics.

Definition at line 62 of file average.h.

References ns3::Average< T >::m_max, ns3::Average< T >::m_min, ns3::Average< T >::m_size, ns3::Average< T >::m_varianceCalculator, max, and ns3::MinMaxAvgTotalCalculator< T >::Reset().

+ Here is the call graph for this function:

◆ Stddev()

template<typename T = double>
double ns3::Average< T >::Stddev ( ) const
inline

Sample standard deviation.

Returns
the standard deviation

Definition at line 106 of file average.h.

References ns3::Average< T >::Var().

Referenced by OneIntegerAverageTestCase::DoRun(), FiveIntegersAverageTestCase::DoRun(), FiveDoublesAverageTestCase::DoRun(), and ns3::V4Ping::StopApplication().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Update()

template<typename T = double>
void ns3::Average< T >::Update ( T const &  x)
inline

Add new sample.

Parameters
xThe sample

Definition at line 52 of file average.h.

References ns3::Average< T >::m_max, ns3::Average< T >::m_min, ns3::Average< T >::m_size, ns3::Average< T >::m_varianceCalculator, max, min, ns3::MinMaxAvgTotalCalculator< T >::Update(), and sample-rng-plot::x.

Referenced by OneIntegerAverageTestCase::DoRun(), FiveIntegersAverageTestCase::DoRun(), FiveDoublesAverageTestCase::DoRun(), and ns3::V4Ping::Receive().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Var()

template<typename T = double>
double ns3::Average< T >::Var ( ) const
inline

Sample unbiased nbiased estimate of variance.

Returns
the unbiased nbiased estimate of variance

Definition at line 101 of file average.h.

References ns3::MinMaxAvgTotalCalculator< T >::getVariance(), and ns3::Average< T >::m_varianceCalculator.

Referenced by OneIntegerAverageTestCase::DoRun(), FiveIntegersAverageTestCase::DoRun(), FiveDoublesAverageTestCase::DoRun(), ns3::Average< T >::Error90(), ns3::Average< T >::Error95(), ns3::Average< T >::Error99(), and ns3::Average< T >::Stddev().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_max

template<typename T = double>
T ns3::Average< T >::m_max
private

Maximum value observed.

Definition at line 152 of file average.h.

Referenced by ns3::Average< T >::Max(), ns3::Average< T >::Reset(), and ns3::Average< T >::Update().

◆ m_min

template<typename T = double>
T ns3::Average< T >::m_min
private

Minimum value observed.

Definition at line 151 of file average.h.

Referenced by ns3::Average< T >::Min(), ns3::Average< T >::Reset(), and ns3::Average< T >::Update().

◆ m_size

template<typename T = double>
uint32_t ns3::Average< T >::m_size
private

Number of sampled data.

Definition at line 150 of file average.h.

Referenced by ns3::Average< T >::Count(), ns3::Average< T >::Reset(), and ns3::Average< T >::Update().

◆ m_varianceCalculator

template<typename T = double>
MinMaxAvgTotalCalculator<double> ns3::Average< T >::m_varianceCalculator
private

Variance calculator.

Definition at line 153 of file average.h.

Referenced by ns3::Average< T >::Avg(), ns3::Average< T >::Reset(), ns3::Average< T >::Update(), and ns3::Average< T >::Var().


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