0.1.0 |
|
---|
#41 in #probabilistic
16KB
168 lines
PDSA: A Rust library for Probabilistic Data Structures
PDSA is a collection of probabilistic data structures implemented in Rust. These data structures are useful for various applications where approximate answers or approximations to subsets are sufficient.
Currently, PDSA includes an implementation of Bloom filter, with other data structures to be added in the future releases.
Installation
Add the following line to your Cargo.toml file:
[dependencies]
pdsa = "0.1.0"
Usage
BloomFilter
use pdsa::BloomFilter;
fn main() {
// Create a Bloom filter with 1000 items and a false positive rate of 1%
let mut bloom_filter = BloomFilter::new(1000, 0.01).unwrap();
// Insert some items into the Bloom filter
bloom_filter.insert(&"foo");
bloom_filter.insert(&"bar");
// Check if an item is in the Bloom filter
assert!(bloom_filter.contains(&"foo"));
assert!(!bloom_filter.contains(&"baz"));
}
Contribution
Contributions are welcome! If you find a bug or have a feature request, please open an issue on the GitHub repository. If you would like to contribute code, please fork the repository and submit a pull request.
See CONTRIBUTING.md.
License
PDSA is licensed under the MIT license. See the LICENSE file for details.
Dependencies
~0.5–1.1MB
~25K SLoC