*** RNGTest.c	2004-06-12 11:04:23.000000000 -0600
--- CorrectedRNGTest.c	2003-06-29 16:17:13.000000000 -0600
***************
*** 100,107 ****
  
  		xa[k-1] = (float) p; 
  
! 		if (k%8 == 0) printf("\np:...|", k, k-7);
! 		if (k%8 != 1) printf(" %6.4f ", p); else printf("%6.4f", p);
  	}
  
  	p = kstest( xa, 32);
--- 100,107 ----
  
  		xa[k-1] = (float) p; 
  
! 		if (k%8 == 0) printf("\np:...| ", k, k-7);
! 		if (k%8 != 1) printf("%6.4f  ", p); else printf("%6.4f", p);
  	}
  
  	p = kstest( xa, 32);
***************
*** 292,299 ****
  			xa[k-1] = (float) p;
  
  
! 			if (k%8 == 0) printf("\np:...|", k, k-7);
! 			if (k%8 != 1) printf(" %6.4f ", p); else printf("%6.4f", p);
  
  		}  //for (k= ..
  
--- 292,299 ----
  			xa[k-1] = (float) p;
  
  
! 			if (k%8 == 0) printf("\np:...| ", k, k-7);
! 			if (k%8 != 1) printf("%6.4f  ", p); else printf("%6.4f", p);
  
  		}  //for (k= ..
  
***************
*** 332,343 ****
    
  		for (i=m-1; i>0; i--) 
  			t[i] = t[i] - t[i-1]; /* get spacings */
!    
  		qsort(t, m, sizeof(unsigned int), ucmpr);  /* sort spacings */
     
  		j=0;
! 		
! 		for (i=1; i 10 ) j=10; 
--- 332,345 ----
    
  		for (i=m-1; i>0; i--) 
  			t[i] = t[i] - t[i-1]; /* get spacings */
! 
! 		t[0] = 0;	/*	Correction. t[0] is not a spacing!	*/
! 
  		qsort(t, m, sizeof(unsigned int), ucmpr);  /* sort spacings */
     
  		j=0;
! 
! 		for (i=2; i 10 ) j=10; 
***************
*** 351,358 ****
  
  	ex[0] = 5000. * exp(-4.);
  
! 	for (i=1; i<11; i++) 
  		ex[i] = 4. * ex[i-1] / i;
  
  	for (i=0; i<10; i++) 
  		printf( "%6.0f", i+0.);
--- 353,364 ----
  
  	ex[0] = 5000. * exp(-4.);
  
! 	for (i=1; i<10; i++) 
  		ex[i] = 4. * ex[i-1] / i;
+ 		/*	corrected calculation of expected count for >=10	*/
+ 	ex[10] = 5000.;
+ 	for (i=0; i<10; i++)
+ 		ex[10] -= ex[i];
  
  	for (i=0; i<10; i++) 
  		printf( "%6.0f", i+0.);

    Source: geocities.com/da5id65536