= weighted-sampling
Rust library for weighted reservoir sampling using Algorithm A-Chao.
== Usage
[source,rust]
use weighted_sampling::WeightedReservoirSampler; use rand::thread_rng;
let mut sampler = WeightedReservoirSampler::new(); let mut rng = thread_rng();
// Process items from a stream. sampler.sample(10, "item1", &mut rng); // weight: 10 sampler.sample(5, "item2", &mut rng); // weight: 5 sampler.sample(15, "item3", &mut rng); // weight: 15
// Get the selected item. if let Some(selected) = sampler.selected() { println!("Selected: {}", selected); }