pub fn random<T: Rand>() -> T
Expand description
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
let x = sgx_rand::random::<u8>();
println!("{}", x);
let y = sgx_rand::random::<f64>();
println!("{}", y);
if sgx_rand::random() { // generates a boolean
println!("Better lucky than good!");
}
Caching the thread local random number generator:
use sgx_rand::Rng;
let mut v = vec![1, 2, 3];
for x in v.iter_mut() {
*x = sgx_rand::random()
}
// would be faster as
let mut rng = sgx_rand::thread_rng();
for x in v.iter_mut() {
*x = rng.gen();
}