On Fri, May 13, 2016 at 06:44:55PM -0700, Andi Kleen wrote: > From: Andi Kleen <a...@linux.intel.com> > > When the scaling factor is a full integer don't display fractional > digits. This avoids unnecessary .00 output for topdown metrics > with scale factors. > > v2: Remove redundant check. > Signed-off-by: Andi Kleen <a...@linux.intel.com>
Acked-by: Jiri Olsa <jo...@kernel.org> thanks, jirka > --- > tools/perf/builtin-stat.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c > index 5645a8361de6..db84bfc0a478 100644 > --- a/tools/perf/builtin-stat.c > +++ b/tools/perf/builtin-stat.c > @@ -66,6 +66,7 @@ > #include <stdlib.h> > #include <sys/prctl.h> > #include <locale.h> > +#include <math.h> > > #define DEFAULT_SEPARATOR " " > #define CNTR_NOT_SUPPORTED "<not supported>" > @@ -986,12 +987,12 @@ static void abs_printout(int id, int nr, struct > perf_evsel *evsel, double avg) > const char *fmt; > > if (csv_output) { > - fmt = sc != 1.0 ? "%.2f%s" : "%.0f%s"; > + fmt = floor(sc) != sc ? "%.2f%s" : "%.0f%s"; > } else { > if (big_num) > - fmt = sc != 1.0 ? "%'18.2f%s" : "%'18.0f%s"; > + fmt = floor(sc) != sc ? "%'18.2f%s" : "%'18.0f%s"; > else > - fmt = sc != 1.0 ? "%18.2f%s" : "%18.0f%s"; > + fmt = floor(sc) != sc ? "%18.2f%s" : "%18.0f%s"; > } > > aggr_printout(evsel, id, nr); > -- > 2.5.5 >