Struct Uniform01

Source
pub struct Uniform01<const BASE: Word> { /* private fields */ }
Expand description

A uniform distribution between 0 and 1. It can be used to replace the Standard, Open01, OpenClosed01 distributions from the rand crate when you want to customize the precision of the generated float number.

Implementations§

Source§

impl<const B: Word> Uniform01<B>

Source

pub fn new(precision: usize) -> Self

Create a uniform distribution in [0, 1) with a given precision.

Source

pub fn new_closed(precision: usize) -> Self

Create a uniform distribution in [0, 1] with a given precision.

Source

pub fn new_open(precision: usize) -> Self

Create a uniform distribution in (0, 1) with a given precision.

Source

pub fn new_open_closed(precision: usize) -> Self

Create a uniform distribution in (0, 1] with a given precision.

Trait Implementations§

Source§

impl<R: Round, const B: Word> Distribution<FBig<R, B>> for Uniform01<B>

Source§

fn sample<RNG: Rng + ?Sized>(&self, rng: &mut RNG) -> FBig<R, B>

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

fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>
where R: Rng, Self: Sized,

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

fn map<F, S>(self, func: F) -> DistMap<Self, F, T, S>
where F: Fn(T) -> S, Self: Sized,

Create a distribution of values of ‘S’ by mapping the output of Self through the closure F Read more

Auto Trait Implementations§

§

impl<const BASE: u64> Freeze for Uniform01<BASE>

§

impl<const BASE: u64> RefUnwindSafe for Uniform01<BASE>

§

impl<const BASE: u64> Send for Uniform01<BASE>

§

impl<const BASE: u64> Sync for Uniform01<BASE>

§

impl<const BASE: u64> Unpin for Uniform01<BASE>

§

impl<const BASE: u64> UnwindSafe for Uniform01<BASE>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoSql for T

Source§

fn into_sql<T>(self) -> Self::Expression
where Self: Sized + AsExpression<T>,

Convert self to an expression for Diesel’s query builder. Read more
Source§

fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
where &'a Self: AsExpression<T>,

Convert &self to an expression for Diesel’s query builder. Read more
Source§

impl<T> IntoSql for T

Source§

fn into_sql<T>(self) -> Self::Expression

Convert self to an expression for Diesel’s query builder. Read more
Source§

fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
where &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,

Convert &self to an expression for Diesel’s query builder. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V