My Project
std
osl
stat
average.h
Go to the documentation of this file.
1
/* average.h
2
*/
3
#ifndef _AVERAGE_H
4
#define _AVERAGE_H
5
6
namespace
osl
7
{
8
namespace
stat
9
{
13
class
Average
14
{
15
double
mean
;
16
int
elements
;
17
public
:
18
// CREATORS
19
Average
() :
mean
(0),
elements
(0)
20
{
21
}
22
// MANIPULATORS
27
double
add
(
const
double
& x)
28
{
29
++
elements
;
30
const
double
diff = x -
mean
;
31
mean
+= diff/
elements
;
32
return
diff;
33
}
34
void
merge
(
const
Average
& r)
35
{
36
if
(r.
elements
== 0)
37
return
;
38
const
double
sum =
mean
*
elements
+ r.
mean
*r.
elements
;
39
elements
+= r.
elements
;
40
mean
= sum /
elements
;
41
}
42
void
clear
(
double
a=0.0,
int
e=0)
43
{
44
mean
= a;
45
elements
= e;
46
}
47
// ACCESSORS
48
double
average
()
const
{
return
mean
; }
49
int
numElements
()
const
{
return
elements
; }
50
};
51
}
// namespace stat
52
using
stat::Average;
53
}
// namespace osl
54
55
56
#endif
/* _AVERAGE_H */
57
// ;;; Local Variables:
58
// ;;; mode:c++
59
// ;;; c-basic-offset:2
60
// ;;; End:
osl::stat::Average::mean
double mean
Definition:
average.h:15
osl::stat::Average::clear
void clear(double a=0.0, int e=0)
Definition:
average.h:42
osl::stat::Average::numElements
int numElements() const
Definition:
average.h:49
osl::stat::Average::merge
void merge(const Average &r)
Definition:
average.h:34
osl::stat::Average
incrementaly maintain average of data sequence
Definition:
average.h:14
osl::stat::Average::elements
int elements
Definition:
average.h:16
osl::stat::Average::Average
Average()
Definition:
average.h:19
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
Definition:
additionalEffect.h:6
Generated by
1.8.20