weighted percentile interpolation
authorMischa POSLAWSKY <perl@shiar.org>
Wed, 7 Dec 2022 21:55:54 +0000 (22:55 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 12 Dec 2022 22:56:34 +0000 (23:56 +0100)
Proper interpolation of values not on exact halves.

43 files changed:
barcat
t/t1001-seq.out
t/t1002-sinewave.out
t/t1006-unvalued.out
t/t1008-unicode.out
t/t1100-aligned.out
t/t1101-wow_much_length.out
t/t1102-strip_contents.out
t/t1103-only_separators.out
t/t1104-abbreviate_contents.out
t/t1105-length_percentage.out
t/t1106-forced_length.out
t/t1200-unaligned.out
t/t1202-abbreviate_total.out
t/t1260-powers_of_ten.out
t/t1261-binary_powers.out
t/t1300-field_number.out
t/t1421-sexy_time.out
t/t1502-start_limit.out
t/t1506-limit_both_ways.out
t/t1522-count_tail.out
t/t1524-count_negative_limits.out
t/t1603-added_statistics.out
t/t1662-uniq_words.out
t/t1664-uniq_first_column.out
t/t1666-uniq_last_column.out
t/t1668-uniq_regex.out
t/t1669-uniq_capture.out
t/t1672-missing_uniq.out
t/t1673-uniq_abbreviated.out
t/t1704-input_separator.out
t/t1705-input_twice.out
t/t1707-stdin.out
t/t1712-value_parameters.out
t/t1713-negative_value.out
t/t1722-mixed_options.out
t/t1806-reset_uniq.out
t/t2120-prefixed.out
t/t2122-outcommented.out
t/t2201-ascii.out
t/t2220-starry_line.out
t/t2221-unicode_line.out
t/t2265-percentile_markers.out

diff --git a/barcat b/barcat
index 08b3db2f9a5d00e5ce6d7efbfecbfdf291fd090a..655f386aa0dc52633ce9cccf778ddabd789708b5 100755 (executable)
--- a/barcat
+++ b/barcat
@@ -423,7 +423,13 @@ sub calc {
                        "percentile $1 out of bounds\n"
                );
                my $index = $#order * $1 / 100;
                        "percentile $1 out of bounds\n"
                );
                my $index = $#order * $1 / 100;
