Function std::rand::randomDeprecated [-] [+] [src]

pub fn random<T: Rand>() -> T

Generates a random value using the thread-local random number generator.

random() can generate various types of random things, and so may require type hinting to generate the specific type you want.

This function uses the thread local random number generator. This means that if you're calling random() in a loop, caching the generator can increase performance. An example is shown below.

Examples

fn main() { use std::rand; let x = rand::random(); println!("{}", 2u8 * x); let y = rand::random::<f64>(); println!("{}", y); if rand::random() { // generates a boolean println!("Better lucky than good!"); } }
use std::rand;

let x = rand::random();
println!("{}", 2u8 * x);

let y = rand::random::<f64>();
println!("{}", y);

if rand::random() { // generates a boolean
    println!("Better lucky than good!");
}

Caching the thread local random number generator:

fn main() { use std::rand; use std::rand::Rng; let mut v = vec![1, 2, 3]; for x in v.iter_mut() { *x = rand::random() } // would be faster as let mut rng = rand::thread_rng(); for x in v.iter_mut() { *x = rng.gen(); } }
use std::rand;
use std::rand::Rng;

let mut v = vec![1, 2, 3];

for x in v.iter_mut() {
    *x = rand::random()
}

// would be faster as

let mut rng = rand::thread_rng();

for x in v.iter_mut() {
    *x = rng.gen();
}