Expand description
Byte oriented decoding:
Oppposed to crate::bit_decode this assumes that the input stream comes in bigger chunks (u8/u16/u32/u64)
rather than single bits and takes advantage (speed) of this fact.
One drawback: We assume that the block of fibonacci encoding fits neatly into (u8/u16/u32/u64) and we dont need access to any possible trailing bits (containing some other data to be decoded differently).
Modules§
- bare_
metal_ 16single_ faster - Fibonacci-decodes a single
u16via a lookup table - bare_
metal_ 3264_ stream - Contains Dirty32 and Dirty64, which both take a stream of u32/u64 and fibonacci-decode those numbers bit by bit
- byte_
manipulation - This deals with the bare metal of reading single bits from the fibonacci encoding
- bytestream_
transform - Utilities to deal with bytestreams originating from streams of uints.
- faster
- Fast fibonacci decoding using lookup tables.
- partial
- Decoding a fibonacci number in several steps. Each step will create/update a Partial decoding result and finally, once 11 is encountered will result in a decoded number
- u64_
fibdecoder - Repeatedly reads 8bytes into a u64 and
decodes those using the [
DirtyGenericSingle]. - u64_
fibdecoder_ refactor - Repeatedly reads 8bytes into a u64 and
decodes those using the [
Dirty64Single].
Traits§
- FbDec
New - Marker trait for Fibonacci decoders. This is an iterator over u64 (the decoded integers), allows you to get back the intput iterator once done with decoding