Loading...
Searching...
No Matches
Stats< ValueT, 0 > Class Template Reference

This class computes statistics (minimum value, maximum value, mean, variance and standard deviation) of a population of floating-point values. More...

`#include <nanovdb/util/GridStats.h>`

Inheritance diagram for Stats< ValueT, 0 >:

## Public Types

using | ValueType = ValueT

## Public Member Functions

| Stats ()
| Stats (const ValueT &val)
Stats & | add (const ValueT &val)
| Add a single sample.
Stats & | add (const ValueT &val, uint64_t n)
| Add n samples with constant value val.
Stats & | add (const Stats &other)
| Add the samples from the other Stats instance.
size_t | size () const
double | avg () const
| Return the arithmetic mean, i.e. average, value.
double | mean () const
double | var () const
| Return the population variance.
double | variance () const
double | std () const
| Return the standard deviation (=Sqrt(variance)) as defined from the (biased) population variance.
double | stdDev () const
Extrema & | min (const ValueT &v)
const ValueT & | min () const
Extrema & | max (const ValueT &v)
const ValueT & | max () const
Extrema & | add (const Extrema &other)
| operator bool () const

## Static Public Member Functions

static constexpr bool | hasMinMax ()
static constexpr bool | hasAverage ()
static constexpr bool | hasStdDeviation ()
static constexpr size_t | size ()

## Protected Types

using | BaseT = Extrema<ValueT, 0>
using | RealT = double

## Protected Attributes

size_t | mSize
double | mAvg
double | mAux
ValueT | mMin
ValueT | mMax

## Detailed Description

template<typename ValueT>
class nanovdb::Stats< ValueT, 0 >

This class computes statistics (minimum value, maximum value, mean, variance and standard deviation) of a population of floating-point values.

variance = Mean[ (X-Mean[X])^2 ] = Mean[X^2] - Mean[X]^2, standard deviation = sqrt(variance)

Note
  This class employs incremental computation and double precision.

## Member Typedef Documentation

## BaseT

template<typename ValueT>

using BaseT = Extrema<ValueT, 0>

protected

## RealT

template<typename ValueT>

using RealT = double

protected

## ValueType

template<typename ValueT>

using ValueType = ValueT

## Constructor & Destructor Documentation

## Stats() [1/2]

template<typename ValueT>

Stats | ( |  | ) |

inline

## Stats() [2/2]

template<typename ValueT>

Stats | ( | const ValueT & | val | ) |

inline

## Member Function Documentation

## add() [1/4]

template<typename ValueT>

Extrema & add | ( | const Extrema< ValueT, 0 > & | other | ) |

inline inherited

## add() [2/4]

template<typename ValueT>

Stats & add | ( | const Stats< ValueT, 0 > & | other | ) |

inline

Add the samples from the other Stats instance.

## add() [3/4]

template<typename ValueT>

Stats & add | ( | const ValueT & | val | ) |

inline

Add a single sample.

## add() [4/4]

template<typename ValueT>

Stats & add | ( | const ValueT & | val,
|  | uint64_t | n )

inline

Add n samples with constant value val.

## avg()

template<typename ValueT>

double avg | ( |  | ) | const

inline

Return the arithmetic mean, i.e. average, value.

## hasAverage()

template<typename ValueT>

constexpr bool hasAverage | ( |  | ) |

inline static constexpr

## hasMinMax()

template<typename ValueT>

constexpr bool hasMinMax | ( |  | ) |

inline static constexpr

## hasStdDeviation()

template<typename ValueT>

constexpr bool hasStdDeviation | ( |  | ) |

inline static constexpr

## max() [1/2]

template<typename ValueT>

const ValueT & max | ( |  | ) | const

inline inherited

## max() [2/2]

template<typename ValueT>

Extrema & max | ( | const ValueT & | v | ) |

inline inherited

## mean()

template<typename ValueT>

double mean | ( |  | ) | const

inline

## min() [1/2]

template<typename ValueT>

const ValueT & min | ( |  | ) | const

inline inherited

## min() [2/2]

template<typename ValueT>

Extrema & min | ( | const ValueT & | v | ) |

inline inherited

## operator bool()

template<typename ValueT>

operator bool | ( |  | ) | const

inline inherited

## size() [1/2]

template<typename ValueT>

constexpr size_t size | ( |  | ) |

inline static constexpr inherited

## size() [2/2]

template<typename ValueT>

size_t size | ( |  | ) | const

inline

## std()

template<typename ValueT>

double std | ( |  | ) | const

inline

Return the standard deviation (=Sqrt(variance)) as defined from the (biased) population variance.

## stdDev()

template<typename ValueT>

double stdDev | ( |  | ) | const

inline

## var()

template<typename ValueT>

double var | ( |  | ) | const

inline

Return the population variance.

Note
  The unbiased sample variance = population variance * num/(num-1)

## variance()

template<typename ValueT>

double variance | ( |  | ) | const

inline

## Member Data Documentation

## mAux

template<typename ValueT>

double mAux

protected

## mAvg

template<typename ValueT>

double mAvg

protected

## mMax

template<typename ValueT>

ValueT mMax

protected inherited

## mMin

template<typename ValueT>

ValueT mMin

protected inherited

## mSize

template<typename ValueT>

size_t mSize

protected