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]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl Copy for Exp1
[src]

impl Debug for Exp1
[src]

[src]

Formats the value using the given formatter. Read more

impl Distribution<f64> for Exp1
[src]

[src]

Generate a random value of T, using rng as the source of randomness.

Important traits for DistIter<'a, D, R, T>
[src]

Create an iterator that generates random values of T, using rng as the source of randomness. Read more

Auto Trait Implementations

impl Send for Exp1

impl Sync for Exp1