/*** * test1 * * Look at the statistics of some random number * generators. * ***/ #include #include #include #include "jims1Rand.h" // ----------------------------------------------------- // This prints out some randoms as well as their mean and // standard deviation (sigma). // Inputs are // seed an unsigned int to initialize the generator // N number of randoms to look at // RandMax randoms are 0..(RandMax-1) // verbose 1 => print each random // theSrand() function which initialized the generator // theRand() function to return the next random // void testRandoms( int seed, int N, int RandMax, int verbose, void theSrand(unsigned int), int theRand() ){ int i, r; double sum, sumsq, mean, sigma, x, trueSigmaN; printf(" Testing randoms with seed=%d, N=%d, max=%d \n", seed, N, RandMax); theSrand(seed); sum=0; sumsq=0; for (i=0; i1, mean = %-8.6f, sigma = %8.6f \n", mean, sigma); trueSigmaN = sqrt( (1.0/3.0 - 1.0/4.0) ); printf(" (Uniform is mean=0.5, sigma_N = %8.6f \n", trueSigmaN); printf("\n"); } // ------------------------------------------------------------ int main(){ printf("** system srand() and rand() **\n"); testRandoms( 11234, 100, RAND_MAX, 1, srand, rand ); printf("** 'jims1Srand() and jims1Rand() **\n"); testRandoms( 123, 100, jims1GetRAND_MAX(), 1, jims1Srand, jims1Rand ); }