Rosetta
|
Simple container for keeping K random values. More...
#include <reservoir_sample.hh>
Public Member Functions | |
ReservoirSampler (numeric::Size const wanted) | |
~ReservoirSampler ()=default | |
void | add_value (T const &val) |
numeric::Size | n_vals () const |
numeric::Size | n_wanted () const |
numeric::Size | n_seen () const |
utility::vector1< T > const & | values () const |
Private Member Functions | |
ReservoirSampler () | |
Private Attributes | |
utility::vector1< T > | values_ |
numeric::Size | n_seen_ |
numeric::Size const | n_wanted_ |
Simple container for keeping K random values.
Values are stochastically preserved so that the probability of any value existing is always 1 / N, where N is the number of values seen.
|
inline |
|
default |
|
private |
|
inline |
References kmeans_adaptive_kernel_density_bb_dependent_rotlib::idx, numeric::random::ReservoirSampler< T >::n_seen(), numeric::random::ReservoirSampler< T >::n_seen_, numeric::random::ReservoirSampler< T >::n_vals(), numeric::random::ReservoirSampler< T >::n_wanted(), numeric::random::random_range(), numeric::random::reservoir_sample_accept_prob(), numeric::random::uniform(), and numeric::random::ReservoirSampler< T >::values_.
|
inline |
References numeric::random::ReservoirSampler< T >::n_seen_.
Referenced by numeric::random::ReservoirSampler< T >::add_value().
|
inline |
References numeric::random::ReservoirSampler< T >::values_.
Referenced by numeric::random::ReservoirSampler< T >::add_value().
|
inline |
References numeric::random::ReservoirSampler< T >::n_wanted_.
Referenced by numeric::random::ReservoirSampler< T >::add_value().
|
inline |
References numeric::random::ReservoirSampler< T >::values_.
|
private |
|
private |
Referenced by numeric::random::ReservoirSampler< T >::n_wanted().
|
private |