Function spinoso_securerandom::random_number

``pub fn random_number(max: Max) -> Result<Rand, DomainError>``
Expand description

Generate a single random number, either a float or an integer.

In Ruby, the `rand` family of functions generate random numbers that are either floats or signed integers.

The random numbers returned by this function will never be negative and will always be finite.

In Ruby, the `rand` family of functions generate random numbers form within a range. This range is always anchored on the left by zero. See the `Max` enum documentation for how to bound the random numbers returned by this function.

Examples

``````let rand = spinoso_securerandom::random_number(Max::None)?;
assert!(matches!(rand, Rand::Float(_)));

let rand = spinoso_securerandom::random_number(Max::Integer(57))?;
assert!(matches!(rand, Rand::Integer(_)));

let rand = spinoso_securerandom::random_number(Max::Integer(-20))?;
assert!(matches!(rand, Rand::Float(_)));

let rand = spinoso_securerandom::random_number(Max::Integer(0))?;
assert!(matches!(rand, Rand::Float(_)));

let rand = spinoso_securerandom::random_number(Max::Float(57.0))?;
assert!(matches!(rand, Rand::Float(_)));

let rand = spinoso_securerandom::random_number(Max::Float(-20.0))?;
assert!(matches!(rand, Rand::Float(_)));

let rand = spinoso_securerandom::random_number(Max::Float(0.0))?;
assert!(matches!(rand, Rand::Float(_)));``````

Errors

If the float given in a `Max::Float` variant is `NaN` or infinite, a `DomainError` is returned.