graph length rounded to nearest integer
authorMischa POSLAWSKY <perl@shiar.org>
Fri, 6 Sep 2019 22:52:43 +0000 (00:52 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Sat, 7 Sep 2019 00:07:24 +0000 (02:07 +0200)
Even distribution, and fixes unexpected overflows due to inexact float
representation after size calculation (round decimals being decremented).

graph

diff --git a/graph b/graph
index ea17d4538eafe629e45323dae754ca4d3cea40e7..1a70964c320bc2b66fc0abb8ca09112a0e675656 100755 (executable)
--- a/graph
+++ b/graph
@@ -123,7 +123,7 @@ while ($nr <= $#lines) {
        }
        my $line = $lines[$nr] =~ s/\n/$val/r;
        printf '%-*s', $len + length($val), $line;
-       print $barmark[$_] // '-' for 1 .. $size && (($values[$nr] || 0) - $minval) * $size;
+       print $barmark[$_] // '-' for 1 .. $size && (($values[$nr] || 0) - $minval) * $size + .5;
        say '';
        $nr++;
 }