vSMC
vSMC: Scalable Monte Carlo
Classes | Macros | Typedefs | Functions

Random number generating in OpenCL kernels. More...

Classes

struct  gammak1_2x32_24
 
struct  gammak1_2x32_53
 
struct  gammak1_2x64_53
 
struct  gammak1_4x32_24
 
struct  gammak1_4x32_53
 
struct  gammak1_4x64_53
 
struct  normal01_2x32_24
 
struct  normal01_2x32_53
 
struct  normal01_2x64_53
 
struct  normal01_4x32_24
 
struct  normal01_4x32_53
 
struct  normal01_4x64_53
 
struct  philox2x32_rng_t
 
struct  philox2x64_rng_t
 
struct  philox4x32_rng_t
 
struct  philox4x64_rng_t
 
struct  threefry2x32_rng_t
 
struct  threefry2x64_rng_t
 
struct  threefry4x32_rng_t
 
struct  threefry4x64_rng_t
 

Macros

#define cburng2x32_init   threefry2x32_init
 
#define cburng2x32_rand   threefry2x32_rand
 
#define cburng2x64_init   threefry2x64_init
 
#define cburng2x64_rand   threefry2x64_rand
 
#define cburng4x32_init   threefry4x32_init
 
#define cburng4x32_rand   threefry4x32_rand
 
#define cburng4x64_init   threefry4x64_init
 
#define cburng4x64_rand   threefry4x64_rand
 

Typedefs

typedef threefry2x32_rng_t cburng2x32_rng_t
 
typedef threefry2x64_rng_t cburng2x64_rng_t
 
typedef threefry4x32_rng_t cburng4x32_rng_t
 
typedef threefry4x64_rng_t cburng4x64_rng_t
 

Functions

static void gammak1_2x32_24_init (gammak1_2x32_24 *rgamma, cburng2x32_rng_t *rng, float shape)
 
static float gammak1_2x32_24_rand (gammak1_2x32_24 *rgamma, cburng2x32_rng_t *rng)
 
static void gammak1_2x32_53_init (gammak1_2x32_53 *rgamma, cburng2x32_rng_t *rng, double shape)
 
static double gammak1_2x32_53_rand (gammak1_2x32_53 *rgamma, cburng2x32_rng_t *rng)
 
static void gammak1_2x64_53_init (gammak1_2x64_53 *rgamma, cburng2x64_rng_t *rng, double shape)
 
static double gammak1_2x64_53_rand (gammak1_2x64_53 *rgamma, cburng2x64_rng_t *rng)
 
static void gammak1_4x32_24_init (gammak1_4x32_24 *rgamma, cburng4x32_rng_t *rng, float shape)
 
static float gammak1_4x32_24_rand (gammak1_4x32_24 *rgamma, cburng4x32_rng_t *rng)
 
static void gammak1_4x32_53_init (gammak1_4x32_53 *rgamma, cburng4x32_rng_t *rng, double shape)
 
static double gammak1_4x32_53_rand (gammak1_4x32_53 *rgamma, cburng4x32_rng_t *rng)
 
static void gammak1_4x64_53_init (gammak1_4x64_53 *rgamma, cburng4x64_rng_t *rng, double shape)
 
static double gammak1_4x64_53_rand (gammak1_4x64_53 *rgamma, cburng4x64_rng_t *rng)
 
static void normal01_2x32_24_init (normal01_2x32_24 *rnorm, cburng2x32_rng_t *rng)
 
static float normal01_2x32_24_rand (normal01_2x32_24 *rnorm, cburng2x32_rng_t *rng)
 
static void normal01_2x32_53_init (normal01_2x32_53 *rnorm, cburng2x32_rng_t *rng)
 
static double normal01_2x32_53_rand (normal01_2x32_53 *rnorm, cburng2x32_rng_t *rng)
 
static void normal01_2x64_53_init (normal01_2x64_53 *rnorm, cburng2x64_rng_t *rng)
 
static double normal01_2x64_53_rand (normal01_2x64_53 *rnorm, cburng2x64_rng_t *rng)
 
static void normal01_4x32_24_init (normal01_4x32_24 *rnorm, cburng4x32_rng_t *rng)
 
static float normal01_4x32_24_rand (normal01_4x32_24 *rnorm, cburng4x32_rng_t *rng)
 
static void normal01_4x32_53_init (normal01_4x32_53 *rnorm, cburng4x32_rng_t *rng)
 
static double normal01_4x32_53_rand (normal01_4x32_53 *rnorm, cburng4x32_rng_t *rng)
 
