logo
pub trait Prng {
    type Error;
    type Prng;

    fn prng(&self) -> Result<&Self::Prng, Self::Error>;
    fn prng_mut(&mut self) -> Result<&mut Self::Prng, Self::Error>;
}
Expand description

Interpreter global pseudorandom number generator (PRNG).

Implementations of this trait may be used as the backing pseudorandom number generator for Random::DEFAULT.

The PRNG used to implement this trait is not required to be cryptographically secure. For example, MRI’s PRNG is a variant of Mersenne Twister.

Required Associated Types

Concrete type for errors when retrieving the pseudorandom number generator.

Concrete type for the interpreter pseudorandom number generator.

Required Methods

Return a shared reference to the interpreter pseudorandom number generator.

Errors

If the PRNG is inaccessible, an error is returned.

Return a mutable reference to the interpreter pseudorandom number generator.

Errors

If the PRNG is inaccessible, an error is returned.

Implementors