My Project
std
osl
stat
variance.h
Go to the documentation of this file.
1
/* variance.h
2
*/
3
#ifndef _VARIANCE_H
4
#define _VARIANCE_H
5
6
#include "
osl/stat/average.h
"
7
namespace
osl
8
{
9
namespace
stat
10
{
14
class
Variance
:
private
Average
15
{
16
double
m_variance
;
17
typedef
Average
base_t
;
18
public
:
19
// CREATORS
20
Variance
() :
m_variance
(0)
21
{
22
}
23
// MANIPULATORS
24
void
add
(
const
double
& x)
25
{
26
const
double
diff =
base_t::add
(x);
27
const
double
adjuster
28
=
static_cast<
double
>
(
numElements
()-1)/
numElements
();
29
m_variance
+= diff*diff*adjuster;
30
}
31
32
// ACCESSORS
33
double
variance
()
const
{
return
m_variance
/
numElements
(); }
34
using
base_t::average
;
35
using
base_t::numElements
;
36
};
37
}
// namespace stat
38
using
stat::Average;
39
}
// namespace osl
40
41
42
#endif
/* _VARIANCE_H */
43
// ;;; Local Variables:
44
// ;;; mode:c++
45
// ;;; c-basic-offset:2
46
// ;;; End:
average.h
osl::stat::Average
incrementaly maintain average of data sequence
Definition
average.h:14
osl::stat::Average::add
double add(const double &x)
Add an element x.
Definition
average.h:27
osl::stat::Average::average
double average() const
Definition
average.h:48
osl::stat::Average::numElements
int numElements() const
Definition
average.h:49
osl::stat::Variance
incrementaly maintain average and variance of data sequence
Definition
variance.h:15
osl::stat::Variance::base_t
Average base_t
Definition
variance.h:17
osl::stat::Variance::add
void add(const double &x)
Definition
variance.h:24
osl::stat::Variance::Variance
Variance()
Definition
variance.h:20
osl::stat::Variance::variance
double variance() const
Definition
variance.h:33
osl::stat::Variance::m_variance
double m_variance
Definition
variance.h:16
osl::stat::Variance::numElements
int numElements() const
Definition
average.h:49
osl
Definition
additionalEffect.h:6
Generated by
1.9.8