1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
cfg_if! {
if #[cfg(target_arch = "wasm32")] {
use js_sys::Math::random;
pub fn gen_range_f32(lower: f32, upper: f32) -> f32 {
let rand_range: f32 = random() as f32 * (upper - lower);
return rand_range + lower;
}
pub fn gen_range_u32(lower: u32, upper: u32) -> u32 {
let rand_range: u32 = (random() * f64::from(upper - lower)) as u32;
return rand_range + lower;
}
pub fn gen_bool() -> bool {
return random() < 0.5;
}
} else {
use rand::Rng;
pub fn gen_range_f32(lower: f32, upper: f32) -> f32 {
return rand::thread_rng().gen_range(lower, upper);
}
pub fn gen_range_u32(lower: u32, upper: u32) -> u32 {
return rand::thread_rng().gen_range(lower, upper);
}
pub fn gen_bool() -> bool {
return rand::thread_rng().gen_bool(0.5);
}
}
}