MCKL
Monte Carlo Kernel Library
Classes | Functions
philox.h File Reference
#include <mckl/internal/config.h>

Go to the source code of this file.

Classes

struct  mckl_philox2x32
 Philox2x32 RNG state structure. More...
 
struct  mckl_philox2x32_ctr_t
 Philox2x32 counter type. More...
 
struct  mckl_philox2x32_key_t
 Philox2x32 key type. More...
 
struct  mckl_philox2x32_par_t
 
struct  mckl_philox4x32
 Philox4x32 RNG state structure. More...
 
struct  mckl_philox4x32_ctr_t
 Philox4x32 counter type. More...
 
struct  mckl_philox4x32_key_t
 Philox4x32 key type. More...
 
struct  mckl_philox4x32_par_t
 

Functions

static void mckl_philox2x32_bumpkey (mckl_philox2x32_par_t *par)
 
static void mckl_philox2x32_gen (const mckl_philox2x32_ctr_t *ctr, const mckl_philox2x32_key_t *key, mckl_philox2x32_ctr_t *state)
 Generate Philox2x32 RNG state. More...
 
static void mckl_philox2x32_inc (mckl_philox2x32_ctr_t *ctr)
 
static void mckl_philox2x32_init (mckl_philox2x32 *rng, uint32_t seed)
 Initialize Philox2x32 RNG state. More...
 
static void mckl_philox2x32_initpar (const mckl_philox2x32_key_t *key, mckl_philox2x32_par_t *par)
 
static uint32_t mckl_philox2x32_rand (mckl_philox2x32 *rng)
 Generate random 32-bit integers from Philox2x32 RNG. More...
 
static void mckl_philox2x32_round (mckl_philox2x32_ctr_t *state, const mckl_philox2x32_par_t *par)
 
static void mckl_philox4x32_bumpkey (mckl_philox4x32_par_t *par)
 
static void mckl_philox4x32_gen (const mckl_philox4x32_ctr_t *ctr, const mckl_philox4x32_key_t *key, mckl_philox4x32_ctr_t *state)
 Generate Philox4x32 RNG state. More...
 
static void mckl_philox4x32_inc (mckl_philox4x32_ctr_t *ctr)
 
static void mckl_philox4x32_init (mckl_philox4x32 *rng, uint32_t seed)
 Initialize Philox4x32 RNG state. More...
 
static void mckl_philox4x32_initpar (const mckl_philox4x32_key_t *key, mckl_philox4x32_par_t *par)
 
static uint32_t mckl_philox4x32_rand (mckl_philox4x32 *rng)
 Generate random 32-bit integers from Philox4x32 RNG. More...
 
static void mckl_philox4x32_round (mckl_philox4x32_ctr_t *state, const mckl_philox4x32_par_t *par)
 

Function Documentation

◆ mckl_philox2x32_bumpkey()

static void mckl_philox2x32_bumpkey ( mckl_philox2x32_par_t par)
inlinestatic

Definition at line 130 of file philox.h.

◆ mckl_philox2x32_inc()

static void mckl_philox2x32_inc ( mckl_philox2x32_ctr_t ctr)
inlinestatic

Definition at line 91 of file philox.h.

◆ mckl_philox2x32_initpar()

static void mckl_philox2x32_initpar ( const mckl_philox2x32_key_t key,
mckl_philox2x32_par_t par 
)
inlinestatic

Definition at line 117 of file philox.h.

◆ mckl_philox2x32_round()

static void mckl_philox2x32_round ( mckl_philox2x32_ctr_t state,
const mckl_philox2x32_par_t par 
)
inlinestatic

Definition at line 141 of file philox.h.

◆ mckl_philox4x32_bumpkey()

static void mckl_philox4x32_bumpkey ( mckl_philox4x32_par_t par)
inlinestatic

Definition at line 135 of file philox.h.

◆ mckl_philox4x32_inc()

static void mckl_philox4x32_inc ( mckl_philox4x32_ctr_t ctr)
inlinestatic

Definition at line 101 of file philox.h.

◆ mckl_philox4x32_initpar()

static void mckl_philox4x32_initpar ( const mckl_philox4x32_key_t key,
mckl_philox4x32_par_t par 
)
inlinestatic

Definition at line 123 of file philox.h.

◆ mckl_philox4x32_round()

static void mckl_philox4x32_round ( mckl_philox4x32_ctr_t state,
const mckl_philox4x32_par_t par 
)
inlinestatic

Definition at line 158 of file philox.h.