[−][src]Struct rand::distributions::OpenClosed01
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
impl Clone for OpenClosed01[src][+]
impl Copy for OpenClosed01[src]
impl Debug for OpenClosed01[src][+]
impl Distribution<f32> for OpenClosed01[src][+]
impl Distribution<f64> for OpenClosed01[src][+]
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
impl<T> Any for T where
T: 'static + ?Sized, [src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src][+]
T: ?Sized,
impl<T> From<T> for T[src][+]
impl<T, U> Into<U> for T where
U: From<T>, [src][+]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>, [src][+]
V: MultiLane<T>,