[][src]Struct rand::distributions::uniform::UniformFloat

pub struct UniformFloat<X> { /* fields omitted */ }

The back-end implementing UniformSampler for floating-point types.

Unless you are implementing UniformSampler for your own type, this type should not be used directly, use Uniform instead.

Implementation notes

Instead of generating a float in the [0, 1) range using Standard, the UniformFloat implementation converts the output of an PRNG itself. This way one or two steps can be optimized out.

The floats are first converted to a value in the [1, 2) interval using a transmute-based method, and then mapped to the expected range with a multiply and addition. Values produced this way have what equals 22 bits of random digits for an f32, and 52 for an f64.

Trait Implementations

impl UniformSampler for UniformFloat<f32>
[src]

type X = f32

The type sampled by this implementation.

impl UniformSampler for UniformFloat<f64>
[src]

type X = f64

The type sampled by this implementation.

impl UniformSampler for UniformFloat<f32x2>
[src]

type X = f32x2

The type sampled by this implementation.

impl UniformSampler for UniformFloat<f32x4>
[src]

type X = f32x4

The type sampled by this implementation.

impl UniformSampler for UniformFloat<f32x8>
[src]

type X = f32x8

The type sampled by this implementation.

impl UniformSampler for UniformFloat<f32x16>
[src]

type X = f32x16

The type sampled by this implementation.

impl UniformSampler for UniformFloat<f64x2>
[src]

type X = f64x2

The type sampled by this implementation.

impl UniformSampler for UniformFloat<f64x4>
[src]

type X = f64x4

The type sampled by this implementation.

impl UniformSampler for UniformFloat<f64x8>
[src]

type X = f64x8

The type sampled by this implementation.

impl<X: Copy> Copy for UniformFloat<X>
[src]

impl<X: Clone> Clone for UniformFloat<X>
[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl<X: Debug> Debug for UniformFloat<X>
[src]

Auto Trait Implementations

impl<X> Send for UniformFloat<X> where
    X: Send

impl<X> Sync for UniformFloat<X> where
    X: Sync

Blanket Implementations

impl<T> From for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> FromCast for T
[src]

impl<T, U> Cast for T where
    U: FromCast<T>, 
[src]

impl<T> FromBits for T
[src]

impl<T, U> IntoBits for T where
    U: FromBits<T>, 
[src]