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

Fusefilters stall when there are duplicate values.

Fusefilters could benefit from some features in const generics that are not yet in nightly. We did not want to wait for const generic xor 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.