From: Lisa Hsu Date: Tue, 4 Nov 2003 23:19:03 +0000 (-0500) Subject: Hack to enable perl totaling of standard deviation statistics. X-Git-Tag: m5_1.0_beta2~294^2 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=16d0b2f85ac8527895df09235124798ad6518779;p=gem5.git 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 --- diff --git a/base/statistics.cc b/base/statistics.cc index fbb056498..e02c48f69 100644 --- a/base/statistics.cc +++ b/base/statistics.cc @@ -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() diff --git a/base/statistics.hh b/base/statistics.hh index aa3489727..fc3252782 100644 --- a/base/statistics.hh +++ b/base/statistics.hh @@ -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); } /**