# [−][src]Trait sgx_rand::SeedableRng

A random number generator that can be explicitly seeded to produce the same stream of randomness multiple times.

## Required methods

`fn reseed(&mut self, seed: Seed)`

Reseed an RNG with the given seed.

# Example

use sgx_rand::{Rng, SeedableRng, StdRng}; let seed: &[_] = &[1, 2, 3, 4]; let mut rng: StdRng = SeedableRng::from_seed(seed); println!("{}", rng.gen::<f64>()); rng.reseed(&[5, 6, 7, 8]); println!("{}", rng.gen::<f64>());

`fn from_seed(seed: Seed) -> Self`

Create a new RNG with the given seed.

# Example

use sgx_rand::{Rng, SeedableRng, StdRng}; let seed: &[_] = &[1, 2, 3, 4]; let mut rng: StdRng = SeedableRng::from_seed(seed); println!("{}", rng.gen::<f64>());

## Implementors

`impl SeedableRng<[u32; 4]> for XorShiftRng`

[src]

`fn reseed(&mut self, seed: [u32; 4])`

[src]

Reseed an XorShiftRng. This will panic if `seed`

is entirely 0.

`fn from_seed(seed: [u32; 4]) -> XorShiftRng`

[src]

Create a new XorShiftRng. This will panic if `seed`

is entirely 0.

`impl<'a> SeedableRng<&'a [u32]> for ChaChaRng`

[src]

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

[src]

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

[src]

Create a ChaCha generator from a seed, obtained from a variable-length u32 array. Only up to 8 words are used; if less than 8 words are used, the remaining are set to zero.

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

[src]

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

[src]

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

[src]

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<'a> SeedableRng<&'a [u64]> for Isaac64Rng`

[src]

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

[src]

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

[src]

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<'a> SeedableRng<&'a [usize]> for StdRng`

[src]

`impl<S, R: SeedableRng<S>, Rsdr: Reseeder<R> + Default> SeedableRng<(Rsdr, S)> for ReseedingRng<R, Rsdr>`

[src]

`fn reseed(&mut self, (rsdr, seed): (Rsdr, S))`

[src]

`fn from_seed((rsdr, seed): (Rsdr, S)) -> ReseedingRng<R, Rsdr>`

[src]

Create a new `ReseedingRng`

from the given reseeder and
seed. This uses a default value for `generation_threshold`

.