pub struct StepRng { /* private fields */ }👎Deprecated since 0.9.2: Deprecated without replacement
Expand description
A mock generator yielding very predictable output
This generates an arithmetic sequence (i.e. adds a constant each step)
over a u64 number, using wrapping arithmetic. If the increment is 0
the generator yields a constant.
Other integer types (64-bit and smaller) are produced via cast from u64.
Other types are produced via their implementation of Rng or
Distribution.
Output values may not be intuitive and may change in future releases but
are considered
portable.
(bool output is true when bit 1u64 << 31 is set.)
§Example
use rand::Rng;
use rand::rngs::mock::StepRng;
let mut my_rng = StepRng::new(2, 1);
let sample: [u64; 3] = my_rng.random();
assert_eq!(sample, [2, 3, 4]);Implementations§
Trait Implementations§
impl Eq for StepRng
impl StructuralPartialEq for StepRng
Auto Trait Implementations§
impl Freeze for StepRng
impl RefUnwindSafe for StepRng
impl Send for StepRng
impl Sync for StepRng
impl Unpin for StepRng
impl UnwindSafe for StepRng
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§impl<R> Rng for R
 
impl<R> Rng 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: Distribution<T>>(&mut self, distr: D) -> T
 
fn sample<T, D: Distribution<T>>(&mut self, distr: D) -> 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
Source§fn gen<T>(&mut self) -> Twhere
    StandardUniform: Distribution<T>,
 
fn gen<T>(&mut self) -> Twhere
    StandardUniform: Distribution<T>,
👎Deprecated since 0.9.0: Renamed to 
random to avoid conflict with the new gen keyword in Rust 2024.Alias for 
Rng::random.Source§fn gen_range<T, R>(&mut self, range: R) -> Twhere
    T: SampleUniform,
    R: SampleRange<T>,
 
fn gen_range<T, R>(&mut self, range: R) -> Twhere
    T: SampleUniform,
    R: SampleRange<T>,
👎Deprecated since 0.9.0: Renamed to 
random_rangeAlias for 
Rng::random_range.Source§impl<R> TryRngCore for R
 
impl<R> TryRngCore for R
Source§type Error = Infallible
 
type Error = Infallible
The type returned in the event of a RNG error.
Source§fn try_next_u32(&mut self) -> Result<u32, <R as TryRngCore>::Error>
 
fn try_next_u32(&mut self) -> Result<u32, <R as TryRngCore>::Error>
Return the next random 
u32.Source§fn try_next_u64(&mut self) -> Result<u64, <R as TryRngCore>::Error>
 
fn try_next_u64(&mut self) -> Result<u64, <R as TryRngCore>::Error>
Return the next random 
u64.Source§fn try_fill_bytes(
    &mut self,
    dst: &mut [u8],
) -> Result<(), <R as TryRngCore>::Error>
 
fn try_fill_bytes( &mut self, dst: &mut [u8], ) -> Result<(), <R as TryRngCore>::Error>
Fill 
dest entirely with random data.Source§fn unwrap_err(self) -> UnwrapErr<Self>where
    Self: Sized,
 
fn unwrap_err(self) -> UnwrapErr<Self>where
    Self: Sized,
Wrap RNG with the 
UnwrapErr wrapper.Source§fn unwrap_mut(&mut self) -> UnwrapMut<'_, Self>
 
fn unwrap_mut(&mut self) -> UnwrapMut<'_, Self>
Wrap RNG with the 
UnwrapMut wrapper.