#include "air.h"
#include "privateAir.h"
Defines | |
#define | AIR_RANDMT_M 397 |
#define | AIR_RANDMT_DEFAULT_SEED 42 |
#define | HIBIT(u) ((u) & 0x80000000UL) |
#define | LOBIT(u) ((u) & 0x00000001UL) |
#define | LOBITS(u) ((u) & 0x7fffffffUL) |
#define | MIXBITS(u, v) (HIBIT(u) | LOBITS(v)) |
#define | TWOSCOMP(u) (~(u)+1) |
#define | TWIST(m, s0, s1) ((m) ^ (MIXBITS(s0,s1)>>1) ^ (TWOSCOMP(LOBIT(s1)) & 0x9908b0dfUL)) |
#define | _GLOBAL_ALLOC |
#define | _GLOBAL_INIT |
Functions | |
static void | _airRandMTInitialize (airRandMTState *rng, unsigned int seed) |
static void | _airRandMTReload (airRandMTState *rng) |
airRandMTState * | airRandMTStateNew (unsigned int seed) |
airRandMTState * | airRandMTStateNix (airRandMTState *state) |
void | airSrandMT_r (airRandMTState *rng, unsigned int seed) |
unsigned int | airUIrandMT_r (airRandMTState *rng) |
double | airDrandMT_r (airRandMTState *rng) |
double | airDrandMT53_r (airRandMTState *rng) |
void | airSrandMT (unsigned int seed) |
double | airDrandMT () |
unsigned int | airRandInt (unsigned int N) |
unsigned int | airRandInt_r (airRandMTState *state, unsigned int N) |
int | airRandMTSanity () |
Variables | |
airRandMTState * | airRandMTStateGlobal = NULL |
static int | _airRandMTStateGlobal_allocated = AIR_FALSE |
static int | _airRandMTStateGlobal_initialized = AIR_FALSE |
#define _GLOBAL_ALLOC |
Value:
if (!_airRandMTStateGlobal_allocated) { \ airRandMTStateGlobal = airRandMTStateNew(0); \ _airRandMTStateGlobal_allocated = AIR_TRUE; \ }
#define _GLOBAL_INIT |
Value:
if (!_airRandMTStateGlobal_initialized) { \ airSrandMT(AIR_RANDMT_DEFAULT_SEED); \ } \
#define AIR_RANDMT_DEFAULT_SEED 42 |
#define AIR_RANDMT_M 397 |
#define HIBIT | ( | u | ) | ((u) & 0x80000000UL) |
#define LOBIT | ( | u | ) | ((u) & 0x00000001UL) |
#define LOBITS | ( | u | ) | ((u) & 0x7fffffffUL) |
#define MIXBITS | ( | u, | |||
v | ) | (HIBIT(u) | LOBITS(v)) |
#define TWIST | ( | m, | |||
s0, | |||||
s1 | ) | ((m) ^ (MIXBITS(s0,s1)>>1) ^ (TWOSCOMP(LOBIT(s1)) & 0x9908b0dfUL)) |
#define TWOSCOMP | ( | u | ) | (~(u)+1) |
static void _airRandMTInitialize | ( | airRandMTState * | rng, | |
unsigned int | seed | |||
) | [static] |
static void _airRandMTReload | ( | airRandMTState * | rng | ) | [static] |
double airDrandMT | ( | ) |
double airDrandMT53_r | ( | airRandMTState * | rng | ) |
double airDrandMT_r | ( | airRandMTState * | rng | ) |
unsigned int airRandInt | ( | unsigned int | N | ) |
unsigned int airRandInt_r | ( | airRandMTState * | state, | |
unsigned int | N | |||
) |
int airRandMTSanity | ( | ) |
airRandMTState* airRandMTStateNew | ( | unsigned int | seed | ) |
airRandMTState* airRandMTStateNix | ( | airRandMTState * | state | ) |
void airSrandMT | ( | unsigned int | seed | ) |
void airSrandMT_r | ( | airRandMTState * | rng, | |
unsigned int | seed | |||
) |
unsigned int airUIrandMT_r | ( | airRandMTState * | rng | ) |
int _airRandMTStateGlobal_allocated = AIR_FALSE [static] |
int _airRandMTStateGlobal_initialized = AIR_FALSE [static] |
airRandMTState* airRandMTStateGlobal = NULL |