pub struct IsaacRng { /* private fields */ }
Expand description
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
Implementations
sourceimpl IsaacRng
impl IsaacRng
sourcepub fn new_unseeded() -> IsaacRng
pub fn new_unseeded() -> IsaacRng
Create an ISAAC random number generator using the default fixed seed.
Trait Implementations
sourceimpl Rng for IsaacRng
impl Rng for IsaacRng
sourcefn next_f32(&mut self) -> f32
fn next_f32(&mut self) -> f32
Return the next random f32 selected from the half-open
interval
[0, 1)
. Read moresourcefn next_f64(&mut self) -> f64
fn next_f64(&mut self) -> f64
Return the next random f64 selected from the half-open
interval
[0, 1)
. Read moresourcefn fill_bytes(&mut self, dest: &mut [u8])
fn fill_bytes(&mut self, dest: &mut [u8])
Fill
dest
with random data. Read moresourcefn gen<T: Rand>(&mut self) -> Twhere
Self: Sized,
fn gen<T: Rand>(&mut self) -> Twhere
Self: Sized,
Return a random value of a
Rand
type. Read moresourcefn gen_iter<T: Rand>(&mut self) -> Generator<'_, T, Self>ⓘNotable traits for Generator<'a, T, R>impl<'a, T: Rand, R: Rng> Iterator for Generator<'a, T, R> type Item = T;
where
Self: Sized,
fn gen_iter<T: Rand>(&mut self) -> Generator<'_, T, Self>ⓘNotable traits for Generator<'a, T, R>impl<'a, T: Rand, R: Rng> Iterator for Generator<'a, T, R> type Item = T;
where
Self: Sized,
Return an iterator that will yield an infinite number of randomly
generated items. Read more
sourcefn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> Twhere
Self: Sized,
fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> Twhere
Self: Sized,
sourcefn gen_weighted_bool(&mut self, n: u32) -> boolwhere
Self: Sized,
fn gen_weighted_bool(&mut self, n: u32) -> boolwhere
Self: Sized,
Return a bool with a 1 in n chance of true Read more
sourcefn gen_ascii_chars(&mut self) -> AsciiGenerator<'_, Self>ⓘNotable traits for AsciiGenerator<'a, R>impl<'a, R: Rng> Iterator for AsciiGenerator<'a, R> type Item = char;
where
Self: Sized,
fn gen_ascii_chars(&mut self) -> AsciiGenerator<'_, Self>ⓘNotable traits for AsciiGenerator<'a, R>impl<'a, R: Rng> Iterator for AsciiGenerator<'a, R> type Item = char;
where
Self: Sized,
Return an iterator of random characters from the set A-Z,a-z,0-9. Read more
sourcefn choose<'a, T>(&mut self, values: &'a [T]) -> Option<&'a T>where
Self: Sized,
fn choose<'a, T>(&mut self, values: &'a [T]) -> Option<&'a T>where
Self: Sized,
Return a random element from
values
. Read moresourceimpl<'a> SeedableRng<&'a [u32]> for IsaacRng
impl<'a> SeedableRng<&'a [u32]> for IsaacRng
sourcefn from_seed(seed: &'a [u32]) -> IsaacRng
fn from_seed(seed: &'a [u32]) -> IsaacRng
Create an ISAAC random number generator with a seed. This can be any length, although the maximum number of elements used is 256 and any more will be silently ignored. A generator constructed with a given seed will generate the same sequence of values as all other generators constructed with that seed.
impl Copy for IsaacRng
Auto Trait Implementations
impl RefUnwindSafe for IsaacRng
impl Send for IsaacRng
impl Sync for IsaacRng
impl Unpin for IsaacRng
impl UnwindSafe for IsaacRng
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more