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}