Skip to content

Random123

Index

Public

# Random123.Random123Module.

The module for Random123 Family.

Provide 8 RNG types:

source

# Random123.R123_USE_AESNIConstant.

True when AES-NI library has been compiled.

source

# Random123.AESNI1xType.

AESNI1x <: R123Generator1x{UInt128}
AESNI1x([seed])

AESNI1x is one kind of AESNI Counter-Based RNGs. It generates one UInt128 number at a time.

seed is an Integer which will be automatically converted to UInt128.

Only available when R123_USE_AESNI.

source

# Random123.AESNI4xType.

AESNI4x <: R123Generator4x{UInt32}
AESNI4x([seed])

AESNI4x is one kind of AESNI Counter-Based RNGs. It generates four UInt32 numbers at a time.

seed is a Tuple of four Integers which will all be automatically converted to UInt32.

Only available when R123_USE_AESNI.

source

# Random123.ARS1xType.

ARS1x{R} <: R123Generator1x{UInt128}
ARS1x([seed, R=7])

ARS1x is one kind of ARS Counter-Based RNGs. It generates one UInt128 number at a time.

seed is an Integer which will be automatically converted to UInt128.

R denotes to the Rounds which should be at least 1 and no more than 10. With 7 rounds (by default), it has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

Only available when R123_USE_AESNI.

source

# Random123.ARS4xType.

ARS4x{R} <: R123Generator4x{UInt32}
ARS4x([seed, R=7])

ARS4x is one kind of ARS Counter-Based RNGs. It generates four UInt32 numbers at a time.

seed is a Tuple of four Integers which will all be automatically converted to UInt32.

R denotes to the Rounds which must be at least 1 and no more than 10. With 7 rounds (by default), it has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

Only available when R123_USE_AESNI.

source

# Random123.Philox2xType.

Philox2x{T, R} <: R123Generator2x{T}
Philox2x([seed, R])
Philox2x(T[, seed, R])

Philox2x is one kind of Philox Counter-Based RNGs. It generates two numbers at a time.

T is UInt32 or UInt64(default).

seed is an Integer which will be automatically converted to T.

R denotes to the Rounds which must be at least 1 and no more than 16. With 10 rounds (by default), it has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

source

# Random123.Philox4xType.

Philox4x{T, R} <: R123Generator4x{T}
Philox4x([seed, R])
Philox4x(T[, seed, R])

Philox4x is one kind of Philox Counter-Based RNGs. It generates four numbers at a time.

T is UInt32 or UInt64(default).

seed is a Tuple of two Integers which will both be automatically converted to T.

R denotes to the Rounds which must be at least 1 and no more than 16. With 10 rounds (by default), it has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

source

# Random123.Threefry2xType.

Threefry2x{T, R} <: R123Generator2x{T}
Threefry2x([seed, R])
Threefry2x(T[, seed, R])

Threefry2x is one kind of Threefry Counter-Based RNGs. It generates two numbers at a time.

T is UInt32 or UInt64(default).

seed is a Tuple of two Integers which will both be automatically converted to T.

R denotes to the Rounds which must be at least 1 and no more than 32. With 20 rounds (by default), it has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

source

# Random123.Threefry4xType.

Threefry4x{T, R} <: R123Generator4x{T}
Threefry4x([seed, R])
Threefry4x(T[, seed, R])

Threefry2x is one kind of Threefry Counter-Based RNGs. It generates four numbers at a time.

T is UInt32 or UInt64(default).

seed is a Tuple of four Integers which will all be automatically converted to T.

R denotes to the Rounds which must be at least 1 and no more than 32. With 20 rounds (by default), it has a considerable safety margin over the minimum number of rounds with no known statistical flaws, but still has excellent performance.

source

# Random123.set_counter!Method.

Set the counter of a Random123 RNG.

source

Internal

# Random123.AESNIKeyType.

The key for AESNI.

source

# Random123.AbstractR123Type.

The base abstract type for RNGs in Random123 Family.

source

# Random123.R123Generator1xType.

RNG that generates one number at a time.

source

# Random123.R123Generator2xType.

RNG that generates two numbers at a time.

source

# Random123.R123Generator4xType.

RNG that generates four numbers at a time.

source

# Random123.random123_rFunction.

Do one iteration and return the a tuple of a Random123 RNG object.

source