diff options
Diffstat (limited to 'progs/perf/common.c')
-rw-r--r-- | progs/perf/common.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/progs/perf/common.c b/progs/perf/common.c index 695b8a99d9d..722f4b7b454 100644 --- a/progs/perf/common.c +++ b/progs/perf/common.c @@ -113,3 +113,21 @@ PerfMeasureRate(PerfRateFunc f) } +/* Note static buffer, can only use once per printf. + */ +const char * +PerfHumanFloat( double d ) +{ + static char buf[80]; + + if (d > 1000000000.0) + snprintf(buf, sizeof(buf), "%.1f billion", d / 1000000000.0); + else if (d > 1000000.0) + snprintf(buf, sizeof(buf), "%.1f million", d / 1000000.0); + else if (d > 1000.0) + snprintf(buf, sizeof(buf), "%.1f thousand", d / 1000.0); + else + snprintf(buf, sizeof(buf), "%.1f", d); + + return buf; +} |