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