|
| Data.Generator.Compressive.LZ78 | | Portability | portable | | Stability | experimental | | Maintainer | ekmett@gmail.com |
|
|
|
|
|
| Description |
| Compression algorithms are all about exploiting redundancy. When applying
an expensive Reducer to a redundant source, it may be better to
extract the structural redundancy that is present. LZ78 is a compression
algorithm that does so, without requiring the dictionary to be populated
with all of the possible values of a data type unlike its later
refinement LZW, and which has fewer comparison reqirements during encoding
than its earlier counterpart LZ77. Since we aren't storing these as a
bitstream the LZSS refinement of only encoding pointers once you cross
the break-even point is a net loss.
|
|
| Synopsis |
|
|
|
| Documentation |
|
| module Data.Generator |
|
| Lempel-Ziv 78
|
|
|
Instances | |
|
|
| Decoding
|
|
|
| a type-constrained reduce operation
|
|
| Encoding
|
|
|
| contruct an LZ78-compressed Generator using a Map internally, requires an instance of Ord.
|
|
|
| contruct an LZ78-compressed Generator using a list internally, requires an instance of Eq.
|
|
| QuickCheck Properties
|
|
|
| QuickCheck property: decode . encode = id
|
|
|
| QuickCheck property: decode . encodeEq = id
|
|
| Produced by Haddock version 2.4.2 |