An implementation of a bloom filter as as described in Space/Time Trade-offs in Hash Coding with Allowable Errors.
extern crate bloom_filter;
use bloom_filter::BloomBuilder;
fn main() {
let elements = 2u64.pow(20);
let fpr = 0.01;
let mut bloom = BloomBuilder::new(elements).with_fpr(fpr).finish().unwrap();
bloom.insert("foo");
bloom.insert("bar");
bloom.insert("baz");
if bloom.lookup("foo") {
println!("found foo in the bloom filter");
}
}