Geant4  10.02.p03
mixmax.h File Reference
#include <stdio.h>
#include <stdint.h>
Include dependency graph for mixmax.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  CLHEP::rng_state_st
 

Namespaces

 CLHEP
 

Macros

#define USE_INLINE_ASM   YES
 
#define BITS   61
 
#define M61   2305843009213693951ULL
 
#define MERSBASE   M61
 
#define MOD_PAYNE(k)   ((((k)) & MERSBASE) + (((k)) >> BITS) )
 
#define MOD_REM(k)   ((k) % MERSBASE )
 
#define MOD_MERSENNE(k)   MOD_PAYNE(k)
 
#define INV_MERSBASE   (0.43368086899420177360298E-18L)
 
#define SPECIALMUL   0
 
#define SPECIAL   487013230256099064ULL
 
#define MOD_MULSPEC(k)   fmodmulM61( 0, SPECIAL , (k) );
 
#define get_next(X)   GET_BY_MACRO(X)
 
#define get_next_float(X)   get_next_float_BY_MACRO(X)
 
#define ARRAY_INDEX_OUT_OF_BOUNDS   0xFF01
 
#define SEED_WAS_ZERO   0xFF02
 
#define ERROR_READING_STATE_FILE   0xFF03
 
#define ERROR_READING_STATE_COUNTER   0xFF04
 
#define ERROR_READING_STATE_CHECKSUM   0xFF05
 

Typedefs

typedef uint64_t CLHEP::myuint
 
typedef struct rng_state_st CLHEP::rng_state_t
 
typedef uint32_t CLHEP::myID_t
 

Functions

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

Variables

const int CLHEP::N = 256
 

Macro Definition Documentation

◆ ARRAY_INDEX_OUT_OF_BOUNDS

#define ARRAY_INDEX_OUT_OF_BOUNDS   0xFF01

Definition at line 207 of file mixmax.h.

◆ BITS

#define BITS   61

Definition at line 114 of file mixmax.h.

◆ ERROR_READING_STATE_CHECKSUM

#define ERROR_READING_STATE_CHECKSUM   0xFF05

Definition at line 211 of file mixmax.h.

◆ ERROR_READING_STATE_COUNTER

#define ERROR_READING_STATE_COUNTER   0xFF04

Definition at line 210 of file mixmax.h.

◆ ERROR_READING_STATE_FILE

#define ERROR_READING_STATE_FILE   0xFF03

Definition at line 209 of file mixmax.h.

◆ get_next

#define get_next (   X)    GET_BY_MACRO(X)

Definition at line 168 of file mixmax.h.

◆ get_next_float

#define get_next_float (   X)    get_next_float_BY_MACRO(X)

Definition at line 169 of file mixmax.h.

◆ INV_MERSBASE

#define INV_MERSBASE   (0.43368086899420177360298E-18L)

Definition at line 129 of file mixmax.h.

◆ M61

#define M61   2305843009213693951ULL

Definition at line 118 of file mixmax.h.

◆ MERSBASE

#define MERSBASE   M61

Definition at line 124 of file mixmax.h.

◆ MOD_MERSENNE

#define MOD_MERSENNE (   k)    MOD_PAYNE(k)

Definition at line 127 of file mixmax.h.

◆ MOD_MULSPEC

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

Definition at line 137 of file mixmax.h.

◆ MOD_PAYNE

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

Definition at line 125 of file mixmax.h.

◆ MOD_REM

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

Definition at line 126 of file mixmax.h.

◆ SEED_WAS_ZERO

#define SEED_WAS_ZERO   0xFF02

Definition at line 208 of file mixmax.h.

◆ SPECIAL

#define SPECIAL   487013230256099064ULL

Definition at line 136 of file mixmax.h.

◆ SPECIALMUL

#define SPECIALMUL   0

Definition at line 135 of file mixmax.h.

◆ USE_INLINE_ASM

#define USE_INLINE_ASM   YES

Definition at line 35 of file mixmax.h.