Commit 039b1338 authored by Lynn Garren's avatar Lynn Garren
Browse files

bug fix for Ranlux64Engine::setSeeds()

parent f20d3fe2
2009-06-30 Mark Fischler <mf@fnal.gov>
* src/Ranlux64Engine.cc: Fix bug #24689. setSeeds() now
uses all seeds passed to it instead of only the first one.
==============================
18.11.08 Release CLHEP-2.0.4.2
==============================
......
......@@ -185,8 +185,11 @@ g++)
case "$target" in
*-*-linux*)
AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE"
MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so
MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl,"
MY_SHFLAGS="-fPIC -DPIC"
MY_SHLINK="-shared -Wl,--no-undefined"
MY_SHNAME="-Wl,-soname,"
MY_LD="-Wl,--rpath -Wl,"
SHEXT=so
AR="ar"; ARFLAGS="cru"
;;
*-*-darwin*)
......@@ -207,30 +210,42 @@ g++)
;;
*)
AM_CXXFLAGS="-O -ansi -pedantic -Wall"
MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so
MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl,"
MY_SHFLAGS="-fPIC -DPIC"
MY_SHLINK="-shared -Wl,--no-undefined"
MY_SHNAME="-Wl,-soname,"
MY_LD="-Wl,--rpath -Wl,"
SHEXT=so
AR="ar"; ARFLAGS="cru"
esac;;
g++4)
case "$target" in
*-*-linux*)
AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE"
MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so
MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl,"
MY_SHFLAGS="-fPIC -DPIC"
MY_SHLINK="-shared -Wl,--no-undefined"
MY_SHNAME="-Wl,-soname,"
MY_LD="-Wl,--rpath -Wl,"
SHEXT=so
AR="ar"; ARFLAGS="cru"
;;
*)
AM_CXXFLAGS="-O -ansi -pedantic -Wall"
MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so
MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl,"
MY_SHFLAGS="-fPIC -DPIC"
MY_SHLINK="-shared -Wl,--no-undefined"
MY_SHNAME="-Wl,-soname,"
MY_LD="-Wl,--rpath -Wl,"
SHEXT=so
AR="ar"; ARFLAGS="cru"
esac;;
c++)
case "$target" in
*-*-linux*)
AM_CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE"
MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so
MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl,"
MY_SHFLAGS="-fPIC -DPIC"
MY_SHLINK="-shared -Wl,--no-undefined"
MY_SHNAME="-Wl,-soname,"
MY_LD="-Wl,--rpath -Wl,"
SHEXT=so
AR="ar"; ARFLAGS="cru"
;;
*-*-darwin*)
......@@ -251,8 +266,11 @@ c++)
;;
*)
AM_CXXFLAGS="-O -ansi -pedantic -Wall"
MY_SHFLAGS="-fPIC -DPIC"; MY_SHLINK="-shared"; SHEXT=so
MY_SHNAME="-Wl,-soname,"; MY_LD="-Wl,--rpath -Wl,"
MY_SHFLAGS="-fPIC -DPIC"
MY_SHLINK="-shared -Wl,--no-undefined"
MY_SHNAME="-Wl,-soname,"
MY_LD="-Wl,--rpath -Wl,"
SHEXT=so
AR="ar"; ARFLAGS="cru"
esac;;
icc)
......@@ -334,6 +352,14 @@ AC_SUBST(SHEXT)
AC_SUBST(AR)
AC_SUBST(ARFLAGS)
# ----------------------------------------------------------------------
# Check for supported link flags
# ----------------------------------------------------------------------
AC_CHECK_LIB([c -Wl,--as-needed],open,[MY_SHEXTRA="-Wl,--as-needed"])
AC_SUBST(MY_SHEXTRA)
# ----------------------------------------------------------------------
# Set system-dependent options:
# ----------------------------------------------------------------------
......
......@@ -57,7 +57,7 @@ else
lib_shared = libCLHEP-Random-@VERSION@.$(SHEXT)
endif
SHFLAGS = @MY_SHFLAGS@
SHLINK = @MY_SHLINK@
SHLINK = @MY_SHLINK@ @MY_SHEXTRA@
SHNAME = @MY_SHNAME@
endif
if BUILD_STATIC
......
// $Id: Ranlux64Engine.cc,v 1.4.4.2.2.1 2008/11/13 21:35:23 garren Exp $
// $Id: Ranlux64Engine.cc,v 1.4.4.2.2.2 2009/07/05 00:02:30 garren Exp $
// -*- C++ -*-
//
// -----------------------------------------------------------------------
......@@ -430,8 +430,79 @@ void Ranlux64Engine::setSeed(long seed, int lux) {
} // setSeed()
void Ranlux64Engine::setSeeds(const long * seeds, int lux) {
setSeed( *seeds ? *seeds : 32767, lux );
theSeeds = seeds;
// old code only uses the first long in seeds
// setSeed( *seeds ? *seeds : 32767, lux );
// theSeeds = seeds;
// using code from Ranlux - even those are 32bit seeds,
// that is good enough to completely differentiate the sequences
twoToMinus_32 = ldexp (1.0, -32);
twoToMinus_48 = ldexp (1.0, -48);
twoToMinus_49 = ldexp (1.0, -49);
const int ecuyer_a = 53668;
const int ecuyer_b = 40014;
const int ecuyer_c = 12211;
const int ecuyer_d = 2147483563;
const int lux_levels[3] = {109, 202, 397};
const long *seedptr;
theSeeds = seeds;
seedptr = seeds;
if(seeds == 0){
setSeed(theSeed,lux);
theSeeds = &theSeed;
return;
}
theSeed = *seeds;
// number of additional random numbers that need to be 'thrown away'
// every 24 numbers is set using luxury level variable.
if( (lux > 2)||(lux < 0) ){
pDiscard = (lux >= 12) ? (lux-12) : lux_levels[1];
}else{
pDiscard = lux_levels[luxury];
}
pDozens = pDiscard / 12;
endIters = pDiscard % 12;
long init_table[24];
long next_seed = *seeds;
long k_multiple;
int i;
for( i = 0;(i != 24)&&(*seedptr != 0);i++){
init_table[i] = *seedptr & 0xffffffff;
seedptr++;
}
if(i != 24){
next_seed = init_table[i-1];
for(;i != 24;i++){
k_multiple = next_seed / ecuyer_a;
next_seed = ecuyer_b * (next_seed - k_multiple * ecuyer_a)
- k_multiple * ecuyer_c;
if(next_seed < 0) {
next_seed += ecuyer_d;
}
init_table[i] = next_seed & 0xffffffff;
}
}
for(i = 0;i < 12; i++){
randoms[i] = (init_table[2*i ] ) * 2.0 * twoToMinus_32 +
(init_table[2*i+1] >> 15) * twoToMinus_48;
}
carry = 0.0;
if ( randoms[11] == 0. ) carry = twoToMinus_48;
index = 11;
}
void Ranlux64Engine::saveStatus( const char filename[] ) const
......
// -*- C++ -*-
// $Id: testRandDists.cc,v 1.5.4.3.2.1 2008/08/05 18:55:22 garren Exp $
// $Id: testRandDists.cc,v 1.5.4.3.2.2 2009/07/05 00:02:31 garren Exp $
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
......@@ -54,6 +54,7 @@ using std::cout;
using std::cerr;
using std::endl;
using std::abs;
using std::setprecision;
using namespace CLHEP;
//#ifndef _WIN32
//using std::exp;
......@@ -204,6 +205,8 @@ bool gaussianTest ( HepRandom & dist, double mu,
ncounts[ciu] = 0;
}
int oldprecision = cout.precision();
cout.precision(5);
// hack so that gcc 4.3 puts x and u into memory instead of a register
volatile double x;
volatile double u;
......@@ -310,10 +313,12 @@ bool gaussianTest ( HepRandom & dist, double mu,
for (int m = 0; m < 11; m++) {
double expect = table[m]*nNumbers;
double sig = sqrt ( table[m] * (1.0-table[m]) * nNumbers );
cout.precision(oldprecision);
cout << "Between " << m/2.0 << " sigma and "
<< m/2.0+.5 << " sigma (should be about " << expect << "):\n "
<< " "
<< ncounts[m] << " negative and " << counts[m] << " positive " << "\n";
cout.precision(5);
double negSigs = abs ( ncounts[m] - expect ) / sig;
double posSigs = abs ( counts[m] - expect ) / sig;
cout << " These represent " <<
......@@ -329,6 +334,8 @@ bool gaussianTest ( HepRandom & dist, double mu,
cout << "\n The worst deviation encountered (out of about 25) was "
<< worstSigma << " sigma \n\n";
cout.precision(oldprecision);
return good;
} // gaussianTest()
......
......@@ -23,49 +23,49 @@ Instantiating distribution utilizing TripleRand engine...
400008
450009
Mean (should be close to 20): 20.004
Second moment (should be close to 16): 15.9504
Third moment (should be close to zero): -0.0123321
Fourth moment (should be close to 768): 762.392
Fifth moment (should be close to zero): -11.2377
Sixth moment (should be close to 61440): 60359.1
These represent 0.715061, 1.55116, 0.0556245,
1.58104, 0.289199, 1.85041
Second moment (should be close to 16): 15.95
Third moment (should be close to zero): -0.012332
Fourth moment (should be close to 768): 762.39
Fifth moment (should be close to zero): -11.238
Sixth moment (should be close to 61440): 60359
These represent 0.71506, 1.5512, 0.055624,
1.581, 0.2892, 1.8504
standard deviations from expectations
Between 0 sigma and 0.5 sigma (should be about 95731):
96022 negative and 96081 positive
These represent 1.04596 and 1.25803 sigma from expectations
These represent 1.046 and 1.258 sigma from expectations
Between 0.5 sigma and 1 sigma (should be about 74941):
74975 negative and 74625 positive
These represent 0.134704 and 1.25195 sigma from expectations
These represent 0.1347 and 1.252 sigma from expectations
Between 1 sigma and 1.5 sigma (should be about 45924):
45803 negative and 45982 positive
These represent 0.592497 and 0.284007 sigma from expectations
These represent 0.5925 and 0.28401 sigma from expectations
Between 1.5 sigma and 2 sigma (should be about 22028.5):
21851 negative and 22064 positive
These represent 1.22318 and 0.244636 sigma from expectations
These represent 1.2232 and 0.24464 sigma from expectations
Between 2 sigma and 2.5 sigma (should be about 8270):
8218 negative and 8154 positive
These represent 0.576597 and 1.28625 sigma from expectations
These represent 0.5766 and 1.2863 sigma from expectations
Between 2.5 sigma and 3 sigma (should be about 2430):
2426 negative and 2514 positive
These represent 0.081342 and 1.70818 sigma from expectations
These represent 0.081342 and 1.7082 sigma from expectations
Between 3 sigma and 3.5 sigma (should be about 558.5):
525 negative and 541 positive
These represent 1.41833 and 0.740916 sigma from expectations
These represent 1.4183 and 0.74092 sigma from expectations
Between 3.5 sigma and 4 sigma (should be about 100.5):
102 negative and 92 positive
These represent 0.149641 and 0.847968 sigma from expectations
These represent 0.14964 and 0.84797 sigma from expectations
Between 4 sigma and 4.5 sigma (should be about 14.15):
15 negative and 10 positive
These represent 0.225968 and 1.10326 sigma from expectations
These represent 0.22597 and 1.1033 sigma from expectations
Between 4.5 sigma and 5 sigma (should be about 1.555):
0 negative and 0 positive
These represent 1.247 and 1.247 sigma from expectations
Between 5 sigma and 5.5 sigma (should be about 0.1935):
0 negative and 0 positive
These represent 0.439886 and 0.439886 sigma from expectations
These represent 0.43989 and 0.43989 sigma from expectations
The worst deviation encountered (out of about 25) was 1.85041 sigma
The worst deviation encountered (out of about 25) was 1.8504 sigma
--------------------------------------------
......@@ -91,50 +91,50 @@ Instantiating distribution utilizing DualRand engine...
700007
800008
900009
Mean (should be close to 0): -0.000249513
Second moment (should be close to 1): 0.999635
Third moment (should be close to zero): -0.00235884
Fourth moment (should be close to 3): 3.00256
Fifth moment (should be close to zero): -0.0197996
Sixth moment (should be close to 15): 15.0471
These represent 0.249513, 0.258341, 0.96299,
0.26104, 0.737886, 0.466881
Mean (should be close to 0): -0.00024951
Second moment (should be close to 1): 0.99963
Third moment (should be close to zero): -0.0023588
Fourth moment (should be close to 3): 3.0026
Fifth moment (should be close to zero): -0.0198
Sixth moment (should be close to 15): 15.047
These represent 0.24951, 0.25834, 0.96299,
0.26104, 0.73789, 0.46688
standard deviations from expectations
Between 0 sigma and 0.5 sigma (should be about 191462):
191300 negative and 191581 positive
These represent 0.41174 and 0.302451 sigma from expectations
These represent 0.41174 and 0.30245 sigma from expectations
Between 0.5 sigma and 1 sigma (should be about 149882):
150248 negative and 150025 positive
These represent 1.02534 and 0.40061 sigma from expectations
These represent 1.0253 and 0.40061 sigma from expectations
Between 1 sigma and 1.5 sigma (should be about 91848):
91705 negative and 91584 positive
These represent 0.495133 and 0.914092 sigma from expectations
These represent 0.49513 and 0.91409 sigma from expectations
Between 1.5 sigma and 2 sigma (should be about 44057):
43780 negative and 44290 positive
These represent 1.34976 and 1.13536 sigma from expectations
These represent 1.3498 and 1.1354 sigma from expectations
Between 2 sigma and 2.5 sigma (should be about 16540):
16691 negative and 16391 positive
These represent 1.18394 and 1.16826 sigma from expectations
These represent 1.1839 and 1.1683 sigma from expectations
Between 2.5 sigma and 3 sigma (should be about 4860):
4898 negative and 4777 positive
These represent 0.546416 and 1.19349 sigma from expectations
These represent 0.54642 and 1.1935 sigma from expectations
Between 3 sigma and 3.5 sigma (should be about 1117):
1110 negative and 1143 positive
These represent 0.209563 and 0.778376 sigma from expectations
These represent 0.20956 and 0.77838 sigma from expectations
Between 3.5 sigma and 4 sigma (should be about 201):
206 negative and 208 positive
These represent 0.352708 and 0.493792 sigma from expectations
These represent 0.35271 and 0.49379 sigma from expectations
Between 4 sigma and 4.5 sigma (should be about 28.3):
34 negative and 25 positive
These represent 1.07149 and 0.620336 sigma from expectations
These represent 1.0715 and 0.62034 sigma from expectations
Between 4.5 sigma and 5 sigma (should be about 3.11):
2 negative and 2 positive
These represent 0.629424 and 0.629424 sigma from expectations
These represent 0.62942 and 0.62942 sigma from expectations
Between 5 sigma and 5.5 sigma (should be about 0.387):
0 negative and 0 positive
These represent 0.622093 and 0.622093 sigma from expectations
These represent 0.62209 and 0.62209 sigma from expectations
The worst deviation encountered (out of about 25) was 1.34976 sigma
The worst deviation encountered (out of about 25) was 1.3498 sigma
--------------------------------------------
......@@ -160,50 +160,50 @@ Instantiating distribution utilizing TripleRand engine...
700007
800008
900009
Mean (should be close to 10): 10.0073
Second moment (should be close to 25): 24.9947
Third moment (should be close to zero): -0.338434
Fourth moment (should be close to 1875): 1872.56
Fifth moment (should be close to zero): -153.018
Sixth moment (should be close to 234375): 233223
These represent 1.46341, 0.150332, 1.10532,
0.399035, 1.82485, 0.730908
Mean (should be close to 10): 10.007
Second moment (should be close to 25): 24.995
Third moment (should be close to zero): -0.33843
Fourth moment (should be close to 1875): 1872.6
Fifth moment (should be close to zero): -153.02
Sixth moment (should be close to 2.3438e+05): 2.3322e+05
These represent 1.4634, 0.15033, 1.1053,
0.39904, 1.8248, 0.73091
standard deviations from expectations
Between 0 sigma and 0.5 sigma (should be about 191462):
191661 negative and 191168 positive
These represent 0.50578 and 0.747233 sigma from expectations
These represent 0.50578 and 0.74723 sigma from expectations
Between 0.5 sigma and 1 sigma (should be about 149882):
150041 negative and 150074 positive
These represent 0.445433 and 0.537882 sigma from expectations
These represent 0.44543 and 0.53788 sigma from expectations
Between 1 sigma and 1.5 sigma (should be about 91848):
91449 negative and 91915 positive
These represent 1.38153 and 0.231985 sigma from expectations
These represent 1.3815 and 0.23199 sigma from expectations
Between 1.5 sigma and 2 sigma (should be about 44057):
43899 negative and 44317 positive
These represent 0.769899 and 1.26692 sigma from expectations
These represent 0.7699 and 1.2669 sigma from expectations
Between 2 sigma and 2.5 sigma (should be about 16540):
16439 negative and 16617 positive
These represent 0.791909 and 0.603733 sigma from expectations
These represent 0.79191 and 0.60373 sigma from expectations
Between 2.5 sigma and 3 sigma (should be about 4860):
4895 negative and 4895 positive
These represent 0.503278 and 0.503278 sigma from expectations
These represent 0.50328 and 0.50328 sigma from expectations
Between 3 sigma and 3.5 sigma (should be about 1117):
1124 negative and 1042 positive
These represent 0.209563 and 2.24532 sigma from expectations
These represent 0.20956 and 2.2453 sigma from expectations
Between 3.5 sigma and 4 sigma (should be about 201):
229 negative and 180 positive
These represent 1.97517 and 1.48137 sigma from expectations
These represent 1.9752 and 1.4814 sigma from expectations
Between 4 sigma and 4.5 sigma (should be about 28.3):
19 negative and 26 positive
These represent 1.74822 and 0.432355 sigma from expectations
These represent 1.7482 and 0.43236 sigma from expectations
Between 4.5 sigma and 5 sigma (should be about 3.11):
3 negative and 6 positive
These represent 0.0623754 and 1.63877 sigma from expectations
These represent 0.062375 and 1.6388 sigma from expectations
Between 5 sigma and 5.5 sigma (should be about 0.387):
1 negative and 0 positive
These represent 0.985383 and 0.622093 sigma from expectations
These represent 0.98538 and 0.62209 sigma from expectations
The worst deviation encountered (out of about 25) was 2.24532 sigma
The worst deviation encountered (out of about 25) was 2.2453 sigma
--------------------------------------------
......@@ -217,7 +217,7 @@ Enter nBins for stepwise pdf test: 10000
Instantiating distribution utilizing Ranlux64 engine...
Sample fire():
0.4513
0.4408
Testing operator() ...
0
50001
......@@ -229,55 +229,55 @@ Instantiating distribution utilizing Ranlux64 engine...
350007
400008
450009
Mean (should be close to 0.5): 0.499995
Second moment (should be close to 0.0036): 0.00361231
Third moment (should be close to zero): 2.00365e-07
Fourth moment (should be close to 3.888e-05): 3.91688e-05
Fifth moment (should be close to zero): -9.43315e-09
Sixth moment (should be close to 6.9984e-07): 7.08857e-07
These represent 0.0557294, 1.71038, 0.26778,
1.60823, 0.319683, 1.35513
Mean (should be close to 0.5): 0.49988
Second moment (should be close to 0.0036): 0.0035996
Third moment (should be close to zero): 5.2049e-07
Fourth moment (should be close to 3.888e-05): 3.9082e-05
Fifth moment (should be close to zero): 2.4841e-08
Sixth moment (should be close to 6.9984e-07): 7.1025e-07
These represent 1.3553, 0.056148, 0.69561,
1.1263, 0.84186, 1.5638
standard deviations from expectations
Between 0 sigma and 0.5 sigma (should be about 95731):
95730 negative and 95242 positive
These represent 0.00359438 and 1.75765 sigma from expectations
95879 negative and 95631 positive
These represent 0.53197 and 0.35944 sigma from expectations
Between 0.5 sigma and 1 sigma (should be about 74941):
75036 negative and 74757 positive
These represent 0.376378 and 0.728985 sigma from expectations
74863 negative and 75293 positive
These represent 0.30903 and 1.3946 sigma from expectations
Between 1 sigma and 1.5 sigma (should be about 45924):
45874 negative and 46224 positive
These represent 0.244834 and 1.469 sigma from expectations
46032 negative and 45416 positive
These represent 0.52884 and 2.4875 sigma from expectations
Between 1.5 sigma and 2 sigma (should be about 22028.5):
22068 negative and 22141 positive
These represent 0.2722 and 0.775254 sigma from expectations
22020 negative and 21866 positive
These represent 0.058575 and 1.1198 sigma from expectations
Between 2 sigma and 2.5 sigma (should be about 8270):
8326 negative and 8240 positive
These represent 0.62095 and 0.332652 sigma from expectations
8381 negative and 8344 positive
These represent 1.2308 and 0.82054 sigma from expectations
Between 2.5 sigma and 3 sigma (should be about 2430):
2457 negative and 2513 positive
These represent 0.549058 and 1.68785 sigma from expectations
2423 negative and 2472 positive
These represent 0.14235 and 0.85409 sigma from expectations
Between 3 sigma and 3.5 sigma (should be about 558.5):
595 negative and 555 positive
These represent 1.54534 and 0.148183 sigma from expectations
574 negative and 556 positive
These represent 0.65624 and 0.10585 sigma from expectations
Between 3.5 sigma and 4 sigma (should be about 100.5):
89 negative and 119 positive
These represent 1.14725 and 1.84558 sigma from expectations
101 negative and 114 positive
These represent 0.04988 and 1.3468 sigma from expectations
Between 4 sigma and 4.5 sigma (should be about 14.15):
19 negative and 11 positive
These represent 1.28935 and 0.837411 sigma from expectations
10 negative and 19 positive
These represent 1.1033 and 1.2893 sigma from expectations
Between 4.5 sigma and 5 sigma (should be about 1.555):
3 negative and 1 positive
These represent 1.15879 and 0.44507 sigma from expectations
4 negative and 1 positive
These represent 1.9607 and 0.44507 sigma from expectations
Between 5 sigma and 5.5 sigma (should be about 0.1935):
0 negative and 0 positive
These represent 0.439886 and 0.439886 sigma from expectations
1 negative and 0 positive
These represent 1.8334 and 0.43989 sigma from expectations
The worst deviation encountered (out of about 25) was 1.84558 sigma
The worst deviation encountered (out of about 25) was 2.4875 sigma
Enter nBins for linearized pdf test: 1000
Sample operator():
0.456593
0.463128
Testing operator() ...
0
50001
......@@ -289,50 +289,50 @@ Enter nBins for linearized pdf test: 1000
350007
400008
450009
Mean (should be close to 0.5): 0.499963
Second moment (should be close to 0.0036): 0.00360046
Third moment (should be close to zero): 9.05934e-07
Fourth moment (should be close to 3.888e-05): 3.88233e-05
Fifth moment (should be close to zero): 3.85931e-08
Sixth moment (should be close to 6.9984e-07): 6.96311e-07
These represent 0.437691, 0.064491, 1.21074,
0.315891, 1.30789, 0.530318
Mean (should be close to 0.5): 0.50006
Second moment (should be close to 0.0036): 0.0036028
Third moment (should be close to zero): -4.7605e-07
Fourth moment (should be close to 3.888e-05): 3.8957e-05
Fifth moment (should be close to zero): -2.1491e-08
Sixth moment (should be close to 6.9984e-07): 6.9999e-07
These represent 0.6852, 0.39504, 0.63622,
0.42945, 0.72832, 0.02247
standard deviations from expectations
Between 0 sigma and 0.5 sigma (should be about 95731):
95809 negative and 95698 positive
These represent 0.280361 and 0.118614 sigma from expectations
95333 negative and 96081 positive
These represent 1.4306 and 1.258 sigma from expectations
Between 0.5 sigma and 1 sigma (should be about 74941):
74841 negative and 74895 positive
These represent 0.396187 and 0.182246 sigma from expectations
74969 negative and 75075 positive
These represent 0.11093 and 0.53089 sigma from expectations
Between 1 sigma and 1.5 sigma (should be about 45924):
46094 negative and 45834 positive
These represent 0.832434 and 0.4407 sigma from expectations
45820 negative and 45766 positive
These represent 0.50925 and 0.77367 sigma from expectations
Between 1.5 sigma and 2 sigma (should be about 22028.5):
22093 negative and 22009 positive
These represent 0.444479 and 0.134377 sigma from expectations
21895 negative and 22076 positive
These represent 0.91997 and 0.32733 sigma from expectations
Between 2 sigma and 2.5 sigma (should be about 8270):
8282 negative and 8258 positive
These represent 0.133061 and 0.133061 sigma from expectations
8310 negative and 8421 positive
These represent 0.44354 and 1.6743 sigma from expectations
Between 2.5 sigma and 3 sigma (should be about 2430):
2438 negative and 2420 positive
These represent 0.162684 and 0.203355 sigma from expectations
2475 negative and 2443 positive
These represent 0.9151 and 0.26436 sigma from expectations
Between 3 sigma and 3.5 sigma (should be about 558.5):
513 negative and 590 positive
These represent 1.92638 and 1.33365 sigma from expectations
560 negative and 545 positive
These represent 0.063507 and 0.57156 sigma from expectations
Between 3.5 sigma and 4 sigma (should be about 100.5):
95 negative and 101 positive
These represent 0.548685 and 0.0498805 sigma from expectations
108 negative and 91 positive
These represent 0.74821 and 0.94773 sigma from expectations
Between 4 sigma and 4.5 sigma (should be about 14.15):
15 negative and 12 positive
These represent 0.225968 and 0.571566 sigma from expectations
11 negative and 17 positive
These represent 0.83741 and 0.75766 sigma from expectations
Between 4.5 sigma and 5 sigma (should be about 1.555):
2 negative and 1 positive
These represent 0.356858 and 0.44507 sigma from expectations
2 negative and 2 positive
These represent 0.35686 and 0.35686 sigma from expectations
Between 5 sigma and 5.5 sigma (should be about 0.1935):
0 negative and 0 positive
These represent 0.439886 and 0.439886 sigma from expectations
These represent 0.43989 and 0.43989 sigma from expectations
The worst deviation encountered (out of about 25) was 1.92638 sigma
The worst deviation encountered (out of about 25) was 1.6743 sigma
--------------------------------------------
......