This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
Indoor/math/stats/Average.h
frank da477866c1 worked on wifi-scanner for linux
new time-grouping for vap grouper
adjusted test-cases
minor changes/fixes/improvements
2017-10-11 14:00:24 +02:00

44 lines
558 B
C++

#ifndef AVERAGE_H
#define AVERAGE_H
#include "../../Assertions.h"
namespace Stats {
template <typename Scalar> class Average {
private:
int cnt;
Scalar sum;
public:
/** ctor */
Average() : cnt(0), sum() {
;
}
/** contains a valid average? */
bool isValid() const {
return cnt > 0;
}
/** add a new value */
void add(const Scalar val) {
sum += val;
++cnt;
}
/** get the current value */
Scalar get() const {
Assert::isNot0(cnt, "add() values first!");
return sum / cnt;
}
};
}
#endif // AVERAGE_H