1 个不稳定版本
0.1.0 | 2022年2月14日 |
---|
#2456 在 数据结构
22KB
302 行
generic-bloom
此包提供了一个 BloomFilter
特性,可以通过不同的存储类型(通过 BloomSet
特性)来参数化,以获得传统的二进制Bloom过滤器、计数Bloom过滤器和光谱Bloom过滤器。有关更多信息,请参阅文档。
lib.rs
:
此包提供了一个 BloomFilter
特性,可以通过不同的存储类型(通过 BloomSet
特性)来参数化,以获得传统的二进制Bloom过滤器、计数Bloom过滤器和光谱Bloom过滤器。有关基本用法,请参阅 SimpleBloomFilter
的文档。
BloomSet
实现为 BitBox
提供了(用于传统的位图风格的Bloom过滤器)和 Box<[T]>
,其中 T
是一个数值类型(用于计数或光谱Bloom过滤器)。
示例
基本用法
use generic_bloom::{BloomFilter, SimpleBloomFilter};
use bitvec::prelude::*;
let mut filter: SimpleBloomFilter<BitBox<usize, Lsb0>> = SimpleBloomFilter::new(10, 20);
filter.insert(&48);
filter.insert(&32);
assert!(filter.contains(&48));
assert!(filter.contains(&32));
// May fail if 39 happens to be a false positive
assert!(!filter.contains(&39));
依赖关系
~1MB
~25K SLoC