pub fn rand(rng: &mut Random, max: Max) -> Result<Rand, ArgumentError>Expand description
Generate random numbers bounded from below by 0 and above by the given max.
When max is an i64, rand returns a random integer greater than or
equal to zero and less than max.
When max is an f64, rand returns a random floating point number
between 0.0 and max, including 0.0 and excluding max.
§Implementation notes
This function does not yet support range constraints. When support is added,
when max is a Range, rand will return a random number where
range.member?(number) == true.
§Examples
Generate floats from (0.0..1.0):
use spinoso_random::{rand, ArgumentError, InitializeError, Max, Rand, Random};
let mut random = Random::new()?;
let max = Max::None;
let rand = rand(&mut random, max)?;
assert!(matches!(rand, Rand::Float(x) if x < 1.0));Generate random integers:
use spinoso_random::{rand, ArgumentError, InitializeError, Max, Rand, Random};
let mut random = Random::new()?;
let max = Max::Integer(10);
let rand = rand(&mut random, max)?;
assert!(matches!(rand, Rand::Integer(x) if x < 10));§Errors
When max is a negative integer or zero, rand returns an
ArgumentError.
When max is a negative f64, rand returns an ArgumentError.
When max is a non-finite f64, rand returns a domain error
ArgumentError.