#include "stdlib.h" #include "time.h" #include "math.h" /* ---------------------------------------- */ /* randint() - Give a pseudo-random number */ /* */ /* Args: */ /* MIN = Minimum value of range from */ /* which to generate */ /* MAX = Max value of range from which to */ /* generate */ /* ---------------------------------------- */ int randint(int MIN, int MAX) { double value; int ival; int rnum; double r1, r2; int i; static int RANDSTART=0; /* Seed the random number generator */ if (! RANDSTART) { srand(time(NULL)); RANDSTART = 1; } // end of if r1 = rand(); r2 = rand(); /* These 3 lines move the decimal and truncate, resulting in using the least-significant digits of the random number -- allows more variability */ double rm; rm = RAND_MAX; value = 10000 * ((double) (r1*r2)) / (rm*rm); ival = (int) value; value = value - ival; /* This pushes the random number into the range we want */ rnum = (int) (((MAX + 1) - MIN) * value + MIN); return rnum; } /* end of randint() */