Struct rand_distr::Hypergeometric
source · pub struct Hypergeometric { /* private fields */ }Expand description
The hypergeometric distribution Hypergeometric(N, K, n).
This is the distribution of successes in samples of size n drawn without
replacement from a population of size N containing K success states.
It has the density function:
f(k) = binomial(K, k) * binomial(N-K, n-k) / binomial(N, n),
where binomial(a, b) = a! / (b! * (a - b)!).
The binomial distribution is the analogous distribution for sampling with replacement. It is a good approximation when the population size is much larger than the sample size.
Example
use rand_distr::{Distribution, Hypergeometric};
let hypergeo = Hypergeometric::new(60, 24, 7).unwrap();
let v = hypergeo.sample(&mut rand::thread_rng());
println!("{} is from a hypergeometric distribution", v);Implementations§
Trait Implementations§
source§impl Clone for Hypergeometric
impl Clone for Hypergeometric
source§fn clone(&self) -> Hypergeometric
fn clone(&self) -> Hypergeometric
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for Hypergeometric
impl Debug for Hypergeometric
source§impl Distribution<u64> for Hypergeometric
impl Distribution<u64> for Hypergeometric
source§fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> u64
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> u64
Generate a random value of
T, using rng as the source of randomness.