See http://michael.dipperstein.com/lzss/ and http://en.wikipedia.org/wiki/Lempel-Ziv-Storer-Szymanski
A dictionary look-up compressor that performs best with long repeating patterns e.g. [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]
.
Expects an array of 8bit integers. Returns a string of binary numbers.
Expects a string of binary numbers. Returns an array of 8bit integers.
Converts a binary string into 8-bit bytes. Up to 7 zeros might be padded automatically at the end. The number of zeros is stored in *pad. *pad is semi-private and used when converting back to bytes.
Converts an array of 8-bit bytes into a binary string.
Semi-private counter for number of padded zeros. Set by *binaryStringToBytes and read by *bytesToBinaryString.
Maximum sliding window size. The default is 4096.
Maximum length for matching pattern. The default is 32.