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

Go to the source code of this file.

Macros

#define U01_CLOSED_CLOSED_32   u01_closed_closed_32_53
 
#define U01_CLOSED_CLOSED_64   u01_closed_closed_64_53
 
#define U01_CLOSED_OPEN_32   u01_closed_closed_32_53
 
#define U01_CLOSED_OPEN_64   u01_closed_closed_64_53
 
#define U01_OPEN_CLOSED_32   u01_open_closed_32_53
 
#define U01_OPEN_CLOSED_64   u01_open_closed_64_53
 
#define U01_OPEN_OPEN_32   u01_open_open_32_53
 
#define U01_OPEN_OPEN_64   u01_open_open_64_53
 
#define VSMC_RNG_U01_23f   (256.0f * VSMC_RNG_U01_31f)
 
#define VSMC_RNG_U01_24f   (128.0f * VSMC_RNG_U01_31f)
 
#define VSMC_RNG_U01_31f   (1.0f / (1024.0f * 1024.0f * 1024.0f * 2.0f))
 
#define VSMC_RNG_U01_32   (1.0 / (1024.0 *1024.0 * 1024.0 * 4.0))
 
#define VSMC_RNG_U01_52   (2048.0 * VSMC_RNG_U01_63)
 
#define VSMC_RNG_U01_53   (1024.0 * VSMC_RNG_U01_63)
 
#define VSMC_RNG_U01_63   (2.0 * VSMC_RNG_U01_32 * VSMC_RNG_U01_32)
 

Functions

static float u01_closed_closed_32_24 (uint32_t u)
 Converting 32-bits unsigned to single precision uniform \([0,1]\). More...
 
static double u01_closed_closed_32_53 (uint32_t u)
 Converting 32-bits unsigned to double precision uniform \([0,1]\). More...
 
static float u01_closed_closed_64_24 (uint64_t u)
 Converting 64-bits unsigned to single precision uniform \([0,1]\). More...
 
static double u01_closed_closed_64_53 (uint64_t u)
 Converting 64-bits unsigned to double precision uniform \([0,1]\). More...
 
static float u01_closed_open_32_24 (uint32_t u)
 Converting 32-bits unsigned to single precision uniform \([0,1)\). More...
 
static double u01_closed_open_32_53 (uint32_t u)
 Converting 32-bits unsigned to double precision uniform \([0,1)\). More...
 
static float u01_closed_open_64_24 (uint64_t u)
 Converting 64-bits unsigned to single precision uniform \([0,1)\). More...
 
static double u01_closed_open_64_53 (uint64_t u)
 Converting 64-bits unsigned to double precision uniform \([0,1)\). More...
 
static float u01_open_closed_32_24 (uint32_t u)
 Converting 32-bits unsigned to single precision uniform \((0,1]\). More...
 
static double u01_open_closed_32_53 (uint32_t u)
 Converting 32-bits unsigned to double precision uniform \((0,1]\). More...
 
static float u01_open_closed_64_24 (uint64_t u)
 Converting 64-bits unsigned to single precision uniform \((0,1]\). More...
 
static double u01_open_closed_64_53 (uint64_t u)
 Converting 64-bits unsigned to double precision uniform \((0,1]\). More...
 
static float u01_open_open_32_24 (uint32_t u)
 Converting 32-bits unsigned to single precision uniform \((0,1)\). More...
 
static double u01_open_open_32_53 (uint32_t u)
 Converting 32-bits unsigned to double precision uniform \((0,1)\). More...
 
static float u01_open_open_64_24 (uint64_t u)
 Converting 64-bits unsigned to single precision uniform \((0,1)\). More...
 
static double u01_open_open_64_53 (uint64_t u)
 Converting 64-bits unsigned to double precision uniform \((0,1)\). More...
 

Macro Definition Documentation

#define U01_CLOSED_CLOSED_32   u01_closed_closed_32_53

Definition at line 77 of file u01.h.

#define U01_CLOSED_CLOSED_64   u01_closed_closed_64_53

Definition at line 82 of file u01.h.

#define U01_CLOSED_OPEN_32   u01_closed_closed_32_53

Definition at line 76 of file u01.h.

#define U01_CLOSED_OPEN_64   u01_closed_closed_64_53

Definition at line 81 of file u01.h.

#define U01_OPEN_CLOSED_32   u01_open_closed_32_53

Definition at line 75 of file u01.h.

#define U01_OPEN_CLOSED_64   u01_open_closed_64_53

Definition at line 80 of file u01.h.

#define U01_OPEN_OPEN_32   u01_open_open_32_53

Definition at line 74 of file u01.h.

#define U01_OPEN_OPEN_64   u01_open_open_64_53

Definition at line 79 of file u01.h.

#define VSMC_RNG_U01_23f   (256.0f * VSMC_RNG_U01_31f)

Definition at line 95 of file u01.h.

#define VSMC_RNG_U01_24f   (128.0f * VSMC_RNG_U01_31f)

Definition at line 94 of file u01.h.

#define VSMC_RNG_U01_31f   (1.0f / (1024.0f * 1024.0f * 1024.0f * 2.0f))

Definition at line 93 of file u01.h.

#define VSMC_RNG_U01_32   (1.0 / (1024.0 *1024.0 * 1024.0 * 4.0))

Definition at line 96 of file u01.h.

#define VSMC_RNG_U01_52   (2048.0 * VSMC_RNG_U01_63)

Definition at line 99 of file u01.h.

#define VSMC_RNG_U01_53   (1024.0 * VSMC_RNG_U01_63)

Definition at line 98 of file u01.h.

#define VSMC_RNG_U01_63   (2.0 * VSMC_RNG_U01_32 * VSMC_RNG_U01_32)

Definition at line 97 of file u01.h.