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