00001 #ifndef RAND_MAX 00002 #define RAND_MAX 0x7fffffff 00003 #endif 00004 00005 class Random : virtual public SystemCode { 00006 _PROTECTED_: 00007 uint32 x[25]; //25 seed #s 00008 uint32 k; 00009 public: 00010 void srand(uint32); //reseed random number sequence 00011 void randomize(); //reseed by system timer 00012 uint32 rand(); //return random # upto RAND_MAX 00013 uint32 random(uint32 x); //return random # upto x-1 00014 Random() { 00015 srand(0x12345678); 00016 k = 0; 00017 } 00018 double rand_float() { 00019 return ((double)rand() / 4294967296.0); 00020 } 00021 }; 00022