pub struct DeterministicRng { /* private fields */ }Expand description
Deterministic xorshift64 RNG.
Satisfies rand_core::RngCore + SeedableRng + Clone with no alloc.
Used in STARK/ZKP as the R type parameter for MerkleTreeHidingMmcs
and HidingFriPcs.
Implementations§
Source§impl DeterministicRng
impl DeterministicRng
Sourcepub fn seed_from_u64(seed: u64) -> Self
pub fn seed_from_u64(seed: u64) -> Self
Create from a u64 seed (mirrors SmallRng::seed_from_u64).
Trait Implementations§
Source§impl Clone for DeterministicRng
impl Clone for DeterministicRng
Source§fn clone(&self) -> DeterministicRng
fn clone(&self) -> DeterministicRng
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 DeterministicRng
impl Debug for DeterministicRng
Source§impl SeedableRng for DeterministicRng
impl SeedableRng for DeterministicRng
Source§type Seed = [u8; 8]
type Seed = [u8; 8]
Seed type, which is restricted to types mutably-dereferenceable as
u8
arrays (we recommend [u8; N] for some N). Read moreSource§fn seed_from_u64(state: u64) -> Self
fn seed_from_u64(state: u64) -> Self
Create a new PRNG using a
u64 seed. Read moreSource§fn from_rng<R>(rng: &mut R) -> Self
fn from_rng<R>(rng: &mut R) -> Self
Create a new PRNG seeded from an infallible
Rng. Read moreSource§impl TryRng for DeterministicRng
impl TryRng for DeterministicRng
Source§type Error = Infallible
type Error = Infallible
The type returned in the event of a RNG error. Read more
impl Copy for DeterministicRng
Auto Trait Implementations§
impl Freeze for DeterministicRng
impl RefUnwindSafe for DeterministicRng
impl Send for DeterministicRng
impl Sync for DeterministicRng
impl Unpin for DeterministicRng
impl UnsafeUnpin for DeterministicRng
impl UnwindSafe for DeterministicRng
Blanket Implementations§
Source§impl<R> TryRngCore for Rwhere
R: TryRng,
impl<R> TryRngCore for Rwhere
R: TryRng,
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§impl<R> RngExt for R
impl<R> RngExt for R
Source§fn random<T>(&mut self) -> Twhere
StandardUniform: Distribution<T>,
fn random<T>(&mut self) -> Twhere
StandardUniform: Distribution<T>,
Return a random value via the
StandardUniform distribution. Read moreSource§fn random_iter<T>(self) -> Iter<StandardUniform, Self, T>
fn random_iter<T>(self) -> Iter<StandardUniform, Self, T>
Source§fn random_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
fn random_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
Generate a random value in the given range. Read more
Source§fn random_bool(&mut self, p: f64) -> bool
fn random_bool(&mut self, p: f64) -> bool
Return a bool with a probability
p of being true. Read moreSource§fn random_ratio(&mut self, numerator: u32, denominator: u32) -> bool
fn random_ratio(&mut self, numerator: u32, denominator: u32) -> bool
Return a bool with a probability of
numerator/denominator of being
true. Read moreSource§fn sample<T, D>(&mut self, distr: D) -> Twhere
D: Distribution<T>,
fn sample<T, D>(&mut self, distr: D) -> Twhere
D: Distribution<T>,
Sample a new value, using the given distribution. Read more
Source§fn sample_iter<T, D>(self, distr: D) -> Iter<D, Self, T>where
D: Distribution<T>,
Self: Sized,
fn sample_iter<T, D>(self, distr: D) -> Iter<D, Self, T>where
D: Distribution<T>,
Self: Sized,
Create an iterator that generates values using the given distribution. Read more