-               return ($order[$index] + $order[$index + .5]) / 2;
+               my $f = $index - int $index;
+               my $val = $order[$index];
+               if ($f) {
+                       my $next = $order[$index + 1];
+                       $val -= $f * ($val - $next);
+               }
+               return $val;
        }
        elsif ($func =~ /\A-?[0-9.]+\z/) {
                return $func;
        }
        elsif ($func =~ /\A-?[0-9.]+\z/) {
                return $func;
@@ -638,10 +644,13 @@ For example C<:/1> for a grid at every integer.
 
 =item I<percentage>B<v>
 
 
 =item I<percentage>B<v>
 
-Ranked value at the given percentile.
-The default shows C<+> at C<50v> for the mean or median;
-the middle value or average between middle values.
-One standard deviation right of the mean is at about C<68.3v>.
+Ranked value at the given percentile,
+or score at or below which a percentage falls
+in its frequency distribution (inclusive).
+
+The default shows C<+> at C<50v> for the mean or median:
+the middle value or interpolation between two values.
+One standard deviation below the median is at about C<68v>.
 The default includes C<< >31.73v <68.27v >>
 to encompass all I<normal> results, or 68% of all entries, by I<< <--> >>.
 
 The default includes C<< >31.73v <68.27v >>
 to encompass all I<normal> results, or 68% of all entries, by I<< <--> >>.
 
index 5bfeb7b674a1a7a3dfcf061fa72425cf07b67a83..5949515f5a68224cc1ff721bcdf22c5e839ab749 100644 (file)
@@ -1,4 +1,4 @@
 barcat input/seq3.txt
 1 -------------
 barcat input/seq3.txt
 1 -------------
-2 ------------------------+
-3 ------------------------+------>------
+2 --------------------<---+
+3 --------------------<---+---->--------
index a38a1204674c36697541682297f101eba885159a..e4d19c678a7a9b3216fb028dc6cd64f3446ea68f 100644 (file)
@@ -4,27 +4,27 @@ barcat input/intsine.txt
 2955 ----------
 3894 --------------
 4794 -----------------
 2955 ----------
 3894 --------------
 4794 -----------------
-5646 ------------------<-
-6442 ------------------<---=
-7174 ------------------<---=--
-7833 ------------------<---=--+-
-8415 ------------------<---=--+---
-8912 ------------------<---=--+---->
-9320 ------------------<---=--+---->--
-9636 ------------------<---=--+---->---
-9855 ------------------<---=--+---->----
-9975 ------------------<---=--+---->----
-9996 ------------------<---=--+---->----
-9917 ------------------<---=--+---->----
-9738 ------------------<---=--+---->---
-9463 ------------------<---=--+---->--
-9093 ------------------<---=--+---->-
-8632 ------------------<---=--+----
-8085 ------------------<---=--+--
-7457 ------------------<---=--+
-6755 ------------------<---=-
-5985 ------------------<--
-5155 ------------------
+5646 -----------------<--
+6442 -----------------<----=
+7174 -----------------<----=--
+7833 -----------------<----=--+-
+8415 -----------------<----=--+---
+8912 -----------------<----=--+---->
+9320 -----------------<----=--+---->--
+9636 -----------------<----=--+---->---
+9855 -----------------<----=--+---->----
+9975 -----------------<----=--+---->----
+9996 -----------------<----=--+---->----
+9917 -----------------<----=--+---->----
+9738 -----------------<----=--+---->---
+9463 -----------------<----=--+---->--
+9093 -----------------<----=--+---->-
+8632 -----------------<----=--+----
+8085 -----------------<----=--+--
+7457 -----------------<----=--+
+6755 -----------------<----=-
+5985 -----------------<---
+5155 -----------------<
 4274 ---------------
 3350 ------------
 2392 --------
 4274 ---------------
 3350 ------------
 2392 --------
index 507ce9b3679c214648cf039cfb442c637d44dc02..eb4d9c3677e7b3ced7e6fe12c9fee21cc8e0eaa4 100644 (file)
@@ -2,8 +2,8 @@ barcat input/unvalued.txt
 nan
  -1 negative  -------
  -2 negativer 
 nan
  -1 negative  -------
  -2 negativer 
-  0 zero      ------------=-|
- .0 zeroer    ------------=-|
--00 zeroest   ------------=-|
+  0 zero      -----------<=-|
+ .0 zeroer    -----------<=-|
+-00 zeroest   -----------<=-|
 
 
-1.5 positive  ------------=-|-----------
+1.5 positive  -----------<=-|-----------
index 6048c5370b3c722ba96971b5f2f44e758a68f15b..69d7d36a4a8c27fb5bd465d556569ecb4ca70bb2 100644 (file)
@@ -1,32 +1,32 @@
 barcat input/unicode.txt
 barcat input/unicode.txt
-9324 A --<---+--=--->-------------------
+9324 A --<---+--=-->--------------------
  920 B --<
  476 C --
  619 Ĉ --
 2094 D --<---+
  920 B --<
  476 C --
  619 Ĉ --
 2094 D --<---+
-6552 E --<---+--=--->---------
+6552 E --<---+--=-->----------
 1062 F --<-
  766 G --<
  738 Ĝ --<
  371 H -
    7 Ĥ 
 1062 F --<-
  766 G --<
  738 Ĝ --<
  371 H -
    7 Ĥ 
-5513 I --<---+--=--->------
+5513 I --<---+--=-->-------
 1140 J --<-
   38 Ĵ 
 2558 K --<---+--
 1140 J --<-
   38 Ĵ 
 2558 K --<---+--
-4253 L --<---+--=--->-
+4253 L --<---+--=-->--
 2183 M --<---+-
 2183 M --<---+-
-6321 N --<---+--=--->--------
-8110 O --<---+--=--->---------------
+6321 N --<---+--=-->---------
+8110 O --<---+--=-->----------------
 2266 P --<---+-
 2266 P --<---+-
-4387 R --<---+--=--->--
-5462 S --<---+--=--->-----
+4387 R --<---+--=-->---
+5462 S --<---+--=-->------
  331 Ŝ -
  331 Ŝ -
-3534 T --<---+--=---
+3534 T --<---+--=-->
 2579 U --<---+--
  320 Ŭ -
 1458 V --<--
  383 Z -
 # 23731 whitespace
 2579 U --<---+--
  320 Ŭ -
 1458 V --<--
  383 Z -
 # 23731 whitespace
-4217 … --<---+--=--->-
+4217 … --<---+--=-->--
 \r0
 \r0
index d0f4a79a3aea373921f296cb1f80488899bf0796..5facbbb6d549c0bd91b4ba1272629a212e78ba62 100644 (file)
@@ -3,6 +3,6 @@ barcat input/aligned.txt
   2 prepend                     -<
   3:   append                   -<
   4    3   2  1 trailing space  -<+
   2 prepend                     -<
   3:   append                   -<
   4    3   2  1 trailing space  -<+
-010                             -<+=->--
- 10. more                       -<+=->--
-5.0less                         -<+=
+010                             -<+>----
+ 10. more                       -<+>----
+5.0less                         -<+>
index a6e6a2b7277fc393bfa2fd3949079c98bec33157..8c2c0449d006a3d1b9a400bd8a83af1f802fdf84 100644 (file)
@@ -3,6 +3,6 @@ barcat -l30 input/aligned.txt
   2 prepend                     -<
   3:   append                   -<
   4    3   2  1 trailing space  -<+
   2 prepend                     -<
   3:   append                   -<
   4    3   2  1 trailing space  -<+
-010                             -<+=->--
- 10. more                       -<+=->--
-5.0less                         -<+=
+010                             -<+>----
+ 10. more                       -<+>----
+5.0less                         -<+>
index 84d6e53dab9d90d218d9b85ae76c7fc138f1cd80..63c8f6cad8c114378e15a11a2c8c4925699eb07b 100644 (file)
@@ -1,8 +1,8 @@
 barcat -l0 input/aligned.txt
   1 ----
   2 -------
 barcat -l0 input/aligned.txt
   1 ----
   2 -------
-  3:----------<
-  4 ----------<--+
-010 ----------<--+---=-------->---------
- 10.----------<--+---=-------->---------
-5.0l----------<--+---=
+  3:---------<-
+  4 ---------<---+
+010 ---------<---+---=->----------------
+ 10.---------<---+---=->----------------
+5.0l---------<---+---=
index e54080c8a53f4634b3f43dd03dde72fe092fcd0a..9038d1c43f27e37a07896496eeaf2f9f413018e2 100644 (file)
@@ -1,8 +1,8 @@
 barcat -l1 input/aligned.txt
   1  ----
   2  -------
 barcat -l1 input/aligned.txt
   1  ----
   2  -------
-  3: ----------<
-  4  ----------<--+
-010  ----------<--+---=------->---------
- 10. ----------<--+---=------->---------
-5.0l ----------<--+---=
+  3: ---------<-
+  4  ---------<---+
+010  ---------<---+---=>----------------
+ 10. ---------<---+---=>----------------
+5.0l ---------<---+---=
index fa15033e8a2cf0c3128597a649764fddb44cc79f..944bce2dc9d4c602505509eb430a3a5fe2e4ebbd 100644 (file)
@@ -1,8 +1,8 @@
 barcat -l5 input/aligned.txt
   1     ---
   2 pr… ------
 barcat -l5 input/aligned.txt
   1     ---
   2 pr… ------
-  3:  … ---------<
-  4   … ---------<--+
-010     ---------<--+--=------->--------
- 10. m… ---------<--+--=------->--------
-5.0less ---------<--+--=
+  3:  … --------<-
+  4   … --------<---+
+010     --------<---+--=->--------------
+ 10. m… --------<---+--=->--------------
+5.0less --------<---+--=
index 27708b3e6c70f5bd75a4896fcabec1781c52f76a..51070d803f156030d0a5bc7d9a82e3d7ca0067f8 100644 (file)
@@ -3,6 +3,6 @@ barcat -l50% input/aligned.txt
   2 prepend            ---
   3:   append          ----<
   4    3   2  1 trail… ----<-+
   2 prepend            ---
   3:   append          ----<
   4    3   2  1 trail… ----<-+
-010                    ----<-+-=--->----
- 10. more              ----<-+-=--->----
-5.0less                ----<-+-=
+010                    ----<-+->--------
+ 10. more              ----<-+->--------
+5.0less                ----<-+->
index 281da76fa1c0c0a03bf80054f63394f73df6720e..f03d4b0a8e6fab2b87d13ca69101ed38e865c514 100644 (file)
@@ -3,6 +3,6 @@ barcat -l-30 input/aligned.txt
   2 prepend                       -
   3:   append                     -+
   4    3   2  1 trailing space    -+
   2 prepend                       -
   3:   append                     -+
   4    3   2  1 trailing space    -+
-010                               -+=->-
- 10. more                         -+=->-
-5.0less                           -+=
+010                               -+>---
+ 10. more                         -+>---
+5.0less                           -+>
index 22d71f3939528cfaa681a598ce0f8ae12a4d2e85..b9b1f38cf7fa4f329c25f5c4936710ae37884e2a 100644 (file)
@@ -3,6 +3,6 @@ barcat -u input/aligned.txt
  2 prepend                     --
        3:   append                   --<
          4    3   2  1 trailing space  --<+
  2 prepend                     --
        3:   append                   --<
          4    3   2  1 trailing space  --<+
-  010                             --<+=-->--
-  10. more                       --<+=-->--
-   5.0less                         --<+=
+  010                             --<+>-----
+  10. more                       --<+>-----
+   5.0less                         --<+>
index f814307112672d1f82627957d2f1d0e64999d576..b8c33f0393810a62f63ad6ec7bffb1042f6d4e6e 100644 (file)
@@ -3,6 +3,6 @@ barcat -ul8 input/aligned.txt
  2 pre… -------
        3:   … ---------<
          4      ---------<--+
  2 pre… -------
        3:   … ---------<
          4      ---------<--+
-  010      ---------<--+---=------->--------
-  10. …   ---------<--+---=------->--------
+  010      ---------<--+---=>---------------
+  10. …   ---------<--+---=>---------------
    5.0…     ---------<--+---=
    5.0…     ---------<--+---=
index 9ed46d70a2d41f159dcd51c3061109ed641b9de8..8d2e01d67f38c124c00831b339bf35e6f12d0142 100644 (file)
@@ -4,5 +4,5 @@ barcat -e input/powers_of_ten.txt
    100 ----------<
   1000 ----------<-----+
    1e4 ----------<-----+-----
    100 ----------<
   1000 ----------<-----+
    1e4 ----------<-----+-----
-100000 ----------<-----+-------->--
-   1e6 ----------<-----+-------->--=----
+100000 ----------<-----+----->-----
+   1e6 ----------<-----+----->-----=----
index 2527fe1c36026f0809eb21448d0ae1bceaeeec87..6e6f315c584895640cc3123f37dc351953f4e29d 100644 (file)
@@ -16,52 +16,52 @@ barcat -e input/binary_powers.txt
                16384 2^14 ---
                32768 2^15 ---
                65536 2^16 ---
                16384 2^14 ---
                32768 2^15 ---
                65536 2^16 ---
-              131072 2^17 ----
-              262144 2^18 ----
-              524288 2^19 ----
-             1048576 2^20 ----
-             2097152 2^21 ----<
-             4194304 2^22 ----<
-             8388608 2^23 ----<
-            16777216 2^24 ----<
-            33554432 2^25 ----<
-            67108864 2^26 ----<-
-           134217728 2^27 ----<-
-           268435456 2^28 ----<-
-           536870912 2^29 ----<-
-          1073741824 2^30 ----<-
-          2147483648 2^31 ----<-+
-          4294967296 2^32 ----<-+
-          8589934592 2^33 ----<-+
-         17179869184 2^34 ----<-+
-         34359738368 2^35 ----<-+-
-         68719476736 2^36 ----<-+-
-        137438953472 2^37 ----<-+-
-        274877906944 2^38 ----<-+-
-        549755813888 2^39 ----<-+-
-       1099511627776 2^40 ----<-+--
-       2199023255552 2^41 ----<-+--
-       4398046511104 2^42 ----<-+--
-       8796093022208 2^43 ----<-+--
-      17592186044416 2^44 ----<-+--
-      35184372088832 2^45 ----<-+-->
-      70368744177664 2^46 ----<-+-->
-     140737488355328 2^47 ----<-+-->
-     281474976710656 2^48 ----<-+-->
-     562949953421312 2^49 ----<-+-->-
-    1125899906842624 2^50 ----<-+-->-
-    2251799813685248 2^51 ----<-+-->-
-    4503599627370496 2^52 ----<-+-->-
-    9007199254740992 2^53 ----<-+-->-
-   18014398509481984 2^54 ----<-+-->--
-   36028797018963968 2^55 ----<-+-->--
-   72057594037927936 2^56 ----<-+-->--
-  144115188075855872 2^57 ----<-+-->--
-  288230376151711744 2^58 ----<-+-->--
-  576460752303423488 2^59 ----<-+-->--=
- 1152921504606846976 2^60 ----<-+-->--=
- 2305843009213693952 2^61 ----<-+-->--=
- 4611686018427387904 2^62 ----<-+-->--=
- 9223372036854775808 2^63 ----<-+-->--=-
-18446744073709551616 2^64 ----<-+-->--=-
-36893488147419103232 2^65 ----<-+-->--=-
+              131072 2^17 ---<
+              262144 2^18 ---<
+              524288 2^19 ---<
+             1048576 2^20 ---<
+             2097152 2^21 ---<-
+             4194304 2^22 ---<-
+             8388608 2^23 ---<-
+            16777216 2^24 ---<-
+            33554432 2^25 ---<-
+            67108864 2^26 ---<--
+           134217728 2^27 ---<--
+           268435456 2^28 ---<--
+           536870912 2^29 ---<--
+          1073741824 2^30 ---<--
+          2147483648 2^31 ---<--+
+          4294967296 2^32 ---<--+
+          8589934592 2^33 ---<--+
+         17179869184 2^34 ---<--+
+         34359738368 2^35 ---<--+-
+         68719476736 2^36 ---<--+-
+        137438953472 2^37 ---<--+-
+        274877906944 2^38 ---<--+-
+        549755813888 2^39 ---<--+-
+       1099511627776 2^40 ---<--+--
+       2199023255552 2^41 ---<--+--
+       4398046511104 2^42 ---<--+--
+       8796093022208 2^43 ---<--+--
+      17592186044416 2^44 ---<--+--
+      35184372088832 2^45 ---<--+-->
+      70368744177664 2^46 ---<--+-->
+     140737488355328 2^47 ---<--+-->
+     281474976710656 2^48 ---<--+-->
+     562949953421312 2^49 ---<--+-->-
+    1125899906842624 2^50 ---<--+-->-
+    2251799813685248 2^51 ---<--+-->-
+    4503599627370496 2^52 ---<--+-->-
+    9007199254740992 2^53 ---<--+-->-
+   18014398509481984 2^54 ---<--+-->--
+   36028797018963968 2^55 ---<--+-->--
+   72057594037927936 2^56 ---<--+-->--
+  144115188075855872 2^57 ---<--+-->--
+  288230376151711744 2^58 ---<--+-->--
+  576460752303423488 2^59 ---<--+-->--=
+ 1152921504606846976 2^60 ---<--+-->--=
+ 2305843009213693952 2^61 ---<--+-->--=
+ 4611686018427387904 2^62 ---<--+-->--=
+ 9223372036854775808 2^63 ---<--+-->--=-
+18446744073709551616 2^64 ---<--+-->--=-
+36893488147419103232 2^65 ---<--+-->--=-
index 206e63b8cd19ab1a527d4cb2c486c9a862aebaa3..d7e9b3feb380dc58951091bcea511cdc72441f23 100644 (file)
@@ -1,5 +1,5 @@
 barcat -f2 input/numcolumns.txt
 1 2  3 4    ---
 barcat -f2 input/numcolumns.txt
 1 2  3 4    ---
-10 20 30 40 -------<-+--=------>--------
+10 20 30 40 -------<-+->=---------------
 3 16  9 123 -------<
 4 5 12 7    -------<-+-
 3 16  9 123 -------<
 4 5 12 7    -------<-+-
index 28b09952d2963b8bc6311b6c08d914ac9b06cb7b..d818543cb82a3138ee5255d1ac8fcb431279ac8d 100644 (file)
@@ -6,7 +6,7 @@ barcat --sexagesimal input/sexy_time.txt
  0:01:00 
  1:00:00 +
  1:01:01 +
  0:01:00 
  1:00:00 +
  1:01:01 +
- 9:59:59 +-----=----->
-10:00:00 +-----=----->
-11:11:11 +-----=----->-
-24:00:00 +-----=----->------------------
+ 9:59:59 +-----=--->--
+10:00:00 +-----=--->--
+11:11:11 +-----=--->---
+24:00:00 +-----=--->--------------------
index 2c83e1190f861c8f503a9dda918e7cdd19a064ca..80dc74465e35557b4c6a4035f5d748f79bdd0b96 100644 (file)
@@ -1,22 +1,22 @@
 barcat -L9- input/intsine.txt
 barcat -L9- input/intsine.txt
-7833 ------------------<---=--+-
-8415 ------------------<---=--+---
-8912 ------------------<---=--+---->
-9320 ------------------<---=--+---->--
-9636 ------------------<---=--+---->---
-9855 ------------------<---=--+---->----
-9975 ------------------<---=--+---->----
-9996 ------------------<---=--+---->----
-9917 ------------------<---=--+---->----
-9738 ------------------<---=--+---->---
-9463 ------------------<---=--+---->--
-9093 ------------------<---=--+---->-
-8632 ------------------<---=--+----
-8085 ------------------<---=--+--
-7457 ------------------<---=--+
-6755 ------------------<---=-
-5985 ------------------<--
-5155 ------------------
+7833 -----------------<----=--+-
+8415 -----------------<----=--+---
+8912 -----------------<----=--+---->
+9320 -----------------<----=--+---->--
+9636 -----------------<----=--+---->---
+9855 -----------------<----=--+---->----
+9975 -----------------<----=--+---->----
+9996 -----------------<----=--+---->----
+9917 -----------------<----=--+---->----
+9738 -----------------<----=--+---->---
+9463 -----------------<----=--+---->--
+9093 -----------------<----=--+---->-
+8632 -----------------<----=--+----
+8085 -----------------<----=--+--
+7457 -----------------<----=--+
+6755 -----------------<----=-
+5985 -----------------<---
+5155 -----------------<
 4274 ---------------
 3350 ------------
 2392 --------
 4274 ---------------
 3350 ------------
 2392 --------
index 2448ad9401f863cdab2be9ed6bcbc6df542c7f22..bf5c64569f5bca775aa07580c104929689ef98f2 100644 (file)
@@ -1,4 +1,4 @@
 barcat -L14+3 input/intsine.txt
 barcat -L14+3 input/intsine.txt
-9855 ------------------<---=--+---->----
-9975 ------------------<---=--+---->----
-9996 ------------------<---=--+---->----
+9855 -----------------<----=--+---->----
+9975 -----------------<----=--+---->----
+9996 -----------------<----=--+---->----
index 36d6bb9e752a8d1cc65f84312e4fa63db48198da..544728c562eb9fcf331396fb8b622511d15bcc31 100644 (file)
@@ -1,3 +1,3 @@
 barcat -L-1 -s input/aligned.txt
 barcat -L-1 -s input/aligned.txt
-5.0less ---------<--+--=
+5.0less --------<---+--=
 5 of 35 total in 7 values (1 min, 5.00 avg, 010 max)
 5 of 35 total in 7 values (1 min, 5.00 avg, 010 max)
index a552adb548b2ab9fae20c94f9aaaab3b389a168a..f3bc8ce33234d27509b80d08ae675aee94d0eb75 100644 (file)
@@ -1,3 +1,3 @@
 barcat -L-2+1 -s input/aligned.txt
 barcat -L-2+1 -s input/aligned.txt
- 10. more --------<--+--=------->-------
+ 10. more --------<--+--=>--------------
 10 of 35 total in 7 values (1 min, 5.00 avg, 010 max)
 10 of 35 total in 7 values (1 min, 5.00 avg, 010 max)
index 57553da0c34f21833fe05ceff7ee3450b61115e8..767c4bdbc125dac830f580827387e96b425ea09f 100644 (file)
@@ -3,30 +3,30 @@ barcat -sL2- input/unicode.txt
  476 C --
  619 Ĉ --
 2094 D --<---+
  476 C --
  619 Ĉ --
 2094 D --<---+
-6552 E --<---+--=--->---------
+6552 E --<---+--=-->----------
 1062 F --<-
  766 G --<
  738 Ĝ --<
  371 H -
    7 Ĥ 
 1062 F --<-
  766 G --<
  738 Ĝ --<
  371 H -
    7 Ĥ 
-5513 I --<---+--=--->------
+5513 I --<---+--=-->-------
 1140 J --<-
   38 Ĵ 
 2558 K --<---+--
 1140 J --<-
   38 Ĵ 
 2558 K --<---+--
-4253 L --<---+--=--->-
+4253 L --<---+--=-->--
 2183 M --<---+-
 2183 M --<---+-
-6321 N --<---+--=--->--------
-8110 O --<---+--=--->---------------
+6321 N --<---+--=-->---------
+8110 O --<---+--=-->----------------
 2266 P --<---+-
 2266 P --<---+-
-4387 R --<---+--=--->--
-5462 S --<---+--=--->-----
+4387 R --<---+--=-->---
+5462 S --<---+--=-->------
  331 Ŝ -
  331 Ŝ -
-3534 T --<---+--=---
+3534 T --<---+--=-->
 2579 U --<---+--
  320 Ŭ -
 1458 V --<--
  383 Z -
 # 23731 whitespace
 2579 U --<---+--
  320 Ŭ -
 1458 V --<--
  383 Z -
 # 23731 whitespace
-4217 … --<---+--=--->-
+4217 … --<---+--=-->--
 \r0
 68658 of 77982 total in 29 values over 31 lines (7 min, 2689.03 avg, 9324 max)
 \r0
 68658 of 77982 total in 29 values over 31 lines (7 min, 2689.03 avg, 9324 max)
index eb01ef44c6c4d7bb027c5f0a21f1af84c1756490..1071feb8bcc5dc96e55b50e3753c7e091de101ba 100644 (file)
@@ -1,8 +1,8 @@
 barcat --count input/duplicates.txt
 barcat --count input/duplicates.txt
- 3 thrice      --+->=--
- 2 twice       --+->
+ 3 thrice      --+>-=--
+ 2 twice       --+>-
  1 once        --+
  1 once        --+
-10 most        --+->=-------------------
+10 most        --+>-=-------------------
  1             --+
  1  indented   --+
  1 different   --+
  1             --+
  1  indented   --+
  1 different   --+
index f576e21ca283f15c62d5608fabe0bb2167ef1d9f..2e73cad678697b0679e64a39a6fcb2abeb3615c1 100644 (file)
@@ -1,4 +1,4 @@
 barcat -c -f0 input/duplicolumns.txt
 barcat -c -f0 input/duplicolumns.txt
-10 prefix 1 1 --+------=--->------------
+10 prefix 1 1 --+------=>---------------
  1 random 2 2 --+
  1 text 1 2   --+
  1 random 2 2 --+
  1 text 1 2   --+
index 18fbeca27a2ceee339ff4409673c662b5d5a14d7..86eab5223a83749c3c572de2affd4addcef043eb 100644 (file)
@@ -1,5 +1,5 @@
 barcat -c -f2 input/duplicolumns.txt
 barcat -c -f2 input/duplicolumns.txt
-4 prefix 1 1 ----<-----+--=----
-6 random 2 2 ----<-----+--=-------->----
+4 prefix 1 1 ----<-----+--=--->
+6 random 2 2 ----<-----+--=--->---------
 1 prefix 3 0 ----<
 1 prefix 2   ----<
 1 prefix 3 0 ----<
 1 prefix 2   ----<
index ed7caaeaddeb6a2143bdc8addcb2ca977a8afbd2..2f33ad1cb6f6996d9dbcf2a791b68da79b7c3837 100644 (file)
@@ -1,5 +1,5 @@
 barcat -c -f'prefix\ ' input/duplicolumns.txt
 3 prefix 1 1 -------------------+
 2 random 2 2 --------------
 barcat -c -f'prefix\ ' input/duplicolumns.txt
 3 prefix 1 1 -------------------+
 2 random 2 2 --------------
-4 prefix 3 1 -------------------+--->---
+4 prefix 3 1 -------------------+>------
 3 prefix 2 1 -------------------+
 3 prefix 2 1 -------------------+
index cf4cf4fa85e1f985ac8467317d98d469001ba25e..468a992b3e67d25eabb4240da53bd91ec12bc068 100644 (file)
@@ -1,4 +1,4 @@
 barcat -c -f'(e.)' input/duplicates.txt
 barcat -c -f'(e.)' input/duplicates.txt
-17 thrice    --+-------=--->------------
+17 thrice    --+-------=>---------------
  1  indented --
  2 different --+
  1  indented --
  2 different --+
index f6dee51b4fb95affc4397fdddd3282e44b460f5c..eb15da999286ff19eb0d8b89b9aaef0e470d0377 100644 (file)
@@ -1,4 +1,4 @@
 barcat -cf1 -l0 input/duplicates.txt
 barcat -cf1 -l0 input/duplicates.txt
-18 -+-----------=----->-----------------
+18 -+-----------=>----------------------
  1 -+
  1 -+
  1 -+
  1 -+
index 4b9fade4292f08964445160f499e843df3e417c8..af1835887ace78533363c6794ccf5d77f8710c42 100644 (file)
@@ -1,5 +1,5 @@
 barcat -cf+1 -l5 input/duplicolumns.txt
 barcat -cf+1 -l5 input/duplicolumns.txt
-4 pr… -----<-------+--=------
-6 ra… -----<-------+--=---------->------
+4 pr… -----<-------+--=----->
+6 ra… -----<-------+--=----->-----------
 1 pr… -----<
 1 pr… -----<
 1 pr… -----<
 1 pr… -----<
index 57a6d6180c36a2f62b28651101f252b8ec43b82e..13f593c84fefa98329815bd91b7cb80917dff55e 100644 (file)
@@ -1,4 +1,4 @@
 barcat -- input/seq3.txt
 1 -------------
 barcat -- input/seq3.txt
 1 -------------
-2 ------------------------+
-3 ------------------------+------>------
+2 --------------------<---+
+3 --------------------<---+---->--------
index e02b4b9705af5ad414d657cd25f37f19118015ed..b5c496300d91d1e652cae1fbea59d1302d3b3809 100644 (file)
@@ -1,7 +1,7 @@
 barcat input/seq3.txt input/seq3.txt
 1 -------------
 barcat input/seq3.txt input/seq3.txt
 1 -------------
-2 ------------------------+
-3 ------------------------+------>------
+2 -------------------<----+
+3 -------------------<----+----->-------
 1 -------------
 1 -------------
-2 ------------------------+
-3 ------------------------+------>------
+2 -------------------<----+
+3 -------------------<----+----->-------
index 4d305b3798f5ce99c27706ce9a6dd421437a3fa8..f4c6faa27a2389fadd5ae7383493065c72c5d71d 100644 (file)
@@ -1,4 +1,4 @@
 cat input/seq3.txt | barcat
 1 -------------
 cat input/seq3.txt | barcat
 1 -------------
-2 ------------------------+
-3 ------------------------+------>------
+2 --------------------<---+
+3 --------------------<---+---->--------
index 6be292b6e67dc8341da39de2dac6d0fbe1a8c80d..0f8fa39dcf8fd1dfd24be51e36efa61724bca77d 100644 (file)
@@ -1,10 +1,10 @@
 barcat -- 1 4 8 2 6 3 9 5 2
 1 ----
 barcat -- 1 4 8 2 6 3 9 5 2
 1 ----
-4 ------------<---+
-8 ------------<---+-=--->-----------
+4 ----------<-----+
+8 ----------<-----+-=--->-----------
 2 --------
 2 --------
-6 ------------<---+-=--->--
-3 ------------<
-9 ------------<---+-=--->---------------
-5 ------------<---+-=--
+6 ----------<-----+-=--->--
+3 ----------<--
+9 ----------<-----+-=--->---------------
+5 ----------<-----+-=--
 2 --------
 2 --------
index 340c60b17b194429dae3ba97ec76f701254b3a81..bbd5f7a0b5ae99c6305e8394c382784ff201e48b 100644 (file)
@@ -1,3 +1,3 @@
 barcat -- -1 1
 -1 
 barcat -- -1 1
 -1 
- 1 ------------------|----------------->
+ 1 -----------<------|----->------------
index b042754b65909e8bb1f6d6c0e90110a429c09dc3..5ffdb506b4dc0cbf32cac6622838e113d4cf1940 100644 (file)
@@ -1,9 +1,9 @@
 barcat -M 1 -l 2 hi 3 --st 4 -- 5 -1 --version
  1 -----|------
 …
 barcat -M 1 -l 2 hi 3 --st 4 -- 5 -1 --version
  1 -----|------
 …
- 3 -----|------------<-=---+
- 4 -----|------------<-=---+----->
- 5 -----|------------<-=---+----->------
+ 3 -----|---------<----=---+
+ 4 -----|---------<----=---+--->--
+ 5 -----|---------<----=---+--->--------
 -1 
 …
 12 total in 5 values over 7 lines (-1 min, 2.40 avg, 5 max)
 -1 
 …
 12 total in 5 values over 7 lines (-1 min, 2.40 avg, 5 max)
index 7a5bbe9e955b851650afb680c697dd0a0b4c8031..09e086fcf622d3fc928721f15bfdcab5e407bee8 100644 (file)
@@ -1,12 +1,12 @@
 barcat -ct-7 input/duplicates.txt
 barcat -ct-7 input/duplicates.txt
-3 thrice ---------<-----+-=------->-----
-2 twice  ---------<-----+-=---
+3 thrice ---------<-----+-=-->----------
+2 twice  ---------<-----+-=-->
 1 once   ---------<
 1 most   ---------<
        -----            +++++++++++++++++
 1 once   ---------<
 1 most   ---------<
        -----            +++++++++++++++++
-6 most -----<-+----=>-------------------
+6 most -----<-+---->--------------------
 1      -----<
 1      -----<
-3 most        ---+----=->--
+3 most        ---+---->----
 1  indented   ---+
 1 different   ---+
 1   different ---+
 1  indented   ---+
 1 different   ---+
 1   different ---+
index 6c8870178565ad10dd479394b30f44ffd9459599..f9474664e457e3c30ebb2ba968a8b3705242a7c6 100644 (file)
@@ -2,8 +2,8 @@ barcat --indicators= input/unvalued.txt
  nan
 ▍ -1 negative  -------
 ▏ -2 negativer 
  nan
 ▍ -1 negative  -------
 ▏ -2 negativer 
-▋  0 zero      ------------=|
-▋ .0 zeroer    ------------=|
-▋-00 zeroest   ------------=|
+▋  0 zero      ----------<-=|
+▋ .0 zeroer    ----------<-=|
+▋-00 zeroest   ----------<-=|
  
  
-█1.5 positive  ------------=|-----------
+█1.5 positive  ----------<-=|-----------
index e42b4e725f66126ac9c7904a9496df6ec847c448..88aa6996be3f23ba8393d273bf249c29075d8feb 100644 (file)
@@ -2,8 +2,8 @@ barcat --indicators=# input/unvalued.txt
 #nan
 # -1 negative  -------
 # -2 negativer 
 #nan
 # -1 negative  -------
 # -2 negativer 
-#  0 zero      ------------=|
-# .0 zeroer    ------------=|
-#-00 zeroest   ------------=|
+#  0 zero      ----------<-=|
+# .0 zeroer    ----------<-=|
+#-00 zeroest   ----------<-=|
 #
 #
-#1.5 positive  ------------=|-----------
+#1.5 positive  ----------<-=|-----------
index e387afb03dae33127bb57ce04e04daeb79a7cd04..d1223a70442a02f251e1233dd0e4b1d9246b24bf 100644 (file)
@@ -1,6 +1,6 @@
 barcat -aHl7 input/ascii.txt
 barcat -aHl7 input/ascii.txt
-123u micro -------------<--=-+--------|
-100m long> -------------<--=-+--------|-
-  -1        -------------<--=-+
+123u micro -----------<----=-+------>-|
+100m long> -----------<----=-+------>-|-
+  -1        -----------<----=-+
   -2        ---------
   -3        
   -2        ---------
   -3        
index 355ee4ec7fa2f72b5d32f4a34273edf7d029e591..67ad86c866694ace8f0fdbea615a51da175afc49 100644 (file)
@@ -1,6 +1,6 @@
 barcat --graph-format=* input/ascii.txt
 barcat --graph-format=* input/ascii.txt
-123e-6 micro     **********<**=+******|
-    .1 long line **********<**=+******|*
-    -1           **********<**=+
+123e-6 micro     ********<****=+****>*|
+    .1 long line ********<****=+****>*|*
+    -1           ********<****=+
     -2           *******
     -3           
     -2           *******
     -3           
index de992f317483ca9068e7c9fe05409e1902c5261b..19da98fee2c496bc85c2898f6fa7adad9a687f98 100644 (file)
@@ -1,6 +1,6 @@
 barcat --graph-format=─ input/ascii.txt
 barcat --graph-format=─ input/ascii.txt
-123e-6 micro     ──────────<──=+──────|
-    .1 long line ──────────<──=+──────|─
-    -1           ──────────<──=+
+123e-6 micro     ────────<────=+────>─|
+    .1 long line ────────<────=+────>─|─
+    -1           ────────<────=+
     -2           ───────
     -3           
     -2           ───────
     -3           
index 074aa4fe46d5c7219eae46535415824249d576bf..f361add1ea1f666f3b5a9d276c619fa6d14d69b9 100644 (file)
@@ -1,6 +1,6 @@
 barcat --graph-format=─ --markers='550v 11v 00v 999v 0100v' input/ascii.txt
 barcat --graph-format=─ --markers='550v 11v 00v 999v 0100v' input/ascii.txt
-123e-6 micro     0──9──────────5───────
-    .1 long line 0──9──────────5───────0
-    -1           0──9──────────5
-    -2           0──9───
+123e-6 micro     0────────────5───────
+    .1 long line 0────────────5───────0
+    -1           0────────────5
+    -2           0─────
     -3           
     -3