Struct rand_distr::Geometric
source · [−]pub struct Geometric { /* private fields */ }
Expand description
The geometric distribution Geometric(p)
bounded to [0, u64::MAX]
.
This is the probability distribution of the number of failures before the
first success in a series of Bernoulli trials. It has the density function
f(k) = (1 - p)^k p
for k >= 0
, where p
is the probability of success
on each trial.
This is the discrete analogue of the exponential distribution.
Note that StandardGeometric
is an optimised
implementation for p = 0.5
.
Example
use rand_distr::{Geometric, Distribution};
let geo = Geometric::new(0.25).unwrap();
let v = geo.sample(&mut rand::thread_rng());
println!("{} is from a Geometric(0.25) distribution", v);
Implementations
Trait Implementations
sourceimpl Distribution<u64> for Geometric
impl Distribution<u64> for Geometric
sourcefn 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.
sourcefn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>ⓘNotable traits for DistIter<D, R, T>impl<D, R, T> Iterator for DistIter<D, R, T> where
D: Distribution<T>,
R: Rng, type Item = T;
where
R: Rng,
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>ⓘNotable traits for DistIter<D, R, T>impl<D, R, T> Iterator for DistIter<D, R, T> where
D: Distribution<T>,
R: Rng, type Item = T;
where
R: Rng,
D: Distribution<T>,
R: Rng, type Item = T;
Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
impl Copy for Geometric
Auto Trait Implementations
impl RefUnwindSafe for Geometric
impl Send for Geometric
impl Sync for Geometric
impl Unpin for Geometric
impl UnwindSafe for Geometric
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more