Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
mixmax.h File Reference
This graph shows which files directly or indirectly include this file:

Classes

struct  rng_state_st
 

Macros

#define ARRAY_INDEX_OUT_OF_BOUNDS   0xFF01
 
#define BITS   61
 
#define ERROR_READING_STATE_CHECKSUM   0xFF05
 
#define ERROR_READING_STATE_COUNTER   0xFF04
 
#define ERROR_READING_STATE_FILE   0xFF03
 
#define get_next(X)   GET_BY_MACRO(X)
 
#define get_next_float(X)   get_next_float_BY_MACRO(X)
 
#define INV_MERSBASE   (0.4336808689942017736029811203479766845703E-18)
 
#define M61   2305843009213693951ULL
 
#define MERSBASE   M61
 
#define MOD_MERSENNE(k)   MOD_PAYNE(k)
 
#define MOD_MULSPEC(k)   fmodmulM61( 0, SPECIAL , (k) )
 
#define MOD_PAYNE(k)   ((((k)) & MERSBASE) + (((k)) >> BITS) )
 
#define MOD_REM(k)   ((k) % MERSBASE )
 
#define N   240
 
#define SEED_WAS_ZERO   0xFF02
 
#define SPECIAL   487013230256099140ULL
 
#define SPECIALMUL   51
 

Typedefs

typedef uint32_t myID_t
 
typedef uint64_t myuint
 
typedef struct rng_state_st rng_state_t
 

Functions

myuint apply_bigskip (myuint *Vout, myuint *Vin, myID_t clusterID, myID_t machineID, myID_t runID, myID_t streamID)
 
void branch_inplace (rng_state_t *Xin, myID_t *ID)
 
void fill_array (rng_state_t *X, unsigned int n, double *array)
 
myuint fmodmulM61 (myuint cum, myuint s, myuint a)
 
myuint GET_BY_MACRO (rng_state_t *X)
 
double get_next_float_BY_MACRO (rng_state_t *X)
 
int iterate (rng_state_t *X)
 
void iterate_and_fill_array (rng_state_t *X, double *array)
 
myuint iterate_raw_vec (myuint *Y, myuint sumtotOld)
 
myuint modadd (myuint foo, myuint bar)
 
myuint precalc (rng_state_t *X)
 
void print_state (rng_state_t *X)
 
void read_state (rng_state_t *X, const char filename[])
 
rng_state_trng_alloc ()
 
rng_state_trng_copy (myuint *Y)
 
int rng_free (rng_state_t *X)
 
int rng_get_N (void)
 
void seed_spbox (rng_state_t *X, myuint seed)
 
void seed_uniquestream (rng_state_t *X, myID_t clusterID, myID_t machineID, myID_t runID, myID_t streamID)
 
void seed_vielbein (rng_state_t *X, unsigned int i)
 

Macro Definition Documentation

◆ ARRAY_INDEX_OUT_OF_BOUNDS

#define ARRAY_INDEX_OUT_OF_BOUNDS   0xFF01

Definition at line 228 of file mixmax.h.

◆ BITS

#define BITS   61

Definition at line 110 of file mixmax.h.

◆ ERROR_READING_STATE_CHECKSUM

#define ERROR_READING_STATE_CHECKSUM   0xFF05

Definition at line 232 of file mixmax.h.

◆ ERROR_READING_STATE_COUNTER

#define ERROR_READING_STATE_COUNTER   0xFF04

Definition at line 231 of file mixmax.h.

◆ ERROR_READING_STATE_FILE

#define ERROR_READING_STATE_FILE   0xFF03

Definition at line 230 of file mixmax.h.

◆ get_next

#define get_next ( X)    GET_BY_MACRO(X)

Definition at line 189 of file mixmax.h.

◆ get_next_float

#define get_next_float ( X)    get_next_float_BY_MACRO(X)

Definition at line 190 of file mixmax.h.

◆ INV_MERSBASE

#define INV_MERSBASE   (0.4336808689942017736029811203479766845703E-18)

Definition at line 126 of file mixmax.h.

◆ M61

#define M61   2305843009213693951ULL

Definition at line 114 of file mixmax.h.

◆ MERSBASE

#define MERSBASE   M61

Definition at line 120 of file mixmax.h.

◆ MOD_MERSENNE

