pub struct ScriptedRng { /* private fields */ }Expand description
A bounded deterministic RNG that returns a caller-supplied sequence of u64 samples.
Each u32 consumes one sample and returns its low 32 bits. Byte fills encode samples in
little-endian order and discard unused bytes from the final sample.
Sampling beyond the supplied sequence panics.
Implementations§
Source§impl ScriptedRng
impl ScriptedRng
Sourcepub fn new(samples: impl IntoIterator<Item = u64>) -> Self
pub fn new(samples: impl IntoIterator<Item = u64>) -> Self
Creates a bounded RNG from the provided samples.
Trait Implementations§
Source§impl Debug for ScriptedRng
impl Debug for ScriptedRng
Source§impl From<ScriptedRng> for Box<dyn CryptoRng + Send + 'static>
Available on neither commonware_stability_BETA nor commonware_stability_DELTA nor commonware_stability_EPSILON nor commonware_stability_GAMMA nor commonware_stability_RESERVED.Boxes the rng for runtimes that take a dynamic rng (e.g. the deterministic runtime’s
Config::with_rng).
impl From<ScriptedRng> for Box<dyn CryptoRng + Send + 'static>
Available on neither
commonware_stability_BETA nor commonware_stability_DELTA nor commonware_stability_EPSILON nor commonware_stability_GAMMA nor commonware_stability_RESERVED.Boxes the rng for runtimes that take a dynamic rng (e.g. the deterministic runtime’s
Config::with_rng).
Source§fn from(rng: ScriptedRng) -> Self
fn from(rng: ScriptedRng) -> Self
Converts to this type from the input type.
impl TryCryptoRng for ScriptedRng
Available on neither
commonware_stability_BETA nor commonware_stability_DELTA nor commonware_stability_EPSILON nor commonware_stability_GAMMA nor commonware_stability_RESERVED.Source§impl TryRng for ScriptedRng
Available on neither commonware_stability_BETA nor commonware_stability_DELTA nor commonware_stability_EPSILON nor commonware_stability_GAMMA nor commonware_stability_RESERVED.
impl TryRng for ScriptedRng
Available on neither
commonware_stability_BETA nor commonware_stability_DELTA nor commonware_stability_EPSILON nor commonware_stability_GAMMA nor commonware_stability_RESERVED.Auto Trait Implementations§
impl Freeze for ScriptedRng
impl RefUnwindSafe for ScriptedRng
impl Send for ScriptedRng
impl Sync for ScriptedRng
impl Unpin for ScriptedRng
impl UnsafeUnpin for ScriptedRng
impl UnwindSafe for ScriptedRng
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<R> CryptoRng for R
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<R> RngCore for Rwhere
R: Rng,
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