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§
source§impl Distribution<u64> for Geometric
impl Distribution<u64> for Geometric
impl Copy for Geometric
Auto Trait Implementations§
impl Freeze for Geometric
impl RefUnwindSafe for Geometric
impl Send for Geometric
impl Sync for Geometric
impl Unpin for Geometric
impl UnwindSafe for Geometric
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)