Teem 1.10.0
src/air/randMT.c File Reference
#include "air.h"
#include "privateAir.h"
Include dependency graph for randMT.c:

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)
airRandMTStateairRandMTStateNew (unsigned int seed)
airRandMTStateairRandMTStateNix (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

airRandMTStateairRandMTStateGlobal = NULL
static int _airRandMTStateGlobal_allocated = AIR_FALSE
static int _airRandMTStateGlobal_initialized = AIR_FALSE

Define Documentation

#define _GLOBAL_INIT
#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,
 
)    (HIBIT(u) | LOBITS(v))
#define TWIST (   m,
  s0,
  s1 
)    ((m) ^ (MIXBITS(s0,s1)>>1) ^ (TWOSCOMP(LOBIT(s1)) & 0x9908b0dfUL))
#define TWOSCOMP (   u)    (~(u)+1)

Function Documentation

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)

Variable Documentation

int _airRandMTStateGlobal_allocated = AIR_FALSE [static]
int _airRandMTStateGlobal_initialized = AIR_FALSE [static]