00001 #include <cmath> 00002 using namespace std; 00003 00004 class Comp { 00005 public: 00006 Comp(double tolerance) : tolerance(tolerance), n(0), sum(0), sum2(0) {} 00007 bool comp(double f1, double f2) { 00008 double diff = f1 - f2; 00009 ++n; 00010 sum += diff; 00011 sum2 += diff * diff; 00012 return (fabs(diff) > tolerance); 00013 } 00014 00015 double mean() {return sum/n;} 00016 double stddev() {return sqrt(sum2/n - mean() * mean());} 00017 00018 private: 00019 double tolerance; 00020 int n; 00021 double sum; 00022 double sum2; 00023 };