Function spinoso_random::rand [−][src]
pub fn rand(rng: &mut Random, max: Max) -> Result<Rand, ArgumentError>
This is supported on crate feature
random-rand
only.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 constaints. 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)
:
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:
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
.