Skip to main content

naia_socket_shared/backends/native/
random.rs

1use rand::Rng;
2
3/// Container for cross-platform Random methods
4pub struct Random;
5
6impl Random {
7    /// returns a random f32 value between an upper & lower bound
8    pub fn gen_range_f32(lower: f32, upper: f32) -> f32 {
9        rand::thread_rng().gen_range(lower..upper)
10    }
11
12    /// returns a random u32 value between an upper & lower bound
13    pub fn gen_range_u32(lower: u32, upper: u32) -> u32 {
14        rand::thread_rng().gen_range(lower..upper)
15    }
16
17    /// returns a random i32 value between an upper & lower bound
18    pub fn gen_range_i32(lower: i32, upper: i32) -> i32 {
19        rand::thread_rng().gen_range(lower..upper)
20    }
21
22    /// returns a random boolean value between an upper & lower bound
23    pub fn gen_bool() -> bool {
24        rand::thread_rng().gen_bool(0.5)
25    }
26}