Struct rand::isaac::IsaacRng [] [src]

pub struct IsaacRng {
    cnt: u32,
    rsl: [w32; RAND_SIZE_USIZE],
    mem: [w32; RAND_SIZE_USIZE],
    a: w32,
    b: w32,
    c: w32,
}
Unstable (rand)

: use rand from crates.io

A random number generator that uses the ISAAC algorithm[1].

The ISAAC algorithm is generally accepted as suitable for cryptographic purposes, but this implementation has not be verified as such. Prefer a generator like OsRng that defers to the operating system for cases that need high security.

[1]: Bob Jenkins, ISAAC: A fast cryptographic random number generator

Fields

cnt
Unstable (rand)

: use rand from crates.io

rsl
Unstable (rand)

: use rand from crates.io

mem
Unstable (rand)

: use rand from crates.io

a
Unstable (rand)

: use rand from crates.io

b
Unstable (rand)

: use rand from crates.io

c
Unstable (rand)

: use rand from crates.io

Methods

impl IsaacRng

fn new_unseeded() -> IsaacRng

Unstable (rand)

: use rand from crates.io

Create an ISAAC random number generator using the default fixed seed.

fn init(&mut self, use_rsl: bool)

Unstable (rand)

: use rand from crates.io

Initialises self. If use_rsl is true, then use the current value of rsl as a seed, otherwise construct one algorithmically (not randomly).

fn isaac(&mut self)

Unstable (rand)

: use rand from crates.io

Refills the output buffer (self.rsl)

Trait Implementations

impl Clone for IsaacRng

fn clone(&self) -> IsaacRng

fn clone_from(&mut self, source: &Self)

impl Rng for IsaacRng

fn next_u32(&mut self) -> u32

fn next_u64(&mut self) -> u64

fn next_f32(&mut self) -> f32

fn next_f64(&mut self) -> f64

fn fill_bytes(&mut self, dest: &mut [u8])

fn gen<T: Rand>(&mut self) -> T

fn gen_iter<'a, T: Rand>(&'a mut self) -> Generator<'a, T, Self>

fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> T

fn gen_weighted_bool(&mut self, n: usize) -> bool

fn gen_ascii_chars<'a>(&'a mut self) -> AsciiGenerator<'a, Self>

fn choose<'a, T>(&mut self, values: &'a [T]) -> Option<&'a T>

fn shuffle<T>(&mut self, values: &mut [T])

impl<'a> SeedableRng<&'a [u32]> for IsaacRng

fn reseed(&mut self, seed: &'a [u32])

fn from_seed(seed: &'a [u32]) -> IsaacRng

impl Rand for IsaacRng

fn rand<R: Rng>(other: &mut R) -> IsaacRng

Derived Implementations

impl Copy for IsaacRng