gastro  0.1.0
 All Classes Files Functions Variables Pages
accumulator.h
1 #ifndef ACCUMULATOR__H
2 #define ACCUMULATOR__H
3 
4 #include <math.h> // for sqrt
5 
6 
9 {
10 private :
11  double sum;
12  double sum2;
13  int count;
14 
15 public :
16  Accumulator() : sum(0), sum2(0), count(0) {};
17  void AddVal(const double &Val) { sum+= Val; sum2+=Val*Val; count++;}
18  int Count() const {return count;}
19  double Average() const { return sum/count;}
20  double Rms() const
21  {
22  if (count == 0 || count == 1) return 0;
23  return sqrt((sum2 - sum*sum/double(count))/double(count-1));
24  }
25 };
26 
27 
28 #endif /* ACCULULATOR__H */
a class to compute average and rms of a collection.
Definition: accumulator.h:8