Struct rand::isaac::Isaac64Rng [] [src]

pub struct Isaac64Rng {
    cnt: usize,
    rsl: [w64; RAND_SIZE_64],
    mem: [w64; RAND_SIZE_64],
    a: w64,
    b: w64,
    c: w64,
}
Unstable (rand)

: use rand from crates.io

A random number generator that uses ISAAC-64[1], the 64-bit variant of the ISAAC algorithm.

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 Isaac64Rng

fn new_unseeded() -> Isaac64Rng

Unstable (rand)

: use rand from crates.io

Create a 64-bit 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 isaac64(&mut self)

Unstable (rand)

: use rand from crates.io

Refills the output buffer (self.rsl)

Trait Implementations

impl Clone for Isaac64Rng

fn clone(&self) -> Isaac64Rng

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

impl Rng for Isaac64Rng

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 [u64]> for Isaac64Rng

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

fn from_seed(seed: &'a [u64]) -> Isaac64Rng

impl Rand for Isaac64Rng

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

Derived Implementations

impl Copy for Isaac64Rng