HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nanovdb::Stats< ValueT, 1 > 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 <GridStats.h>

+ Inheritance diagram for nanovdb::Stats< ValueT, 1 >:

Public Types

using ValueType = ValueT
 

Public Member Functions

__hostdev__ Stats ()
 
__hostdev__ Statsadd (const ValueT &val)
 Add a single sample. More...
 
__hostdev__ Statsadd (const ValueT &val, uint64_t n)
 Add n samples with constant value val. More...
 
__hostdev__ Statsadd (const Stats &other)
 Add the samples from the other Stats instance. More...
 
__hostdev__ size_t size () const
 
template<typename NodeT >
__hostdev__ void setStats (NodeT &node) const
 
__hostdev__ double avg () const
 Return the arithmetic mean, i.e. average, value. More...
 
__hostdev__ double mean () const
 Return the arithmetic mean, i.e. average, value. More...
 
__hostdev__ double var () const
 Return the population variance. More...
 
__hostdev__ double variance () const
 Return the population variance. More...
 
__hostdev__ double std () const
 Return the standard deviation (=Sqrt(variance)) as defined from the (biased) population variance. More...
 
__hostdev__ double stdDev () const
 Return the standard deviation (=Sqrt(variance)) as defined from the (biased) population variance. More...
 

Static Public Member Functions

static __hostdev__ constexpr bool hasMinMax ()
 
static __hostdev__ constexpr bool hasAverage ()
 
static __hostdev__ constexpr bool hasStdDeviation ()
 
static __hostdev__ constexpr bool hasStats ()
 

Protected Types

using BaseT = Extrema< ValueT, 1 >
 
using RealT = double
 

Protected Attributes

size_t mSize
 
double mAvg
 
double mAux
 

Detailed Description

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

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.

Definition at line 338 of file GridStats.h.

Member Typedef Documentation

template<typename ValueT >
using nanovdb::Stats< ValueT, 1 >::BaseT = Extrema<ValueT, 1>
protected

Definition at line 341 of file GridStats.h.

template<typename ValueT >
using nanovdb::Stats< ValueT, 1 >::RealT = double
protected

Definition at line 342 of file GridStats.h.

template<typename ValueT >
using nanovdb::Stats< ValueT, 1 >::ValueType = ValueT

Definition at line 347 of file GridStats.h.

Constructor & Destructor Documentation

template<typename ValueT >
__hostdev__ nanovdb::Stats< ValueT, 1 >::Stats ( )
inline

Definition at line 348 of file GridStats.h.

Member Function Documentation

template<typename ValueT >
__hostdev__ Stats& nanovdb::Stats< ValueT, 1 >::add ( const ValueT &  val)
inline

Add a single sample.

Definition at line 356 of file GridStats.h.

template<typename ValueT >
__hostdev__ Stats& nanovdb::Stats< ValueT, 1 >::add ( const ValueT &  val,
uint64_t  n 
)
inline

Add n samples with constant value val.

Definition at line 367 of file GridStats.h.

template<typename ValueT >
__hostdev__ Stats& nanovdb::Stats< ValueT, 1 >::add ( const Stats< ValueT, 1 > &  other)
inline

Add the samples from the other Stats instance.

Definition at line 380 of file GridStats.h.

template<typename ValueT >
__hostdev__ double nanovdb::Stats< ValueT, 1 >::avg ( ) const
inline

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

Definition at line 402 of file GridStats.h.

template<typename ValueT >
static __hostdev__ constexpr bool nanovdb::Stats< ValueT, 1 >::hasAverage ( )
inlinestatic

Definition at line 394 of file GridStats.h.

template<typename ValueT >
static __hostdev__ constexpr bool nanovdb::Stats< ValueT, 1 >::hasMinMax ( )
inlinestatic

Definition at line 393 of file GridStats.h.

template<typename ValueT >
static __hostdev__ constexpr bool nanovdb::Stats< ValueT, 1 >::hasStats ( )
inlinestatic

Definition at line 396 of file GridStats.h.

template<typename ValueT >
static __hostdev__ constexpr bool nanovdb::Stats< ValueT, 1 >::hasStdDeviation ( )
inlinestatic

Definition at line 395 of file GridStats.h.

template<typename ValueT >
__hostdev__ double nanovdb::Stats< ValueT, 1 >::mean ( ) const
inline

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

Definition at line 403 of file GridStats.h.

template<typename ValueT >
template<typename NodeT >
__hostdev__ void nanovdb::Stats< ValueT, 1 >::setStats ( NodeT &  node) const
inline

Definition at line 422 of file GridStats.h.

template<typename ValueT >
__hostdev__ size_t nanovdb::Stats< ValueT, 1 >::size ( void  ) const
inline

Definition at line 398 of file GridStats.h.

template<typename ValueT >
__hostdev__ double nanovdb::Stats< ValueT, 1 >::std ( ) const
inline

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

Definition at line 417 of file GridStats.h.

template<typename ValueT >
__hostdev__ double nanovdb::Stats< ValueT, 1 >::stdDev ( ) const
inline

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

Definition at line 418 of file GridStats.h.

template<typename ValueT >
__hostdev__ double nanovdb::Stats< ValueT, 1 >::var ( ) const
inline

Return the population variance.

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

Definition at line 410 of file GridStats.h.

template<typename ValueT >
__hostdev__ double nanovdb::Stats< ValueT, 1 >::variance ( ) const
inline

Return the population variance.

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

Definition at line 411 of file GridStats.h.

Member Data Documentation

template<typename ValueT >
double nanovdb::Stats< ValueT, 1 >::mAux
protected

Definition at line 344 of file GridStats.h.

template<typename ValueT >
double nanovdb::Stats< ValueT, 1 >::mAvg
protected

Definition at line 344 of file GridStats.h.

template<typename ValueT >
size_t nanovdb::Stats< ValueT, 1 >::mSize
protected

Definition at line 343 of file GridStats.h.


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