pub struct Geometric { /* private fields */ }Expand description
The geometric distribution Geometric(p).
This is the probability distribution of the number of failures
(bounded to [0, u64::MAX]) before the first success in a
series of Bernoulli trials, where the
probability of success on each trial is p.
This is the discrete analogue of the exponential distribution.
See StandardGeometric for an optimised
implementation for p = 0.5.
§Density function
f(k) = (1 - p)^k p for k >= 0.
§Plot
The following plot illustrates the geometric distribution for various
values of p. Note how higher p values shift the distribution to
the left, and the mean of the distribution is 1/p.
§Example
use rand_distr::{Geometric, Distribution};
let geo = Geometric::new(0.25).unwrap();
let v = geo.sample(&mut rand::rng());
println!("{} is from a Geometric(0.25) distribution", v);Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Geometric
impl<'de> Deserialize<'de> for Geometric
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Geometric, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Geometric, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Distribution<u64> for Geometric
impl Distribution<u64> for Geometric
Source§impl Serialize for Geometric
impl Serialize for Geometric
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for Geometric
impl StructuralPartialEq 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