| Crates.io | cmv |
| lib.rs | cmv |
| version | 0.1.0 |
| created_at | 2025-07-16 15:20:06.995461+00 |
| updated_at | 2025-07-16 15:20:06.995461+00 |
| description | Rust implementation of 'Distinct Elements in Streams: An Algorithm for the (Text) Book' by Sourav Chakraborty et al. |
| homepage | |
| repository | https://github.com/romac/cmv |
| max_upload_size | |
| id | 1755650 |
| size | 235,725 |
Rust implementation of Distinct Elements in Streams: An Algorithm for the (Text) Book by S. Chakraborty, K. Meel, N. V. Vinodchandran.
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()
}
Licensed under the Apache 2.0 license.