Struct pdatastructs::ReservoirSampling
[−]
[src]
pub struct ReservoirSampling<T, R> where
R: Rng, { /* fields omitted */ }
Simple implementation of Reservoir Sampling with fast approximation
Methods
impl<T, R> ReservoirSampling<T, R> where
R: Rng,
[src]
R: Rng,
fn new(k: usize, rng: R) -> ReservoirSampling<T, R>
[src]
Create new reservoir sampler that keeps k
samples and uses rng
for its random
decisions.
fn k(&self) -> usize
[src]
Number of samples that should be kept.
fn reservoir(&self) -> &Vec<T>
[src]
Read-only copy of the reservoir. Contains at most k
entries.
fn i(&self) -> usize
[src]
Number of data points seen.
fn add(&mut self, obj: T)
[src]
Observe new data point.
fn is_empty(&self) -> bool
[src]
Checks if reservoir is empty (i.e. no data points where observed)
fn clear(&mut self)
[src]
Clear sampler state. It now behaves like a fresh one (i.e. no data points seen so far).
Trait Implementations
impl<T: Clone, R: Clone> Clone for ReservoirSampling<T, R> where
R: Rng,
[src]
R: Rng,
fn clone(&self) -> ReservoirSampling<T, R>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T, R> Debug for ReservoirSampling<T, R> where
R: Rng,
[src]
R: Rng,
impl<T, R> Extend<T> for ReservoirSampling<T, R> where
R: Rng,
[src]
R: Rng,
fn extend<S: IntoIterator<Item = T>>(&mut self, iter: S)
[src]
Extends a collection with the contents of an iterator. Read more