Struct rand::distributions::OpenClosed01 [−][src]
pub struct OpenClosed01;
Expand description
A distribution to sample floating point numbers uniformly in the half-open
interval (0, 1]
, i.e. including 1 but not 0.
All values that can be generated are of the form n * ε/2
. For f32
the 24 most significant random bits of a u32
are used and for f64
the
53 most significant bits of a u64
are used. The conversion uses the
multiplicative method.
See also: Standard
which samples from [0, 1)
, Open01
which samples from (0, 1)
and Uniform
which samples from arbitrary
ranges.
Example
use rand::{thread_rng, Rng};
use rand::distributions::OpenClosed01;
let val: f32 = thread_rng().sample(OpenClosed01);
println!("f32 from (0, 1): {}", val);
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
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 OpenClosed01
impl Send for OpenClosed01
impl Sync for OpenClosed01
impl Unpin for OpenClosed01
impl UnwindSafe for OpenClosed01
Blanket Implementations
Mutably borrows from an owned value. Read more