diff --git a/src/arbitrary.rs b/src/arbitrary.rs index 92f893b..fba18ad 100644 --- a/src/arbitrary.rs +++ b/src/arbitrary.rs @@ -76,6 +76,11 @@ impl Gen { { self.rng.gen_range(range) } + + /// Create a random number uniformly distributed on the unit interval [0, 1) + pub fn gen_uniform(&mut self) -> f32 { + self.gen() + } } /// Creates a shrinker with zero elements. @@ -1583,4 +1588,14 @@ mod test { ], ); } + + #[test] + fn gen_uniform() { + let mut g = Gen::new(10); + for _ in 0..100 { + let u = g.gen_uniform(); + assert!(u >= 0.); + assert!(u < 1.); + } + } }