1 unstable release

Uses old Rust 2015

0.1.0 Dec 12, 2016

#42 in #bloom

MIT license

12KB
190 lines

Bloom Filter

Build Status Coverage Status License

An implementation of a bloom filter as as described in [Space/Time Trade-offs in Hash Coding with Allowable Errors] (http://dmod.eu/deca/ft_gateway.cfm.pdf).

Example

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");
    }
}

Dependencies

~470–700KB
~10K SLoC