#include #include #include "stat.h" Stat::Stat() { n = 0; x = 0; x2 = 0; minX = 0; maxX = 0; } Stat::~Stat() { } void Stat::add(double val) { n++; x += val; x2 += val * val; if (n == 1) { minX = val; maxX = val; } else if (val > maxX) maxX = val; else if (val < minX) minX = val; } double Stat::get_mean() { if (n > 0) return x / n; return 0; } /* double Stat::get_std() { return 0; } */ double Stat::get_min() { return minX; } double Stat::get_max() { return maxX; } ostream& operator<< (ostream &os, const Stat &obj) { // os << "Mean: " << obj.get_mean() << endl; // os << "Min : " << obj.get_min() << endl; // os << "Max : " << obj.get_max() << endl; os << "Mean : " << obj.x / obj.n << endl; os << "Min : " << obj.minX << endl; os << "Max : " << obj.maxX << endl; return os; }