1 unstable release
Uses new Rust 2024
| 0.1.0 | Jul 16, 2025 |
|---|
#4 in #seedable-rng
89KB
159 lines
cmv
Rust implementation of Distinct Elements in Streams: An Algorithm for the (Text) Book by S. Chakraborty, K. Meel, N. V. Vinodchandran.
Usage
use rand::SeedableRng;
use rand::rngs::SmallRng;
use cmv::Cmv;
fn estimate_distinct(words: &[&str]) -> u128 {
let mut rng = SmallRng::seed_from_u64(0x123456789);
let mut cmv = Cmv::with_capacity(128);
for &word in words.iter() {
cmv.insert(word, &mut rng);
}
cmv.count()
}
License
Licensed under the Apache 2.0 license.
Dependencies
~510KB