Hack to enable perl totaling of standard deviation statistics.
authorLisa Hsu <hsul@eecs.umich.edu>
Tue, 4 Nov 2003 23:19:03 +0000 (18:19 -0500)
committerLisa Hsu <hsul@eecs.umich.edu>
Tue, 4 Nov 2003 23:19:03 +0000 (18:19 -0500)
statistics.hh:
same
statistics.cc:
Hack to enable perl totaling.
make FancyDisplay print a total parameter to enable totaling standard deviations for bins after a run is over with perl.  currently a total hack.

base/statistics.cc:
    Hack to enable perl totaling.

    make FancyDisplay print a total parameter to enable totaling standard deviations for bins after a run is over with perl.  currently a total hack.
base/statistics.hh:
    same

--HG--
extra : convert_revision : c4087a138543e66acee4e395617ce7fd7e458a39

base/statistics.cc
base/statistics.hh

index fbb056498956ea34eed02f41126a750461e93692..e02c48f69e9d03dfee4da595896835b2363edefc 100644 (file)
@@ -879,14 +879,18 @@ DistDisplay(ostream &stream, const string &name, const string &desc,
 }
 #endif
 
+/**
+ * @todo  get rid of the ugly hack **Ignore for total
+ */
 void
 FancyDisplay(ostream &stream, const string &name, const string &desc,
              int precision, FormatFlags flags, result_t mean,
-             result_t variance)
+             result_t variance, result_t total)
 {
     result_t stdev = isnan(variance) ? NAN : sqrt(variance);
     PrintOne(stream, mean, name + NAMESEP + "mean", desc, precision, flags);
     PrintOne(stream, stdev, name + NAMESEP + "stdev", desc, precision, flags);
+    PrintOne(stream, total, "**Ignore: " + name + NAMESEP + "TOT", desc, precision, flags);
 }
 
 BinBase::BinBase()
index aa348972786d44c0e51b4b745c675be028c641a0..fc32527822937d2ab4330dfb23e752cd00545467 100644 (file)
@@ -1309,7 +1309,7 @@ struct DistStor
 
 void FancyDisplay(std::ostream &stream, const std::string &name,
                   const std::string &desc, int precision, FormatFlags flags,
-                  result_t mean, result_t variance);
+                  result_t mean, result_t variance, result_t total);
 
 /**
  * Templatized storage and interface for a distribution that calculates mean
@@ -1369,16 +1369,16 @@ struct FancyStor
         result_t mean = NAN;
         result_t variance = NAN;
 
+                result_t ftot = total;
         if (total != 0) {
             result_t fsum = sum;
             result_t fsq = squares;
-            result_t ftot = total;
 
             mean = fsum / ftot;
             variance = (ftot * fsq - (fsum * fsum)) / (ftot * (ftot - 1.0));
         }
 
-        FancyDisplay(stream, name, desc, precision, flags, mean, variance);
+        FancyDisplay(stream, name, desc, precision, flags, mean, variance, ftot);
     }
 
     /**