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::Rng;
use rand::distr::OpenClosed01;
let val: f32 = rand::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 Default for OpenClosed01
impl Default for OpenClosed01
source§fn default() -> OpenClosed01
fn default() -> OpenClosed01
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for OpenClosed01
impl<'de> Deserialize<'de> for OpenClosed01
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<OpenClosed01, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<OpenClosed01, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Distribution<f32> for OpenClosed01
impl Distribution<f32> for OpenClosed01
source§impl Distribution<f64> for OpenClosed01
impl Distribution<f64> for OpenClosed01
source§impl Serialize for OpenClosed01
impl Serialize for OpenClosed01
source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
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§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
)