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 23 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.
use rand::{thread_rng, Rng};
use rand::distributions::OpenClosed01;
let val: f32 = thread_rng().sample(OpenClosed01);
println!("f32 from (0, 1): {}", val);
Performs copy-assignment from source
. Read more
Formats the value using the given formatter. Read more
Generate a random value of T
, using rng
as the source of randomness.
Important traits for DistIter<'a, D, R, T>
impl<'a, D, R, T> Iterator for DistIter<'a, D, R, T> where
D: Distribution<T>,
R: Rng + 'a, type Item = T;
[−]
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.
Important traits for DistIter<'a, D, R, T>
impl<'a, D, R, T> Iterator for DistIter<'a, D, R, T> where
D: Distribution<T>,
R: Rng + 'a, type Item = T;
[−]
Create an iterator that generates random values of T
, using rng
as the source of randomness. Read more
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
[+]
[+]
type Error = <U as TryFrom<T>>::Error
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
[−]
🔬 This is a nightly-only experimental API. (try_from
)
[+]
[−]
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static