# Randomness¶

[Source]

Source of randomness, providing methods for generatic uniformly distributed values from a given closed interval: [min, max] in order for the user to be able to generate every possible value for a given primitive numeric type.

All primitive number method create numbers in range [min, max)

``````class ref Randomness
``````

## Constructors¶

### create¶

[Source]

``````new ref create(
seed1: U64 val = 42,
seed2: U64 val = 0)
: Randomness ref^
``````

#### Parameters¶

• seed1: U64 val = 42
• seed2: U64 val = 0

## Public Functions¶

### u8¶

[Source]

Generate a U8 in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref u8(
min: U8 val = call,
max: U8 val = call)
: U8 val
``````

#### Parameters¶

• min: U8 val = call
• max: U8 val = call

### u16¶

[Source]

Generate a U16 in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref u16(
min: U16 val = call,
max: U16 val = call)
: U16 val
``````

#### Parameters¶

• min: U16 val = call
• max: U16 val = call

### u32¶

[Source]

Generate a U32 in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref u32(
min: U32 val = call,
max: U32 val = call)
: U32 val
``````

#### Parameters¶

• min: U32 val = call
• max: U32 val = call

### u64¶

[Source]

Generate a U64 in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref u64(
min: U64 val = call,
max: U64 val = call)
: U64 val
``````

#### Parameters¶

• min: U64 val = call
• max: U64 val = call

### u128¶

[Source]

Generate a U128 in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref u128(
min: U128 val = call,
max: U128 val = call)
: U128 val
``````

#### Parameters¶

• min: U128 val = call
• max: U128 val = call

### ulong¶

[Source]

Generate a ULong in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref ulong(
min: ULong val = call,
max: ULong val = call)
: ULong val
``````

### usize¶

[Source]

Generate a USize in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref usize(
min: USize val = call,
max: USize val = call)
: USize val
``````

### i8¶

[Source]

Generate a I8 in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref i8(
min: I8 val = call,
max: I8 val = call)
: I8 val
``````

#### Parameters¶

• min: I8 val = call
• max: I8 val = call

### i16¶

[Source]

Generate a I16 in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref i16(
min: I16 val = call,
max: I16 val = call)
: I16 val
``````

#### Parameters¶

• min: I16 val = call
• max: I16 val = call

### i32¶

[Source]

Generate a I32 in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref i32(
min: I32 val = call,
max: I32 val = call)
: I32 val
``````

#### Parameters¶

• min: I32 val = call
• max: I32 val = call

### i64¶

[Source]

Generate a I64 in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref i64(
min: I64 val = call,
max: I64 val = call)
: I64 val
``````

#### Parameters¶

• min: I64 val = call
• max: I64 val = call

### i128¶

[Source]

Generate a I128 in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref i128(
min: I128 val = call,
max: I128 val = call)
: I128 val
``````

#### Parameters¶

• min: I128 val = call
• max: I128 val = call

### ilong¶

[Source]

Generate a ILong in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref ilong(
min: ILong val = call,
max: ILong val = call)
: ILong val
``````

### isize¶

[Source]

Generate a ISize in closed interval [min, max] (default: [min_value, max_value]).

Behavior is undefined if `min` > `max`.

``````fun ref isize(
min: ISize val = call,
max: ISize val = call)
: ISize val
``````

### f32¶

[Source]

Generate a F32 in closed interval [min, max] (default: [0.0, 1.0]).

``````fun ref f32(
min: F32 val = 0.0,
max: F32 val = 1.0)
: F32 val
``````

#### Parameters¶

• min: F32 val = 0.0
• max: F32 val = 1.0

### f64¶

[Source]

Generate a F64 in closed interval [min, max] (default: [0.0, 1.0]).

``````fun ref f64(
min: F64 val = 0.0,
max: F64 val = 1.0)
: F64 val
``````

#### Parameters¶

• min: F64 val = 0.0
• max: F64 val = 1.0

### bool¶

[Source]

Generate a random Bool value.

``````fun ref bool()
: Bool val
``````

### shuffle[T: T]¶

[Source]

``````fun ref shuffle[T: T](
array: Array[T] ref)
: None val
``````