MCKL
Monte Carlo Kernel Library
Classes | Functions

Random number generating using Random123 Threefry RNG. More...

Classes

struct  mckl_threefry2x32
 Threefry2x32 RNG state structure. More...
 
struct  mckl_threefry2x32_ctr_t
 Threefry2x32 counter type. More...
 
struct  mckl_threefry2x32_key_t
 Threefry2x32 key type. More...
 
struct  mckl_threefry2x64
 Threefry2x64 RNG state structure. More...
 
struct  mckl_threefry2x64_ctr_t
 Threefry2x64 counter type. More...
 
struct  mckl_threefry2x64_key_t
 Threefry2x64 key type. More...
 
struct  mckl_threefry4x32
 Threefry4x32 RNG state structure. More...
 
struct  mckl_threefry4x32_ctr_t
 Threefry4x32 counter type. More...
 
struct  mckl_threefry4x32_key_t
 Threefry4x32 key type. More...
 
struct  mckl_threefry4x64
 Threefry4x64 RNG state structure. More...
 
struct  mckl_threefry4x64_ctr_t
 Threefry4x64 counter type. More...
 
struct  mckl_threefry4x64_key_t
 Threefry4x64 key type. More...
 

Functions

static void mckl_threefry2x32_gen (const mckl_threefry2x32_ctr_t *ctr, const mckl_threefry2x32_key_t *key, mckl_threefry2x32_ctr_t *state)
 Generate Threefry2x32 RNG state. More...
 
static void mckl_threefry2x32_init (mckl_threefry2x32 *rng, uint32_t seed)
 Initialize Threefry2x32 RNG state. More...
 
static uint32_t mckl_threefry2x32_rand (mckl_threefry2x32 *rng)
 Generate random 32-bit integers from Threefry2x32 RNG. More...
 
static void mckl_threefry2x64_gen (const mckl_threefry2x64_ctr_t *ctr, const mckl_threefry2x64_key_t *key, mckl_threefry2x64_ctr_t *state)
 Generate Threefry2x64 RNG state. More...
 
static void mckl_threefry2x64_init (mckl_threefry2x64 *rng, uint64_t seed)
 Initialize Threefry2x64 RNG state. More...
 
static uint64_t mckl_threefry2x64_rand (mckl_threefry2x64 *rng)
 Generate random 64-bit integers from Threefry2x64 RNG. More...
 
static void mckl_threefry4x32_gen (const mckl_threefry4x32_ctr_t *ctr, const mckl_threefry4x32_key_t *key, mckl_threefry4x32_ctr_t *state)
 Generate Threefry4x32 RNG state. More...
 
static void mckl_threefry4x32_init (mckl_threefry4x32 *rng, uint32_t seed)
 Initialize Threefry4x32 RNG state. More...
 
static uint32_t mckl_threefry4x32_rand (mckl_threefry4x32 *rng)
 Generate random 32-bit integers from Threefry4x32 RNG. More...
 
static void mckl_threefry4x64_gen (const mckl_threefry4x64_ctr_t *ctr, const mckl_threefry4x64_key_t *key, mckl_threefry4x64_ctr_t *state)
 Generate Threefry4x64 RNG state. More...
 
static void mckl_threefry4x64_init (mckl_threefry4x64 *rng, uint64_t seed)
 Initialize Threefry4x64 RNG state. More...
 
static uint64_t mckl_threefry4x64_rand (mckl_threefry4x64 *rng)
 Generate random 64-bit integers from Threefry4x64 RNG. More...
 

Detailed Description

Random number generating using Random123 Threefry RNG.

Function Documentation

◆ mckl_threefry2x32_gen()

static void mckl_threefry2x32_gen ( const mckl_threefry2x32_ctr_t ctr,
const mckl_threefry2x32_key_t key,
mckl_threefry2x32_ctr_t state 
)
inlinestatic

Generate Threefry2x32 RNG state.

Definition at line 325 of file threefry.h.

◆ mckl_threefry2x32_init()

static void mckl_threefry2x32_init ( mckl_threefry2x32 rng,
uint32_t  seed 
)
inlinestatic

Initialize Threefry2x32 RNG state.

Definition at line 473 of file threefry.h.

◆ mckl_threefry2x32_rand()

static uint32_t mckl_threefry2x32_rand ( mckl_threefry2x32 rng)
inlinestatic

Generate random 32-bit integers from Threefry2x32 RNG.

Definition at line 529 of file threefry.h.

◆ mckl_threefry2x64_gen()

static void mckl_threefry2x64_gen ( const mckl_threefry2x64_ctr_t ctr,
const mckl_threefry2x64_key_t key,
mckl_threefry2x64_ctr_t state 
)
inlinestatic

Generate Threefry2x64 RNG state.

Definition at line 399 of file threefry.h.

◆ mckl_threefry2x64_init()

static void mckl_threefry2x64_init ( mckl_threefry2x64 rng,
uint64_t  seed 
)
inlinestatic

Initialize Threefry2x64 RNG state.

Definition at line 501 of file threefry.h.

◆ mckl_threefry2x64_rand()

static uint64_t mckl_threefry2x64_rand ( mckl_threefry2x64 rng)
inlinestatic

Generate random 64-bit integers from Threefry2x64 RNG.

Definition at line 555 of file threefry.h.

◆ mckl_threefry4x32_gen()

static void mckl_threefry4x32_gen ( const mckl_threefry4x32_ctr_t ctr,
const mckl_threefry4x32_key_t key,
mckl_threefry4x32_ctr_t state 
)
inlinestatic

Generate Threefry4x32 RNG state.

Definition at line 362 of file threefry.h.

◆ mckl_threefry4x32_init()

static void mckl_threefry4x32_init ( mckl_threefry4x32 rng,
uint32_t  seed 
)
inlinestatic

Initialize Threefry4x32 RNG state.

Definition at line 485 of file threefry.h.

◆ mckl_threefry4x32_rand()

static uint32_t mckl_threefry4x32_rand ( mckl_threefry4x32 rng)
inlinestatic

Generate random 32-bit integers from Threefry4x32 RNG.

Definition at line 542 of file threefry.h.

◆ mckl_threefry4x64_gen()

static void mckl_threefry4x64_gen ( const mckl_threefry4x64_ctr_t ctr,
const mckl_threefry4x64_key_t key,
mckl_threefry4x64_ctr_t state 
)
inlinestatic

Generate Threefry4x64 RNG state.

Definition at line 436 of file threefry.h.

◆ mckl_threefry4x64_init()

static void mckl_threefry4x64_init ( mckl_threefry4x64 rng,
uint64_t  seed 
)
inlinestatic

Initialize Threefry4x64 RNG state.

Definition at line 513 of file threefry.h.

◆ mckl_threefry4x64_rand()

static uint64_t mckl_threefry4x64_rand ( mckl_threefry4x64 rng)
inlinestatic

Generate random 64-bit integers from Threefry4x64 RNG.

Definition at line 568 of file threefry.h.