Trait std::rand::SeedableRng[src]
pub trait SeedableRng<Seed>: Rng {
fn reseed<Seed>(&mut self, Seed);
fn from_seed<Seed>(seed: Seed) -> Self;
}A random number generator that can be explicitly seeded to produce the same stream of randomness multiple times.
Required Methods
fn reseed<Seed>(&mut self, Seed)
Reseed an RNG with the given seed.
Example
fn main() { use std::rand::{Rng, SeedableRng, StdRng}; let mut rng: StdRng = SeedableRng::from_seed(&[1, 2, 3, 4]); println!("{}", rng.gen::<f64>()); rng.reseed([5, 6, 7, 8]); println!("{}", rng.gen::<f64>()); }use std::rand::{Rng, SeedableRng, StdRng}; let mut rng: StdRng = SeedableRng::from_seed(&[1, 2, 3, 4]); println!("{}", rng.gen::<f64>()); rng.reseed([5, 6, 7, 8]); println!("{}", rng.gen::<f64>());
fn from_seed<Seed>(seed: Seed) -> Self
Create a new RNG with the given seed.
Example
fn main() { use std::rand::{Rng, SeedableRng, StdRng}; let mut rng: StdRng = SeedableRng::from_seed(&[1, 2, 3, 4]); println!("{}", rng.gen::<f64>()); }use std::rand::{Rng, SeedableRng, StdRng}; let mut rng: StdRng = SeedableRng::from_seed(&[1, 2, 3, 4]); println!("{}", rng.gen::<f64>());
Implementors
impl<'a> SeedableRng<&'a [uint]> for StdRngimpl<'a> SeedableRng<&'a [u32]> for IsaacRngimpl<'a> SeedableRng<&'a [u64]> for Isaac64Rngimpl<S, R: SeedableRng<S>, Rsdr: Reseeder<R> + Default> SeedableRng<(Rsdr, S)> for ReseedingRng<R, Rsdr>impl SeedableRng<[u32, ..4]> for XorShiftRng