pub struct StepRng { /* private fields */ }
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.gen();
assert_eq!(sample, [2, 3, 4]);
Implementations§
Trait Implementations§
source§impl<'de> Deserialize<'de> for StepRng
impl<'de> Deserialize<'de> for StepRng
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq<StepRng> for StepRng
impl PartialEq<StepRng> for StepRng
source§impl RngCore for StepRng
impl RngCore for StepRng
source§fn fill_bytes(&mut self, dest: &mut [u8])
fn fill_bytes(&mut self, dest: &mut [u8])
Fill
dest
with random data. Read moresource§fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>
fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>
Fill
dest
entirely with random data. Read moresource§fn read_adapter(&mut self) -> RngReadAdapter<'_, Self>where
Self: Sized,
fn read_adapter(&mut self) -> RngReadAdapter<'_, Self>where Self: Sized,
Convert an
RngCore
to a RngReadAdapter
.