hollerith-codec v3.1.1
Table of Contents generated with DocToc
Table of Contents generated with DocToc
hollerith-codec
Binary encoding for Hollerith that provides a total ordering for primitive datatypes and lists of those. Used by Hollerith and KWIC.
Breaking Change in v2.x: Prior to v2.x, when comparing two lists a
, b
where a
is a prefix of b
used to be sorted with a
first, then b
, i.o.w. a shorter word always precedes a longer word that starts
out the same (as in an alphabetically sorted dictionary).
Starting with v2, however, this has been changed such that when comparing two lists a
, b
where a
is a
prefix of b
, b
will be sorted before a
if the first 'extra' element of b
(i.e. b[ a.length ]
) is
a negative number. By way of example, sorting now looks like this (with hexadecimal byte values):
[ -10, ] ... 4b bfdbffffffffffff 4c
[ -1, ] ... 4b c00fffffffffffff 4c
[ ] ... 4c
[ 0, ] ... 4d 0000000000000000 4c
[ 1, -1, ] ... 4d 3ff0000000000000 4b c00fffffffffffff 4c
[ 1, ] ... 4d 3ff0000000000000 4c
[ 1, 0, ] ... 4d 3ff0000000000000 4d 0000000000000000 4c
[ 1, 1, ] ... 4d 3ff0000000000000 4d 3ff0000000000000 4c
[ 10, -2, ] ... 4d 4024000000000000 4b bfffffffffffffff 4c
[ 10, -2, 3, ] ... 4d 4024000000000000 4b bfffffffffffffff 4d 4008000000000000 4c
[ 10, -1, ] ... 4d 4024000000000000 4b c00fffffffffffff 4c
[ 10, -1, 3, ] ... 4d 4024000000000000 4b c00fffffffffffff 4d 4008000000000000 4c
[ 10, ] ... 4d 4024000000000000 4c
[ 10, 0, ] ... 4d 4024000000000000 4d 0000000000000000 4c
[ 10, 0, 3, ] ... 4d 4024000000000000 4d 0000000000000000 4d 4008000000000000 4c
[ 10, 1, ] ... 4d 4024000000000000 4d 3ff0000000000000 4c
[ 10, 1, 3, ] ... 4d 4024000000000000 4d 3ff0000000000000 4d 4008000000000000 4c
[ 10, 2, ] ... 4d 4024000000000000 4d 4000000000000000 4c
[ 10, 2, 3, ] ... 4d 4024000000000000 4d 4000000000000000 4d 4008000000000000 4c
[ 10, 4, -2, ] ... 4d 4024000000000000 4d 4010000000000000 4b bfffffffffffffff 4c
[ 10, 4, -1, ] ... 4d 4024000000000000 4d 4010000000000000 4b c00fffffffffffff 4c
[ 10, 4, ] ... 4d 4024000000000000 4d 4010000000000000 4c
[ 10, 4, 0, ] ... 4d 4024000000000000 4d 4010000000000000 4d 0000000000000000 4c
[ 10, 4, 1, ] ... 4d 4024000000000000 4d 4010000000000000 4d 3ff0000000000000 4c
[ 10, 4, 2, ] ... 4d 4024000000000000 4d 4010000000000000 4d 4000000000000000 4c
3 years ago
3 years ago
3 years ago
3 years ago
5 years ago
5 years ago
7 years ago
7 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago