Fusefilter

Quick Start

```rust const N: usize = 1000009; const KEYSIZE: usize = key_size::();

let mut keys: [u64; KEYSIZE] = [0_u64; KEYSIZE];

for i in 0..KEYSIZE { keys[i] = i as u64; }

let f: Fuse

for i in 0..10 { dbg!(f.contains(&keys[i])); } ```

Limitations

Fuse Filters are not designed to work with duplicate values. [1]

Fusefilters could benefit from some features in const generics that are not yet in nightly. We did not want to wait for const generic fuse filters, so that is the reason behind why there are some const fns and Sized.

Acknowledgement

The design here comes from Xorf.

Reference

https://arxiv.org/pdf/1907.04749.pdf, 27th Annual European Symposium on Algorithms.