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§

Functions§

  • Fibonacci-decodes the bitstream into integers.
  • Slightly faster (2x) encoding of multiple integers into a bitvector via Fibonacci Encoding