From faa01e58cd5b3863bc5891c25176ea0ae2d71679 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Antoine=20Beaupr=C3=A9?= Date: Mon, 2 Dec 2013 22:57:00 -0500 Subject: [PATCH] rework scaling algorithm so it covers the whole range i did this after some stress testing, now it covers the whole range on input --- src/oping.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/oping.c b/src/oping.c index a630b8d..ccaafe0 100644 --- a/src/oping.c +++ b/src/oping.c @@ -665,23 +665,23 @@ static int update_stats_from_context (ping_context_t *ctx, pingobj_iter_t *iter) ratio = latency / PING_DEF_TTL; if (ratio > 1) { - ratio = 1; + ratio = 1.0; } - if (ratio > 2/3.0) { - color = OPING_RED_HIST; - } - else if (ratio > 1/3.0) { + index = (int) ((ratio * BARS_LEN * 3) -1); /* 3 colors */ + if (index >= BARS_LEN) { color = OPING_YELLOW_HIST; } - index = (int) (ratio * BARS_LEN * 3); /* 3 colors */ + if (index >= 2*BARS_LEN) { + color = OPING_RED_HIST; + } /* HOST_PRINTF ("%%r%f-ia%d-", ratio, index); */ - index = index % (BARS_LEN-1); + index = index % BARS_LEN; /* HOST_PRINTF ("im%d-", index); */ if (index < 0) { index = 0; /* safety check */ } if (index >= BARS_LEN) { - index = BARS_LEN -1; /* safety check */ + index = BARS_LEN - 1; /* safety check */ } wattron (ctx->window, COLOR_PAIR(color)); mvwprintw (ctx->window, -- 2.30.2