pub struct StepRng { /* private fields */ }Expand description
A simple implementation of RngCore for testing purposes.
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.
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
Auto Trait Implementations
impl RefUnwindSafe for StepRng
impl Send for StepRng
impl Sync for StepRng
impl Unpin for StepRng
impl UnwindSafe for StepRng
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<R> Rng for R where
R: RngCore + ?Sized,
impl<R> Rng for R where
R: RngCore + ?Sized,
sourcefn gen<T>(&mut self) -> T where
Standard: Distribution<T>,
fn gen<T>(&mut self) -> T where
Standard: Distribution<T>,
sourcefn gen_range<T: SampleUniform, B1, B2>(&mut self, low: B1, high: B2) -> T where
B1: SampleBorrow<T> + Sized,
B2: SampleBorrow<T> + Sized,
fn gen_range<T: SampleUniform, B1, B2>(&mut self, low: B1, high: B2) -> T where
B1: SampleBorrow<T> + Sized,
B2: SampleBorrow<T> + Sized,
Generate a random value in the range [low, high), i.e. inclusive of
low and exclusive of high. Read more
sourcefn 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
sourcefn sample_iter<T, D>(self, distr: D) -> DistIter<D, Self, T>ⓘNotable traits for DistIter<D, R, T>impl<D, R, T> Iterator for DistIter<D, R, T> where
D: Distribution<T>,
R: Rng, type Item = T; where
D: Distribution<T>,
Self: Sized,
fn sample_iter<T, D>(self, distr: D) -> DistIter<D, Self, T>ⓘNotable traits for DistIter<D, R, T>impl<D, R, T> Iterator for DistIter<D, R, T> where
D: Distribution<T>,
R: Rng, type Item = T; where
D: Distribution<T>,
Self: Sized,
D: Distribution<T>,
R: Rng, type Item = T;
Create an iterator that generates values using the given distribution. Read more
sourcefn fill<T: AsByteSliceMut + ?Sized>(&mut self, dest: &mut T)
fn fill<T: AsByteSliceMut + ?Sized>(&mut self, dest: &mut T)
Fill dest entirely with random bytes (uniform value distribution),
where dest is any type supporting AsByteSliceMut, namely slices
and arrays over primitive integer types (i8, i16, u32, etc.). Read more
sourcefn try_fill<T: AsByteSliceMut + ?Sized>(
&mut self,
dest: &mut T
) -> Result<(), Error>
fn try_fill<T: AsByteSliceMut + ?Sized>(
&mut self,
dest: &mut T
) -> Result<(), Error>
Fill dest entirely with random bytes (uniform value distribution),
where dest is any type supporting AsByteSliceMut, namely slices
and arrays over primitive integer types (i8, i16, u32, etc.). Read more
sourcefn gen_bool(&mut self, p: f64) -> bool
fn gen_bool(&mut self, p: f64) -> bool
Return a bool with a probability p of being true. Read more
sourcefn gen_ratio(&mut self, numerator: u32, denominator: u32) -> bool
fn gen_ratio(&mut self, numerator: u32, denominator: u32) -> bool
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
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
