Module fastfibonacci::fibonacci
source · Expand description
Regular Fibonacci encoding and decoding of integers, going bit-by-bit. See here.
§Usage
// Encoding
use fastfibonacci::fibonacci::{encode, decode, FibonacciDecoder};
let encoded = encode(&vec![34, 12]) ;
// Decoding
let decoded = decode(&encoded, false); // 2nd argument: shift all values by -1 (in case we wanted to encode 0 in the fibonacci encoding)
assert_eq!(decoded, vec![34,12]);
// Alternatively, we can also create an iterator (yields one decoded int at a time)
let f = FibonacciDecoder::new(&encoded, false);
assert_eq!(f.collect::<Vec<_>>(), vec![34,12])Structs§
- Decoder for Fibonacci encoded integer sequences (allows to iterate)
Enums§
- Error when decoding a fibonacci bitstream into integers
- Hijacked from https://github.com/antifuchs/fibonacci_codec
Functions§
- Fibonacci-decodes the bitstream into integers.
- Slightly faster (2x) encoding of multiple integers into a bitvector via Fibonacci Encoding