pub struct BloomFilter { /* private fields */ }Expand description
Space-efficient probabilistic membership filter.
False negatives are impossible; false positives occur with probability ≤
the configured false_positive_rate when the number of inserted items does
not exceed expected_items.
Implementations§
Source§impl BloomFilter
impl BloomFilter
Sourcepub fn new(expected_items: usize, false_positive_rate: f64) -> Self
pub fn new(expected_items: usize, false_positive_rate: f64) -> Self
Construct a new BloomFilter optimised for expected_items items and
the target false_positive_rate (between 0 and 1 exclusive).
Panics if expected_items == 0 or false_positive_rate is outside
(0, 1).
Sourcepub fn insert(&mut self, item: &[u8])
pub fn insert(&mut self, item: &[u8])
Insert item into the filter. After this call contains(item) is
guaranteed to return true.
Sourcepub fn contains(&self, item: &[u8]) -> bool
pub fn contains(&self, item: &[u8]) -> bool
Return true if item may be in the set; false means it definitely
is not.
Sourcepub fn estimate_false_positive_rate(&self) -> f64
pub fn estimate_false_positive_rate(&self) -> f64
Estimate the current false-positive probability given the number of items inserted so far.
Formula: (1 - e^(-k * n / m))^k
Sourcepub fn item_count(&self) -> u64
pub fn item_count(&self) -> u64
Return the number of items inserted so far.
Sourcepub fn num_hash_functions(&self) -> u8
pub fn num_hash_functions(&self) -> u8
Return the number of hash functions used per operation.
Trait Implementations§
Source§impl Clone for BloomFilter
impl Clone for BloomFilter
Source§fn clone(&self) -> BloomFilter
fn clone(&self) -> BloomFilter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more