vSMC
vSMC: Scalable Monte Carlo
Classes | Functions

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

Classes

struct  vsmc_philox2x32
 Philox2x32 RNG state structure. More...
 
struct  vsmc_philox2x32_ctr_t
 Philox2x32 counter type. More...
 
struct  vsmc_philox2x32_key_t
 Philox2x32 key type. More...
 
struct  vsmc_philox4x32
 Philox4x32 RNG state structure. More...
 
struct  vsmc_philox4x32_ctr_t
 Philox4x32 counter type. More...
 
struct  vsmc_philox4x32_key_t
 Philox4x32 key type. More...
 

Functions

static void vsmc_philox2x32_gen (const vsmc_philox2x32_ctr_t *ctr, const vsmc_philox2x32_key_t *key, vsmc_philox2x32_ctr_t *state)
 Generate Philox2x32 RNG state. More...
 
static void vsmc_philox2x32_init (vsmc_philox2x32 *rng, uint32_t seed)
 Initialize Philox2x32 RNG state. More...
 
static uint32_t vsmc_philox2x32_rand (vsmc_philox2x32 *rng)
 Generate random 32-bits integers from Philox2x32 RNG. More...
 
static void vsmc_philox4x32_gen (const vsmc_philox4x32_ctr_t *ctr, const vsmc_philox4x32_key_t *key, vsmc_philox4x32_ctr_t *state)
 Generate Philox4x32 RNG state. More...
 
static void vsmc_philox4x32_init (vsmc_philox4x32 *rng, uint32_t seed)
 Initialize Philox4x32 RNG state. More...
 
static uint32_t vsmc_philox4x32_rand (vsmc_philox4x32 *rng)
 Generate random 32-bits integers from Philox4x32 RNG. More...
 

Detailed Description

Random number generating using Random123 Philox RNG.

Function Documentation

static void vsmc_philox2x32_gen ( const vsmc_philox2x32_ctr_t ctr,
const vsmc_philox2x32_key_t key,
vsmc_philox2x32_ctr_t state 
)
static

Generate Philox2x32 RNG state.

Definition at line 176 of file philox.h.

static void vsmc_philox2x32_init ( vsmc_philox2x32 rng,
uint32_t  seed 
)
static

Initialize Philox2x32 RNG state.

Definition at line 236 of file philox.h.

static uint32_t vsmc_philox2x32_rand ( vsmc_philox2x32 rng)
static

Generate random 32-bits integers from Philox2x32 RNG.

Definition at line 261 of file philox.h.

static void vsmc_philox4x32_gen ( const vsmc_philox4x32_ctr_t ctr,
const vsmc_philox4x32_key_t key,
vsmc_philox4x32_ctr_t state 
)
static

Generate Philox4x32 RNG state.

Definition at line 206 of file philox.h.

static void vsmc_philox4x32_init ( vsmc_philox4x32 rng,
uint32_t  seed 
)
static

Initialize Philox4x32 RNG state.

Definition at line 247 of file philox.h.

static uint32_t vsmc_philox4x32_rand ( vsmc_philox4x32 rng)
static

Generate random 32-bits integers from Philox4x32 RNG.

Definition at line 274 of file philox.h.