summaryrefslogtreecommitdiff
path: root/base/statistics.cc
diff options
context:
space:
mode:
Diffstat (limited to 'base/statistics.cc')
-rw-r--r--base/statistics.cc34
1 files changed, 20 insertions, 14 deletions
diff --git a/base/statistics.cc b/base/statistics.cc
index 5f21e4de7..1ffbeb690 100644
--- a/base/statistics.cc
+++ b/base/statistics.cc
@@ -265,19 +265,27 @@ Database::check()
void
Database::reset()
{
- list<GenBin *>::iterator bi = bins.begin();
- list<GenBin *>::iterator be = bins.end();
list_t::iterator i = allStats.begin();
list_t::iterator end = allStats.end();
-
- while (bi != be) {
- (*bi)->activate();
-
- while (i != end) {
- (*i)->reset();
+ while (i != end) {
+ Stat *stat = *i;
+ stat->reset();
++i;
- }
- ++bi;
+ }
+
+ list<GenBin *>::iterator bi = bins.begin();
+ list<GenBin *>::iterator be = bins.end();
+ while (bi != be) {
+ GenBin *bin = *bi;
+ bin->activate();
+
+ i = allStats.begin();
+ while (i != end) {
+ Stat *stat = *i;
+ stat->reset();
+ ++i;
+ }
+ ++bi;
}
}
@@ -736,7 +744,7 @@ VectorDisplay(std::ostream &stream,
_pdf = vec[i] / _total;
_cdf += _pdf;
} else {
- _pdf = _cdf = 0.0;
+ _pdf = _cdf = NAN;
}
if (!(myflags & cdf)) {
PrintOne(stream, vec[i], subname, subdesc, myprecision,
@@ -768,10 +776,8 @@ VectorDisplay(std::ostream &stream,
_pdf = vec[i] / _total;
_cdf += _pdf;
} else {
- _pdf = _cdf = 0.0;
+ _pdf = _cdf = NAN;
}
- _pdf = vec[i] / _total;
- _cdf += _pdf;
PrintOne(stream, vec[i], name, mydesc, myprecision,
myflags, _pdf, _cdf);
}