rand_core::block

Trait BlockRngCore

Source
pub trait BlockRngCore {
    type Item;
    type Results: AsRef<[Self::Item]> + AsMut<[Self::Item]> + Default;

    // Required method
    fn generate(&mut self, results: &mut Self::Results);
}
Expand description

A trait for RNGs which do not generate random numbers individually, but in blocks (typically [u32; N]). This technique is commonly used by cryptographic RNGs to improve performance.

See the module documentation for details.

Required Associated Types§

Source

type Item

Results element type, e.g. u32.

Source

type Results: AsRef<[Self::Item]> + AsMut<[Self::Item]> + Default

Results type. This is the ‘block’ an RNG implementing BlockRngCore generates, which will usually be an array like [u32; 16].

Required Methods§

Source

fn generate(&mut self, results: &mut Self::Results)

Generate a new block of results.

Implementors§