pub trait Rng<const OUTPUT: usize>: Clone {
// Required method
fn rand(&mut self) -> [u8; OUTPUT];
// Provided methods
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.