Hack to enable perl totaling of standard deviation statistics.

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
This commit is contained in:
Lisa Hsu 2003-11-04 18:19:03 -05:00
parent 553df008cf
commit 16d0b2f85a
2 changed files with 8 additions and 4 deletions

View file

@ -879,14 +879,18 @@ DistDisplay(ostream &stream, const string &name, const string &desc,
} }
#endif #endif
/**
* @todo get rid of the ugly hack **Ignore for total
*/
void void
FancyDisplay(ostream &stream, const string &name, const string &desc, FancyDisplay(ostream &stream, const string &name, const string &desc,
int precision, FormatFlags flags, result_t mean, int precision, FormatFlags flags, result_t mean,
result_t variance) result_t variance, result_t total)
{ {
result_t stdev = isnan(variance) ? NAN : sqrt(variance); result_t stdev = isnan(variance) ? NAN : sqrt(variance);
PrintOne(stream, mean, name + NAMESEP + "mean", desc, precision, flags); PrintOne(stream, mean, name + NAMESEP + "mean", desc, precision, flags);
PrintOne(stream, stdev, name + NAMESEP + "stdev", desc, precision, flags); PrintOne(stream, stdev, name + NAMESEP + "stdev", desc, precision, flags);
PrintOne(stream, total, "**Ignore: " + name + NAMESEP + "TOT", desc, precision, flags);
} }
BinBase::BinBase() BinBase::BinBase()

View file

@ -1309,7 +1309,7 @@ struct DistStor
void FancyDisplay(std::ostream &stream, const std::string &name, void FancyDisplay(std::ostream &stream, const std::string &name,
const std::string &desc, int precision, FormatFlags flags, 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 * Templatized storage and interface for a distribution that calculates mean
@ -1369,16 +1369,16 @@ struct FancyStor
result_t mean = NAN; result_t mean = NAN;
result_t variance = NAN; result_t variance = NAN;
result_t ftot = total;
if (total != 0) { if (total != 0) {
result_t fsum = sum; result_t fsum = sum;
result_t fsq = squares; result_t fsq = squares;
result_t ftot = total;
mean = fsum / ftot; mean = fsum / ftot;
variance = (ftot * fsq - (fsum * fsum)) / (ftot * (ftot - 1.0)); 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);
} }
/** /**