From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933973AbbLPAzE (ORCPT ); Tue, 15 Dec 2015 19:55:04 -0500 Received: from mga02.intel.com ([134.134.136.20]:14517 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933794AbbLPAyr (ORCPT ); Tue, 15 Dec 2015 19:54:47 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,434,1444719600"; d="scan'208";a="13896333" From: Andi Kleen To: acme@kernel.org, peterz@infradead.org Cc: jolsa@kernel.org, mingo@kernel.org, linux-kernel@vger.kernel.org, eranian@google.com, namhyung@kernel.org, Andi Kleen Subject: [PATCH 03/10] perf, tools, stat: Avoid fractional digits for integer scales Date: Tue, 15 Dec 2015 16:54:19 -0800 Message-Id: <1450227266-2501-4-git-send-email-andi@firstfloor.org> X-Mailer: git-send-email 2.4.3 In-Reply-To: <1450227266-2501-1-git-send-email-andi@firstfloor.org> References: <1450227266-2501-1-git-send-email-andi@firstfloor.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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"; 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