Struct rand::distributions::OpenClosed01[][src]

pub struct 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 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.

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]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Copy for OpenClosed01
[src]

impl Debug for OpenClosed01
[src]

Formats the value using the given formatter. Read more

impl Distribution<f32> for OpenClosed01
[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 OpenClosed01
[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 OpenClosed01

impl Sync for OpenClosed01