static void normal01_4x64_53_init (normal01_4x64_53 *rnorm, cburng4x64_rng_t *rng)
 
static double normal01_4x64_53_rand (normal01_4x64_53 *rnorm, cburng4x64_rng_t *rng)
 
static void philox2x32_init (philox2x32_rng_t *rng, uint32_t seed)
 
static uint32_t philox2x32_rand (philox2x32_rng_t *rng)
 
static void philox2x64_init (philox2x64_rng_t *rng, uint64_t seed)
 
static uint64_t philox2x64_rand (philox2x64_rng_t *rng)
 
static void philox4x32_init (philox4x32_rng_t *rng, uint32_t seed)
 
static uint32_t philox4x32_rand (philox4x32_rng_t *rng)
 
static void philox4x64_init (philox4x64_rng_t *rng, uint64_t seed)
 
static uint64_t philox4x64_rand (philox4x64_rng_t *rng)
 
static void threefry2x32_init (threefry2x32_rng_t *rng, uint32_t seed)
 
static uint32_t threefry2x32_rand (threefry2x32_rng_t *rng)
 
static void threefry2x64_init (threefry2x64_rng_t *rng, uint64_t seed)
 
static uint64_t threefry2x64_rand (threefry2x64_rng_t *rng)
 
static void threefry4x32_init (threefry4x32_rng_t *rng, uint32_t seed)
 
static uint32_t threefry4x32_rand (threefry4x32_rng_t *rng)
 
static void threefry4x64_init (threefry4x64_rng_t *rng, uint64_t seed)
 
static uint64_t threefry4x64_rand (threefry4x64_rng_t *rng)
 

Detailed Description

Random number generating in OpenCL kernels.

Macro Definition Documentation

#define cburng2x32_init   threefry2x32_init

Definition at line 317 of file urng.h.

#define cburng2x32_rand   threefry2x32_rand

Definition at line 325 of file urng.h.

#define cburng2x64_init   threefry2x64_init

Definition at line 321 of file urng.h.

#define cburng2x64_rand   threefry2x64_rand

Definition at line 329 of file urng.h.

#define cburng4x32_init   threefry4x32_init

Definition at line 319 of file urng.h.

#define cburng4x32_rand   threefry4x32_rand

Definition at line 327 of file urng.h.

#define cburng4x64_init   threefry4x64_init

Definition at line 323 of file urng.h.

#define cburng4x64_rand   threefry4x64_rand

Definition at line 331 of file urng.h.

Typedef Documentation

Definition at line 309 of file urng.h.

Definition at line 313 of file urng.h.

Definition at line 311 of file urng.h.

Definition at line 315 of file urng.h.

Function Documentation

static void gammak1_2x32_24_init ( gammak1_2x32_24 rgamma,
cburng2x32_rng_t rng,
float  shape 
)
static

Definition at line 295 of file gammak1.h.

static float gammak1_2x32_24_rand ( gammak1_2x32_24 rgamma,
cburng2x32_rng_t rng 
)
static

Definition at line 300 of file gammak1.h.

static void gammak1_2x32_53_init ( gammak1_2x32_53 rgamma,
cburng2x32_rng_t rng,
double  shape 
)
static

Definition at line 312 of file gammak1.h.

static double gammak1_2x32_53_rand ( gammak1_2x32_53 rgamma,
cburng2x32_rng_t rng 
)
static

Definition at line 317 of file gammak1.h.

static void gammak1_2x64_53_init ( gammak1_2x64_53 rgamma,
cburng2x64_rng_t rng,
double  shape 
)
static

Definition at line 327 of file gammak1.h.

static double gammak1_2x64_53_rand ( gammak1_2x64_53 rgamma,
cburng2x64_rng_t rng 
)
static

Definition at line 332 of file gammak1.h.

static void gammak1_4x32_24_init ( gammak1_4x32_24 rgamma,
cburng4x32_rng_t rng,
float  shape 
)
static

Definition at line 297 of file gammak1.h.

static float gammak1_4x32_24_rand ( gammak1_4x32_24 rgamma,
cburng4x32_rng_t rng 
)
static

Definition at line 302 of file gammak1.h.

static void gammak1_4x32_53_init ( gammak1_4x32_53 rgamma,
cburng4x32_rng_t rng,
double  shape 
)
static

Definition at line 314 of file gammak1.h.

static double gammak1_4x32_53_rand ( gammak1_4x32_53 rgamma,
cburng4x32_rng_t rng 
)
static

Definition at line 319 of file gammak1.h.

