fish_lib/utils/
random.rs

1use rand::distr::Distribution;
2use rand::rng;
3use rand_distr::Normal;
4
5pub fn random_normal(min: f32, max: f32) -> f32 {
6    let mut rng = rng();
7    let mean = (min + max) / 2.0;
8    let std_dev = (min - max) / 6.0;
9
10    let normal = Normal::new(mean, std_dev).unwrap();
11    let size = normal.sample(&mut rng);
12
13    size.clamp(min, max)
14}
15
16pub fn random_normal_01() -> f32 {
17    let mut rng = rng();
18    let mean = 0.5;
19    let std_dev = 1.0 / 6.0;
20
21    let normal = Normal::new(mean, std_dev).unwrap();
22    let size: f32 = normal.sample(&mut rng);
23
24    size.clamp(0.0, 1.0)
25}