mirror of
https://github.com/google/benchmark.git
synced 2024-11-26 07:32:19 +00:00
Fixes #378 coercion to double was causing counter to forget its flags, changed it so that its value is updated directly
This commit is contained in:
parent
2d1a34626f
commit
1295ce8f23
|
@ -134,7 +134,13 @@ void ConsoleReporter::PrintRunData(const Run& result) {
|
|||
|
||||
for (auto& c : result.counters) {
|
||||
auto const& s = HumanReadableNumber(c.second.value);
|
||||
printer(Out, COLOR_DEFAULT, " %s=%s", c.first.c_str(), s.c_str());
|
||||
if (c.second.flags & Counter::Flags::kIsRate) {
|
||||
std::string counter_rate = StrCat(" ", HumanReadableNumber(c.second.value), " ", c.first.c_str(), "/s");
|
||||
printer(Out, COLOR_DEFAULT, " %*s", 13, counter_rate.c_str());
|
||||
}
|
||||
else {
|
||||
printer(Out, COLOR_DEFAULT, " %s=%s", c.first.c_str(), s.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
if (!rate.empty()) {
|
||||
|
|
|
@ -30,7 +30,7 @@ double Finish(Counter const& c, double cpu_time, double num_threads) {
|
|||
|
||||
void Finish(UserCounters *l, double cpu_time, double num_threads) {
|
||||
for (auto &c : *l) {
|
||||
c.second = Finish(c.second, cpu_time, num_threads);
|
||||
c.second.value = Finish(c.second, cpu_time, num_threads);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -39,7 +39,7 @@ void Increment(UserCounters *l, UserCounters const& r) {
|
|||
for (auto &c : *l) {
|
||||
auto it = r.find(c.first);
|
||||
if (it != r.end()) {
|
||||
c.second = c.second + it->second;
|
||||
c.second.value = c.second + it->second;
|
||||
}
|
||||
}
|
||||
// add counters present in r, but not in *l
|
||||
|
|
Loading…
Reference in a new issue