Elias-Fano, in Rust
Elias-Fano encoding in Rust.
The Elias-Fano encoding scheme is a quasi-succinct compression method for monotonic integers using gap compression on a Bitset. It allows for decompression of a bit at any position in O(1)
time complexity.
Being quasi-succinct, it is therefore almost as good as the best theoretical possible compression as determined by the Shannon-Hartley theorem.
This implementation is based largely on one written in Go by Antonio Mallia, which can be found at his repository amallia/go-ef.
Todo:
- Tests
- Example usage
- Benchmarks, comparison with other implementations
Installation
Add the following line to your Cargo.toml:
[dependencies]
+ elias-fano = "1.1.0"
Example Usage
extern crate elias_fano;
use EliasFano;
License
MIT licensed, see LICENSE for more details.