Struct rand::distributions::Open01[][src]

pub struct Open01;

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 22 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

impl Clone for Open01
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Copy for Open01
[src]

impl Debug for Open01
[src]

Formats the value using the given formatter. Read more

impl Distribution<f32> for Open01
[src]

Generate a random value of T, using rng as the source of randomness.

Important traits for DistIter<'a, D, R, T>

Create an iterator that generates random values of T, using rng as the source of randomness. Read more

impl Distribution<f64> for Open01
[src]

Generate a random value of T, using rng as the source of randomness.

Important traits for DistIter<'a, D, R, T>

Create an iterator that generates random values of T, using rng as the source of randomness. Read more

Auto Trait Implementations

impl Send for Open01

impl Sync for Open01