Struct peroxide::macros::r_macro::StdRng [−][src]
pub struct StdRng(_);
Expand description
The standard RNG. The PRNG algorithm in StdRng
is chosen to be efficient
on the current platform, to be statistically strong and unpredictable
(meaning a cryptographically secure PRNG).
The current algorithm used is the ChaCha block cipher with 12 rounds. Please see this relevant rand issue for the discussion. This may change as new evidence of cipher security and performance becomes available.
The algorithm is deterministic but should not be considered reproducible due to dependence on configuration and possible replacement in future library versions. For a secure reproducible generator, we recommend use of the rand_chacha crate directly.
Trait Implementations
impl SeedableRng for StdRng
[src]
impl SeedableRng for StdRng
[src]type Seed = <ChaCha12Rng as SeedableRng>::Seed
type Seed = <ChaCha12Rng as SeedableRng>::Seed
Seed type, which is restricted to types mutably-dereferencable as u8
arrays (we recommend [u8; N]
for some N
). Read more
pub fn from_seed(seed: <StdRng as SeedableRng>::Seed) -> StdRng
[src]
pub fn from_seed(seed: <StdRng as SeedableRng>::Seed) -> StdRng
[src]Create a new PRNG using the given seed. Read more
pub fn from_rng<R>(rng: R) -> Result<StdRng, Error> where
R: RngCore,
[src]
pub fn from_rng<R>(rng: R) -> Result<StdRng, Error> where
R: RngCore,
[src]Create a new PRNG seeded from another Rng
. Read more
fn seed_from_u64(state: u64) -> Self
[src]
fn seed_from_u64(state: u64) -> Self
[src]Create a new PRNG using a u64
seed. Read more
fn from_entropy() -> Self
[src]
fn from_entropy() -> Self
[src]impl CryptoRng for StdRng
[src]
impl Eq for StdRng
[src]
impl StructuralEq for StdRng
[src]
impl StructuralPartialEq for StdRng
[src]
Auto Trait Implementations
impl RefUnwindSafe for StdRng
impl Send for StdRng
impl Sync for StdRng
impl Unpin for StdRng
impl UnwindSafe for StdRng
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<R> Rng for R where
R: RngCore + ?Sized,
[src]
impl<R> Rng for R where
R: RngCore + ?Sized,
[src]fn gen<T>(&mut self) -> T where
Standard: Distribution<T>,
[src]
fn gen<T>(&mut self) -> T where
Standard: Distribution<T>,
[src]fn gen_range<T, R>(&mut self, range: R) -> T where
T: SampleUniform,
R: SampleRange<T>,
[src]
fn gen_range<T, R>(&mut self, range: R) -> T where
T: SampleUniform,
R: SampleRange<T>,
[src]Generate a random value in the given range. Read more
fn sample<T, D>(&mut self, distr: D) -> T where
D: Distribution<T>,
[src]
fn sample<T, D>(&mut self, distr: D) -> T where
D: Distribution<T>,
[src]Sample a new value, using the given distribution. Read more
fn sample_iter<T, D>(self, distr: D) -> DistIter<D, Self, T> where
D: Distribution<T>,
[src]
fn sample_iter<T, D>(self, distr: D) -> DistIter<D, Self, T> where
D: Distribution<T>,
[src]Create an iterator that generates values using the given distribution. Read more
fn gen_bool(&mut self, p: f64) -> bool
[src]
fn gen_bool(&mut self, p: f64) -> bool
[src]Return a bool with a probability p
of being true. Read more
fn gen_ratio(&mut self, numerator: u32, denominator: u32) -> bool
[src]
fn gen_ratio(&mut self, numerator: u32, denominator: u32) -> bool
[src]Return a bool with a probability of numerator/denominator
of being
true. I.e. gen_ratio(2, 3)
has chance of 2 in 3, or about 67%, of
returning true. If numerator == denominator
, then the returned value
is guaranteed to be true
. If numerator == 0
, then the returned
value is guaranteed to be false
. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,