Struct rand::StdRng [-] [+] [src]

pub struct StdRng {
    // some fields omitted
}

The standard RNG. This is designed to be efficient on the current platform.

Methods

impl StdRng

fn new() -> IoResult<StdRng>

Create a randomly seeded instance of StdRng.

This is a very expensive operation as it has to read randomness from the operating system and use this in an expensive seeding operation. If one is only generating a small number of random numbers, or doesn't need the utmost speed for generating each number, thread_rng and/or random may be more appropriate.

Reading the randomness from the OS may fail, and any error is propagated via the IoResult return value.

Trait Implementations

impl Rng for StdRng

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 [usize]> for StdRng

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

fn from_seed(seed: &'a [usize]) -> StdRng

Derived Implementations

impl Clone for StdRng

fn clone(&self) -> StdRng

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

impl Copy for StdRng