static void gammak1_4x64_53_init ( gammak1_4x64_53 rgamma,
cburng4x64_rng_t rng,
double  shape 
)
static

Definition at line 329 of file gammak1.h.

static double gammak1_4x64_53_rand ( gammak1_4x64_53 rgamma,
cburng4x64_rng_t rng 
)
static

Definition at line 334 of file gammak1.h.

static void normal01_2x32_24_init ( normal01_2x32_24 rnorm,
cburng2x32_rng_t rng 
)
static

Definition at line 147 of file normal01.h.

static float normal01_2x32_24_rand ( normal01_2x32_24 rnorm,
cburng2x32_rng_t rng 
)
static

Definition at line 152 of file normal01.h.

static void normal01_2x32_53_init ( normal01_2x32_53 rnorm,
cburng2x32_rng_t rng 
)
static

Definition at line 164 of file normal01.h.

static double normal01_2x32_53_rand ( normal01_2x32_53 rnorm,
cburng2x32_rng_t rng 
)
static

Definition at line 169 of file normal01.h.

static void normal01_2x64_53_init ( normal01_2x64_53 rnorm,
cburng2x64_rng_t rng 
)
static

Definition at line 179 of file normal01.h.

static double normal01_2x64_53_rand ( normal01_2x64_53 rnorm,
cburng2x64_rng_t rng 
)
static

Definition at line 184 of file normal01.h.

static void normal01_4x32_24_init ( normal01_4x32_24 rnorm,
cburng4x32_rng_t rng 
)
static

Definition at line 149 of file normal01.h.

static float normal01_4x32_24_rand ( normal01_4x32_24 rnorm,
cburng4x32_rng_t rng 
)
static

Definition at line 154 of file normal01.h.

static void normal01_4x32_53_init ( normal01_4x32_53 rnorm,
cburng4x32_rng_t rng 
)
static

Definition at line 166 of file normal01.h.

static double normal01_4x32_53_rand ( normal01_4x32_53 rnorm,
cburng4x32_rng_t rng 
)
static

Definition at line 171 of file normal01.h.

static void normal01_4x64_53_init ( normal01_4x64_53 rnorm,
cburng4x64_rng_t rng 
)
static

Definition at line 181 of file normal01.h.

static double normal01_4x64_53_rand ( normal01_4x64_53 rnorm,
cburng4x64_rng_t rng 
)
static

Definition at line 186 of file normal01.h.

static void philox2x32_init ( philox2x32_rng_t rng,
uint32_t  seed 
)
static

Definition at line 265 of file urng.h.

static uint32_t philox2x32_rand ( philox2x32_rng_t rng)
static

Definition at line 274 of file urng.h.

static void philox2x64_init ( philox2x64_rng_t rng,
uint64_t  seed 
)
static

Definition at line 269 of file urng.h.

static uint64_t philox2x64_rand ( philox2x64_rng_t rng)
static

Definition at line 278 of file urng.h.

static void philox4x32_init ( philox4x32_rng_t rng,
uint32_t  seed 
)
static

Definition at line 267 of file urng.h.

static uint32_t philox4x32_rand ( philox4x32_rng_t rng)
static

Definition at line 276 of file urng.h.

static void philox4x64_init ( philox4x64_rng_t rng,
uint64_t  seed 
)
static

Definition at line 271 of file urng.h.

static uint64_t philox4x64_rand ( philox4x64_rng_t rng)
static

Definition at line 280 of file urng.h.

static void threefry2x32_init ( threefry2x32_rng_t rng,
uint32_t  seed 
)
static

Definition at line 238 of file urng.h.

static uint32_t threefry2x32_rand ( threefry2x32_rng_t rng)
static

Definition at line 247 of file urng.h.

static void threefry2x64_init ( threefry2x64_rng_t rng,
uint64_t  seed 
)
static

Definition at line 242 of file urng.h.

static uint64_t threefry2x64_rand ( threefry2x64_rng_t rng)
static

Definition at line 251 of file urng.h.

static void threefry4x32_init ( threefry4x32_rng_t rng,
uint32_t  seed 
)
static

Definition at line 240 of file urng.h.

static uint32_t threefry4x32_rand ( threefry4x32_rng_t rng)
static

Definition at line 249 of file urng.h.

static void threefry4x64_init ( threefry4x64_rng_t rng,
uint64_t  seed 
)
static

Definition at line 244 of file urng.h.

static uint64_t threefry4x64_rand ( threefry4x64_rng_t rng)
static

Definition at line 253 of file urng.h.