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.
use rand::{thread_rng, Rng};
use rand::distributions::Open01;
let val: f32 = thread_rng().sample(Open01);
println!("f32 from (0, 1): {}", val);
Formats the value using the given formatter. 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
fn map<F, S>(self, func: F) -> DistMap<Self, F, T, S> where
F: Fn(T) -> S,
Self: Sized, [src]
Create a distribution of values of ‘S’ by mapping the output of Self
through the closure F Read more
impl Distribution<f64> for Open01[src]
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> f64[src]
Generate a random value of T, using rng as the source of randomness.
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>ⓘ where
R: Rng,
Self: Sized, [src]
Create an iterator that generates random values of T, using rng as
the source of randomness. Read more
fn map<F, S>(self, func: F) -> DistMap<Self, F, T, S> where
F: Fn(T) -> S,
Self: Sized, [src]
Create a distribution of values of ‘S’ by mapping the output of Self
through the closure F Read more
impl Copy for Open01[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
impl<T> ToOwned for T where
T: Clone, [src]
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>, [src]