12#ifndef TT_INCLUDE__RANDOM2CLASS_H
13#define TT_INCLUDE__RANDOM2CLASS_H
14#define ARRAY_SIZE(x) int(sizeof(x)/sizeof(x[0]))
18 Random2Class(
unsigned seed = 0);
23 int operator() (
void);
24 int operator() (
int minval,
int maxval);
35#define CRANDOM_FLOAT_RANGE 0x1000
44 inline int Get_Int(
void )
48 inline int Get_Int(
int max )
52 return (Generator() & 0x7FFFFFFF) % max;
56 inline int Get_Int(
int min,
int max )
64 return Get_Int( max - min ) + min;
66 inline float Get_Float(
void )
68 return (
float)(Get_Int( CRANDOM_FLOAT_RANGE+1 )) / (
float)CRANDOM_FLOAT_RANGE;
70 inline float Get_Float(
float max )
72 return Get_Float() * max;
74 inline float Get_Float(
float min,
float max )
82 return Get_Float() * ( max - min ) + min;
85 Random2Class Generator;
90 Random4Class(
unsigned int seed=4357);
95 int operator() (
void);
96 int operator() (
int minval,
int maxval);
102 unsigned int mt[624];
108extern REF_DECL(CRandom, FreeRandom);