pub trait Rng<const OUTPUT: usize>: Clone {
fn rand(&mut self) -> [u8; OUTPUT];
fn generate<Generated>(&mut self) -> Generated
where
Generated: RandomGen<Self, OUTPUT>,
{ ... }
fn fill_bytes<Bytes>(&mut self, buffer: Bytes)
where
Bytes: AsMut<[u8]>,
{ ... }
fn fill<Contents, Array>(&mut self, target: Array)
where
Contents: RandomGen<Self, OUTPUT>,
Array: AsMut<[Contents]>,
{ ... }
fn generate_range<Number, Bounds>(&mut self, range: Bounds) -> Number
where
Number: RandomRange<Self, OUTPUT>,
Bounds: RangeBounds<Number>,
{ ... }
fn shuffle<Contents, Array>(&mut self, target: Array)
where
Array: AsMut<[Contents]>,
{ ... }
}
Expand description
A trait that represents a random number generator.
Required Methods§
Provided Methods§
sourcefn generate<Generated>(&mut self) -> Generatedwhere
Generated: RandomGen<Self, OUTPUT>,
fn generate<Generated>(&mut self) -> Generatedwhere
Generated: RandomGen<Self, OUTPUT>,
Generates a random of the specified type, seeding from the internal state.
sourcefn fill_bytes<Bytes>(&mut self, buffer: Bytes)where
Bytes: AsMut<[u8]>,
fn fill_bytes<Bytes>(&mut self, buffer: Bytes)where
Bytes: AsMut<[u8]>,
Fill an array of bytes with randomness.
sourcefn fill<Contents, Array>(&mut self, target: Array)where
Contents: RandomGen<Self, OUTPUT>,
Array: AsMut<[Contents]>,
fn fill<Contents, Array>(&mut self, target: Array)where
Contents: RandomGen<Self, OUTPUT>,
Array: AsMut<[Contents]>,
Fill an array with the specified type.
sourcefn generate_range<Number, Bounds>(&mut self, range: Bounds) -> Numberwhere
Number: RandomRange<Self, OUTPUT>,
Bounds: RangeBounds<Number>,
fn generate_range<Number, Bounds>(&mut self, range: Bounds) -> Numberwhere
Number: RandomRange<Self, OUTPUT>,
Bounds: RangeBounds<Number>,
Generates a random of the specified type, seeding from the internal state.
sourcefn shuffle<Contents, Array>(&mut self, target: Array)where
Array: AsMut<[Contents]>,
fn shuffle<Contents, Array>(&mut self, target: Array)where
Array: AsMut<[Contents]>,
Shuffle a slice, using the RNG.