#define MOD_MERSENNE ( k)    MOD_PAYNE(k)

Definition at line 123 of file mixmax.h.

◆ MOD_MULSPEC

#define MOD_MULSPEC ( k)    fmodmulM61( 0, SPECIAL , (k) )

Definition at line 171 of file mixmax.h.

◆ MOD_PAYNE

#define MOD_PAYNE ( k)    ((((k)) & MERSBASE) + (((k)) >> BITS) )

Definition at line 121 of file mixmax.h.

◆ MOD_REM

#define MOD_REM ( k)    ((k) % MERSBASE )

Definition at line 122 of file mixmax.h.

◆ N

#define N   240

Definition at line 31 of file mixmax.h.

◆ SEED_WAS_ZERO

#define SEED_WAS_ZERO   0xFF02

Definition at line 229 of file mixmax.h.

◆ SPECIAL

#define SPECIAL   487013230256099140ULL

Definition at line 170 of file mixmax.h.

◆ SPECIALMUL

#define SPECIALMUL   51

Definition at line 169 of file mixmax.h.

Typedef Documentation

◆ myID_t

typedef uint32_t myID_t

Definition at line 76 of file mixmax.h.

◆ myuint

typedef uint64_t myuint

Definition at line 45 of file mixmax.h.

◆ rng_state_t

Definition at line 60 of file mixmax.h.

Function Documentation

◆ apply_bigskip()

myuint apply_bigskip ( myuint * Vout,
myuint * Vin,
myID_t clusterID,
myID_t machineID,
myID_t runID,
myID_t streamID )

Definition at line 398 of file mixmax.icc.

◆ branch_inplace()

void branch_inplace ( rng_state_t * Xin,
myID_t * ID )

Definition at line 394 of file mixmax.icc.

◆ fill_array()

void fill_array ( rng_state_t * X,
unsigned int n,
double * array )

Definition at line 85 of file mixmax.icc.

◆ fmodmulM61()

myuint fmodmulM61 ( myuint cum,
myuint s,
myuint a )
inline

Definition at line 258 of file mixmax.icc.

◆ GET_BY_MACRO()

myuint GET_BY_MACRO ( rng_state_t * X)
inline

Definition at line 195 of file mixmax.h.

◆ get_next_float_BY_MACRO()

double get_next_float_BY_MACRO ( rng_state_t * X)
inline

Definition at line 209 of file mixmax.h.

◆ iterate()

int iterate ( rng_state_t * X)

Definition at line 34 of file mixmax.icc.

◆ iterate_and_fill_array()

void iterate_and_fill_array ( rng_state_t * X,
double * array )

Definition at line 105 of file mixmax.icc.

◆ iterate_raw_vec()

myuint iterate_raw_vec ( myuint * Y,
myuint sumtotOld )

Definition at line 47 of file mixmax.icc.

◆ modadd()

myuint modadd ( myuint foo,
myuint bar )

Definition at line 137 of file mixmax.icc.

◆ precalc()

myuint precalc ( rng_state_t * X)

Definition at line 228 of file mixmax.icc.

◆ print_state()

void print_state ( rng_state_t * X)

Definition at line 273 of file mixmax.icc.

◆ read_state()

void read_state ( rng_state_t * X,
const char filename[] )

Definition at line 286 of file mixmax.icc.

◆ rng_alloc()

rng_state_t * rng_alloc ( )

Definition at line 154 of file mixmax.icc.

◆ rng_copy()

rng_state_t * rng_copy ( myuint * Y)

Definition at line 168 of file mixmax.icc.

◆ rng_free()

int rng_free ( rng_state_t * X)

Definition at line 162 of file mixmax.icc.

◆ rng_get_N()

int rng_get_N ( void )

Definition at line 240 of file mixmax.icc.

◆ seed_spbox()

void seed_spbox ( rng_state_t * X,
myuint seed )

Definition at line 205 of file mixmax.icc.

◆ seed_uniquestream()

void seed_uniquestream ( rng_state_t * X,
myID_t clusterID,
myID_t machineID,
myID_t runID,
myID_t streamID )

Definition at line 361 of file mixmax.icc.

◆ seed_vielbein()

void seed_vielbein ( rng_state_t * X,
unsigned int i )

Definition at line 188 of file mixmax.icc.