Struct rand::distributions::Exp1
[−]
[src]
pub struct Exp1;
Samples floating-point numbers according to the exponential distribution,
with rate parameter λ = 1
. This is equivalent to Exp::new(1.0)
or
sampling with -rng.gen::<f64>().ln()
, but faster.
See Exp
for the general exponential distribution.
Implemented via the ZIGNOR variant[1] of the Ziggurat method. The exact description in the paper was adjusted to use tables for the exponential distribution rather than normal.
[1]: Jurgen A. Doornik (2005). An Improved Ziggurat Method to Generate Normal Random Samples. Nuffield College, Oxford
Example
use rand::prelude::*; use rand::distributions::Exp1; let val: f64 = SmallRng::from_entropy().sample(Exp1); println!("{}", val);
Trait Implementations
impl Clone for Exp1
[src]
fn clone(&self) -> Exp1
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Copy for Exp1
[src]
impl Debug for Exp1
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl Distribution<f64> for Exp1
[src]
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> f64
[src]
Generate a random value of T
, using rng
as the source of randomness.
ⓘImportant traits for DistIter<'a, D, R, T>fn sample_iter<'a, R>(&'a self, rng: &'a mut R) -> DistIter<'a, Self, R, T> where
Self: Sized,
R: Rng,
[src]
Self: Sized,
R: Rng,
Create an iterator that generates random values of T
, using rng
as the source of randomness. Read more