From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933976AbbLPOWs (ORCPT ); Wed, 16 Dec 2015 09:22:48 -0500 Received: from mail-wm0-f54.google.com ([74.125.82.54]:38895 "EHLO mail-wm0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932907AbbLPOWr (ORCPT ); Wed, 16 Dec 2015 09:22:47 -0500 MIME-Version: 1.0 In-Reply-To: <1450227266-2501-4-git-send-email-andi@firstfloor.org> References: <1450227266-2501-1-git-send-email-andi@firstfloor.org> <1450227266-2501-4-git-send-email-andi@firstfloor.org> Date: Wed, 16 Dec 2015 06:22:46 -0800 Message-ID: Subject: Re: [PATCH 03/10] perf, tools, stat: Avoid fractional digits for integer scales From: Stephane Eranian To: Andi Kleen Cc: Arnaldo Carvalho de Melo , Peter Zijlstra , Jiri Olsa , Ingo Molnar , LKML , Namhyung Kim , Andi Kleen Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Dec 15, 2015 at 4:54 PM, Andi Kleen wrote: > From: Andi Kleen > > When the scaling factor is a full integer don't display fractional > digits. This avoids unnecessary .00 output for topdown metrics > with scale factors. > > Signed-off-by: Andi Kleen > --- > 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 0c7cdda..1faa6fc 100644 > --- a/tools/perf/builtin-stat.c > +++ b/tools/perf/builtin-stat.c > @@ -63,6 +63,7 @@ > #include > #include > #include > +#include > > #define DEFAULT_SEPARATOR " " > #define CNTR_NOT_SUPPORTED "" > @@ -739,12 +740,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 = sc != 1.0 && floor(sc) != sc ? "%.2f%s" : "%.0f%s"; > } else { > if (big_num) > - fmt = sc != 1.0 ? "%'18.2f%s" : "%'18.0f%s"; > + fmt = sc != 1.0 && floor(sc) != sc ? "%'18.2f%s" : "%'18.0f%s"; if sc is 1.0 then floor(sc) == sc and you'd get the else branch as well, so you probably do not need the sc != 1.0 test anymore. > else > - fmt = sc != 1.0 ? "%18.2f%s" : "%18.0f%s"; > + fmt = sc != 1.0 && floor(sc) != sc ? "%18.2f%s" : "%18.0f%s"; > } > > aggr_printout(evsel, id, nr); > -- > 2.4.3 >