Struct flow_sdk::algorithms::secp256k1::rand::distributions::Exp1 [−][src]
pub struct Exp1;
Expand description
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 variant1 of the Ziggurat method. The exact description in the paper was adjusted to use tables for the exponential distribution rather than normal.
Example
use rand::prelude::*;
use rand::distributions::Exp1;
let val: f64 = SmallRng::from_entropy().sample(Exp1);
println!("{}", val);
Jurgen A. Doornik (2005). An Improved Ziggurat Method to Generate Normal Random Samples. Nuffield College, Oxford ↩
Trait Implementations
Generate a random value of T
, using rng
as the source of randomness.
Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
Auto Trait Implementations
impl RefUnwindSafe for Exp1
impl UnwindSafe for Exp1
Blanket Implementations
Mutably borrows from an owned value. Read more
Wrap the input message T
in a tonic::Request
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more