/* * ====================================================================== * Random() : Generate Uniformly Distributed Random Numbers within the * interval [0,1]. * * Written By : M. Austin May 1995 * ====================================================================== */ #include #include #include "random.h" /* * -------------------------------------------------------- * Random() : Generate Uniformly Distributed Random Numbers * -------------------------------------------------------- */ static unsigned long int liSeed = 1; void InitRandom( long int iMySeed ) { liSeed = iMySeed; } double Random() { long int a = 16807; long int m = 2147483647; long int q = 127773; long int r = 2836; long int tmp_seed; tmp_seed = a*( liSeed%q ) - r*( liSeed/q ); if( tmp_seed >= 0 ) liSeed = tmp_seed; else liSeed = tmp_seed + m; return( ((double) liSeed)/m ); }