1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
use rand::{ thread_rng, Rng }; use rand::distributions::uniform::{ SampleUniform }; pub fn in_range<T: SampleUniform + PartialOrd>(min: T, max: T) -> T { let mut rng = thread_rng(); let res: T = rng.gen_range(min, max); res } pub fn vec_in_range<T: SampleUniform + PartialOrd + Copy> (count: usize, min: T, max: T) -> Vec<T> { let mut x = Vec::<T>::with_capacity(count); for _ in 0..count { x.push(in_range(min, max)); } x }