Struct rand::distributions::OpenClosed01
source · pub struct OpenClosed01;
Expand description
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§
source§impl Clone for OpenClosed01
impl Clone for OpenClosed01
source§fn clone(&self) -> OpenClosed01
fn clone(&self) -> OpenClosed01
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for OpenClosed01
impl Debug for OpenClosed01
source§impl Distribution<f32> for OpenClosed01
impl Distribution<f32> for OpenClosed01
source§impl Distribution<f64> for OpenClosed01
impl Distribution<f64> for OpenClosed01
impl Copy for OpenClosed01
Auto Trait Implementations§
impl Freeze for OpenClosed01
impl RefUnwindSafe for OpenClosed01
impl Send for OpenClosed01
impl Sync for OpenClosed01
impl Unpin for OpenClosed01
impl UnwindSafe for OpenClosed01
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)