Randomness¶
Source of randomness, providing methods for generating uniformly distributed values of the primitive numeric types.
The integer methods (u8 through isize) generate values in the closed
interval [min, max]. Both bounds are included, so every value of the type can
be produced.
The floating-point methods (f32 and f64) scale a value from the underlying
generator's real() (uniformly distributed in [0, 1)) onto the requested
range. min is always reachable and results are never below min, but max
is only an approximate upper bound: floating-point rounding means max may or
may not be produced, and an f32 result can land marginally above max. Do
not rely on max being included or excluded.
Constructors¶
create¶
Parameters¶
Returns¶
- Randomness ref^
Public Functions¶
u8¶
Generate a U8 in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- U8 val
u16¶
Generate a U16 in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- U16 val
u32¶
Generate a U32 in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- U32 val
u64¶
Generate a U64 in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- U64 val
u128¶
Generate a U128 in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- U128 val
ulong¶
Generate a ULong in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- ULong val
usize¶
Generate a USize in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- USize val
i8¶
Generate a I8 in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- I8 val
i16¶
Generate a I16 in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- I16 val
i32¶
Generate a I32 in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- I32 val
i64¶
Generate a I64 in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- I64 val
i128¶
Generate a I128 in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- I128 val
ilong¶
Generate a ILong in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- ILong val
isize¶
Generate a ISize in closed interval [min, max] (default: [min_value, max_value]).
Behavior is undefined if min > max.
Parameters¶
Returns¶
- ISize val
f32¶
Generate an F32 in the range from min to max (default: 0.0 to 1.0).
min is always reachable. On the default range the result is the closed
interval [0.0, 1.0]: real()'s largest value rounds up to 1.0 when
converted to F32, so max is produced when that top value is drawn. See
Randomness for how max behaves on other ranges.
Parameters¶
Returns¶
- F32 val
f64¶
Generate an F64 in the range from min to max (default: 0.0 to 1.0).
min is always reachable. On the default range the result is the half-open
interval [0.0, 1.0); max (1.0) is never produced. See Randomness for how
max behaves on other ranges.
Parameters¶
Returns¶
- F64 val
bool¶
Generate a random Bool value.
Returns¶
- Bool val
shuffle[T: T]¶
Shuffle the elements of the array into a random order, mutating the array.
Parameters¶
- array: Array[T] ref
Returns¶
- None val