Hawaii Hybrid
Loading...
Searching...
No Matches
mtwist.h File Reference
#include <stdio.h>
#include <stdint.h>
Include dependency graph for mtwist.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mt_state

Macros

#define REGISTER   register
#define __STDC_LIMIT_MACROS
#define MT_STATE_SIZE   624 /* Size of the MT state vector */
#define MT_TEMPERING_MASK_B   0x9d2c5680
#define MT_TEMPERING_MASK_C   0xefc60000
#define MT_TEMPERING_SHIFT_U(y)
#define MT_TEMPERING_SHIFT_S(y)
#define MT_TEMPERING_SHIFT_T(y)
#define MT_TEMPERING_SHIFT_L(y)
#define MT_PRE_TEMPER(value)
#define MT_FINAL_TEMPER(value)
#define MT_TEMPER(value)
#define MT_EXTERN   extern /* C (at least gcc) needs extern */
#define MT_INLINE   inline /* Compiler has inlining */

Functions

void mts_mark_initialized (mt_state *state)
void mts_seed32 (mt_state *state, uint32_t seed)
void mts_seed32new (mt_state *state, uint32_t seed)
void mts_seedfull (mt_state *state, uint32_t seeds[MT_STATE_SIZE])
uint32_t mts_seed (mt_state *state)
uint32_t mts_goodseed (mt_state *state)
void mts_bestseed (mt_state *state)
void mts_refresh (mt_state *state)
int mts_savestate (FILE *statefile, mt_state *state)
int mts_loadstate (FILE *statefile, mt_state *state)
void mt_seed32 (uint32_t seed)
void mt_seed32new (uint32_t seed)
void mt_seedfull (uint32_t seeds[MT_STATE_SIZE])
uint32_t mt_seed (void)
uint32_t mt_goodseed (void)
void mt_bestseed (void)
mt_statemt_getstate (void)
int mt_savestate (FILE *statefile)
int mt_loadstate (FILE *statefile)
uint32_t mts_lrand (mt_state *state)
double mts_drand (mt_state *state)
double mts_ldrand (mt_state *state)
uint32_t mt_lrand (void)
double mt_drand (void)
double mt_ldrand (void)

Variables

mt_state mt_default_state
double mt_32_to_double
double mt_64_to_double

Macro Definition Documentation

◆ __STDC_LIMIT_MACROS

#define __STDC_LIMIT_MACROS

◆ MT_EXTERN

#define MT_EXTERN   extern /* C (at least gcc) needs extern */

◆ MT_FINAL_TEMPER

#define MT_FINAL_TEMPER ( value)
Value:
((value) ^ MT_TEMPERING_SHIFT_L(value))
#define MT_TEMPERING_SHIFT_L(y)
Definition mtwist.h:330

◆ MT_INLINE

#define MT_INLINE   inline /* Compiler has inlining */

◆ MT_PRE_TEMPER

#define MT_PRE_TEMPER ( value)
Value:
do \
{ \
value ^= MT_TEMPERING_SHIFT_U(value); \
} \
while (0)
#define MT_TEMPERING_SHIFT_S(y)
Definition mtwist.h:326
#define MT_TEMPERING_SHIFT_U(y)
Definition mtwist.h:324
#define MT_TEMPERING_SHIFT_T(y)
Definition mtwist.h:328
#define MT_TEMPERING_MASK_B
Definition mtwist.h:322
#define MT_TEMPERING_MASK_C
Definition mtwist.h:323

◆ MT_STATE_SIZE

#define MT_STATE_SIZE   624 /* Size of the MT state vector */

◆ MT_TEMPER

#define MT_TEMPER ( value)
Value:
do \
{ \
value ^= MT_TEMPERING_SHIFT_U(value); \
value ^= MT_TEMPERING_SHIFT_L(value); \
} \
while (0)

◆ MT_TEMPERING_MASK_B

#define MT_TEMPERING_MASK_B   0x9d2c5680

◆ MT_TEMPERING_MASK_C

#define MT_TEMPERING_MASK_C   0xefc60000

◆ MT_TEMPERING_SHIFT_L

#define MT_TEMPERING_SHIFT_L ( y)
Value:
(y >> 18)

◆ MT_TEMPERING_SHIFT_S

#define MT_TEMPERING_SHIFT_S ( y)
Value:
(y << 7)

◆ MT_TEMPERING_SHIFT_T

#define MT_TEMPERING_SHIFT_T ( y)
Value:
(y << 15)

◆ MT_TEMPERING_SHIFT_U

#define MT_TEMPERING_SHIFT_U ( y)
Value:
(y >> 11)

◆ REGISTER

#define REGISTER   register

Function Documentation

◆ mt_bestseed()

void mt_bestseed ( void )
extern

◆ mt_drand()

double mt_drand ( void )
extern

◆ mt_getstate()

mt_state * mt_getstate ( void )
extern

◆ mt_goodseed()

uint32_t mt_goodseed ( void )
extern

◆ mt_ldrand()

double mt_ldrand ( void )
extern

◆ mt_loadstate()

int mt_loadstate ( FILE * statefile)
extern

◆ mt_lrand()

uint32_t mt_lrand ( void )
extern

◆ mt_savestate()

int mt_savestate ( FILE * statefile)
extern

◆ mt_seed()

uint32_t mt_seed ( void )
extern

◆ mt_seed32()

void mt_seed32 ( uint32_t seed)
extern

◆ mt_seed32new()

void mt_seed32new ( uint32_t seed)
extern

◆ mt_seedfull()

void mt_seedfull ( uint32_t seeds[MT_STATE_SIZE])
extern

◆ mts_bestseed()

void mts_bestseed ( mt_state * state)
extern

◆ mts_drand()

double mts_drand ( mt_state * state)
extern

◆ mts_goodseed()

uint32_t mts_goodseed ( mt_state * state)
extern

◆ mts_ldrand()

double mts_ldrand ( mt_state * state)
extern

◆ mts_loadstate()

int mts_loadstate ( FILE * statefile,
mt_state * state )
extern

◆ mts_lrand()

uint32_t mts_lrand ( mt_state * state)
extern

◆ mts_mark_initialized()

void mts_mark_initialized ( mt_state * state)
extern

◆ mts_refresh()

void mts_refresh ( mt_state * state)
extern

◆ mts_savestate()

int mts_savestate ( FILE * statefile,
mt_state * state )
extern

◆ mts_seed()

uint32_t mts_seed ( mt_state * state)
extern

◆ mts_seed32()

void mts_seed32 ( mt_state * state,
uint32_t seed )
extern

◆ mts_seed32new()

void mts_seed32new ( mt_state * state,
uint32_t seed )
extern

◆ mts_seedfull()

void mts_seedfull ( mt_state * state,
uint32_t seeds[MT_STATE_SIZE] )
extern

Variable Documentation

◆ mt_32_to_double

double mt_32_to_double
extern

◆ mt_64_to_double

double mt_64_to_double
extern

◆ mt_default_state

mt_state mt_default_state
extern