/* Fetch a single random number between 0.0 and 1.0 */ double CRand::randomperc() { jrand++; if(jrand>=55) { jrand = 1; advance_random(); } return((double)oldrand[jrand]); }
/* name changed from random() to avoid library conflicts on some machines*/ float randomperc() { jrand++; if (jrand >= 55) { jrand = 1; advance_random(); } return ((float) oldrand[jrand]); }
/* Get randomize off and running */ void CRand::warmup_random(double seed) { int ii; double new_random, prev_random; oldrand[54] = seed; new_random = 0.000000001; prev_random = seed; for(int j1 = 1; j1 <= 54; j1++) { ii = (21*j1)%54; oldrand[ii] = new_random; new_random = prev_random-new_random; if(new_random < 0.0) new_random += 1.0; prev_random = oldrand[ii]; } advance_random (); advance_random (); advance_random (); jrand = 0; }
/* Get random off and running */ void warmup_random(float random_seed) { int j1, ii; double new_random, prev_random; oldrand[54] = random_seed; new_random = 0.000000001; prev_random = random_seed; for (j1 = 1; j1 <= 54; j1++) { ii = (21 * j1) % 54; oldrand[ii] = new_random; new_random = prev_random - new_random; if (new_random < 0.0) new_random = new_random + 1.0; prev_random = oldrand[ii]; } advance_random(); advance_random(); advance_random(); jrand = 0; }
void warmup_random(float random_seed) // Get random off and running */ { int j1, ii; double new_random, prev_random; oldrand[54] = random_seed; new_random = 0.000000001; prev_random = random_seed; for(j1 = 1 ; j1 <= 54; j1++) { ii = (21*j1)%54; oldrand[ii] = new_random; /* printf("rand[%i]: %f\n", ii, oldrand[ii]); */ new_random = prev_random-new_random; if(new_random<0.0) new_random = new_random + 1.0; prev_random = oldrand[ii]; }//End for advance_random(); advance_random(); advance_random(); jrand = 0; }//End warmup_random
float randomperc(void) /* Fetch a single random number between 0.0 and 1.0 - Subtractive Method */ /* See Knuth, D. (1969), v. 2 for details */ /* name changed from random() to avoid library conflicts on some machines*/ { jrand++; if(jrand >= 55) { jrand = 1; advance_random(); }//End if return((float) oldrand[jrand]); /* return (float)((rand()%1000)/1000.0); */ }//End randomperc