aver_rt/random.rs
1/// Random number generation backed by the OS entropy source.
2use rand::Rng;
3
4/// Random integer in `[min, max]` inclusive.
5///
6/// # Errors
7/// Returns `Err` if `min > max`.
8pub fn random_int(min: i64, max: i64) -> Result<i64, String> {
9 if min > max {
10 return Err(format!(
11 "Random.int: min ({}) must be <= max ({})",
12 min, max
13 ));
14 }
15 Ok(rand::rng().random_range(min..=max))
16}
17
18/// Random float in `[0.0, 1.0)`.
19pub fn random_float() -> f64 {
20 rand::rng().random_range(0.0..1.0)
21}