vSMC
vSMC: Scalable Monte Carlo
Classes | Macros | Functions
gammak1.h File Reference
#include <vsmc/rng/internal/common.h>
#include <vsmc/rng/urng.h>
#include <vsmc/rng/normal01.h>
#include <vsmc/rng/u01.h>

Go to the source code of this file.

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
 

Macros

#define GAMMAK1_2x32   gammak1_2x32_53
 
#define GAMMAK1_2x32_INIT   gammak1_2x32_53_init
 
#define GAMMAK1_2x32_RAND   gammak1_2x32_53_rand
 
#define GAMMAK1_2x64   gammak1_2x64_53
 
#define GAMMAK1_2x64_INIT   gammak1_2x64_53_init
 
#define GAMMAK1_2x64_RAND   gammak1_2x64_53_rand
 
#define GAMMAK1_4x32   gammak1_4x32_53
 
#define GAMMAK1_4x32_INIT   gammak1_4x32_53_init
 
#define GAMMAK1_4x32_RAND   gammak1_4x32_53_rand
 
#define GAMMAK1_4x64   gammak1_4x64_53
 
#define GAMMAK1_4x64_INIT   gammak1_4x64_53_init
 
#define GAMMAK1_4x64_RAND   gammak1_4x64_53_rand
 
#define VSMC_DEFINE_RNG_GAMMAK1(N, W, F, FT)
 
#define VSMC_DEFINE_RNG_GAMMAK1_INIT(N, W, F, FT)
 
#define VSMC_DEFINE_RNG_GAMMAK1_RAND(N, W, F, FT)
 

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)
 

Macro Definition Documentation

#define GAMMAK1_2x32   gammak1_2x32_53

Definition at line 89 of file gammak1.h.

#define GAMMAK1_2x32_INIT   gammak1_2x32_53_init

Definition at line 90 of file gammak1.h.

#define GAMMAK1_2x32_RAND   gammak1_2x32_53_rand

Definition at line 91 of file gammak1.h.

#define GAMMAK1_2x64   gammak1_2x64_53

Definition at line 93 of file gammak1.h.

#define GAMMAK1_2x64_INIT   gammak1_2x64_53_init

Definition at line 94 of file gammak1.h.

#define GAMMAK1_2x64_RAND   gammak1_2x64_53_rand

Definition at line 95 of file gammak1.h.

#define GAMMAK1_4x32   gammak1_4x32_53

Definition at line 97 of file gammak1.h.

#define GAMMAK1_4x32_INIT   gammak1_4x32_53_init

Definition at line 98 of file gammak1.h.

#define GAMMAK1_4x32_RAND   gammak1_4x32_53_rand

Definition at line 99 of file gammak1.h.

#define GAMMAK1_4x64   gammak1_4x64_53

Definition at line 101 of file gammak1.h.

#define GAMMAK1_4x64_INIT   gammak1_4x64_53_init

Definition at line 102 of file gammak1.h.

#define GAMMAK1_4x64_RAND   gammak1_4x64_53_rand

Definition at line 103 of file gammak1.h.

#define VSMC_DEFINE_RNG_GAMMAK1 (   N,
  W,
  F,
  FT 
)
Value:
typedef struct { \
FT c_shape, c_s2, c_s, c_d, c_b, c_si, c_c, c_q0; \
normal01_##N##x##W##_##F rnorm; \
} gammak1_##N##x##W##_##F;

Definition at line 117 of file gammak1.h.

#define VSMC_DEFINE_RNG_GAMMAK1_INIT (   N,
  W,
  F,
  FT 
)

Definition at line 123 of file gammak1.h.

#define VSMC_DEFINE_RNG_GAMMAK1_RAND (   N,
  W,
  F,
  FT 
)

Definition at line 181 of file gammak1.h.