# 
# RandomSource: WELL_44497_A
# RNG: org.apache.commons.rng.core.source32.Well44497a
# Seed: 92debd0d8fe08b9b9cae3de59bbaab46b5c544d61edd49c3784bc2d7f9c0216a969ce7161d69017a092d5c6790858becc2a2e34f69fd2261b83be0cf32b2069ad657d95f07f40c1285ec4d3de385bc27aa6beb1eac344ebde426f9ebf7f00add7b16e9b3bbb336ce9f96ab262a28e6a4f6502523b07a9f715f8ea45f2d5c6f4ed8049763c10786b882e9829499a03ca0ae801f56d7252f5f167b3d5a10039501d3971bab86f87d7ef53b0f6947c57ad448f7fcdefc29e533b42da814c8df29bb058136ba6a83cd2368d9490580e51eea836215dbcdbc317d0246b696f1f2ffbda8439177b9a4516030351898b3cb895672436402fe0c3f92cae90a0cab3c2727cd07bb19602dd5771ef06df832fcb01d14a745b0210f726f801c665d52fcb4dcffab016a73edcc6ca8bfa0b9c29dbba4c9d0f5ddf48e01fd996374b0cee0e40fcab9a55076e1e2ccfb1a9053d14371286d5e3efdf789428075373b535e16db4a15a4cf5cb35708c474d1d47d2c1e5d2bcc3f0dbd59bd7a1306358f6949595638c36de275e36939063a2bac3f197ceee155c9734bb9ae6fbb29e3ad0db3662bbb3554fbbfd252e2874ef39f63ef78144fafff0c2f991932900e96a79809c074615155a4b0c557167a670c14df8525a505049d2baeb2bc90a6b6d0978fe21f0fcc38f48e26b955bf6cf22b91f12401d6b1aec3b153edcf96a481ae66831f71dcf7
# 
# Java: 1.8.0_202
# Runtime: Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
# JVM: Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
# OS: Linux 3.13.0-91-generic amd64
# Native byte-order: LITTLE_ENDIAN
# Output byte-order: LITTLE_ENDIAN
# 
# Analyzer: /home/ah403/git/commons-rng/commons-rng-examples/examples-stress/stdin2testu01 BigCrush 
# 
# Start: 2019-10-08 02:12:45
# 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                 Starting BigCrush
                 Version: TestU01 1.2.3
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


***********************************************************
Test smarsa_SerialOver calling smultin_MultinomialOver

***********************************************************
HOST = tallinn, Linux

stdin


smultin_MultinomialOver test:
-----------------------------------------------
   N =  1,  n = 1000000000,  r =  0,   d =  256,   t =  3,
       Sparse =  FALSE

       GenerCell = smultin_GenerCellSerial
       Number of cells = d^t =           16777216
       Expected number per cell =   59.604645
       Hashing =  FALSE

   For Delta > -1, we use the ChiSquare approximation
   Correction factor of the ChiSquare: 
       Delta =     1,    Mu =   0.0083558402,    Sigma =          1

-----------------------------------------------
Test Results for Delta =   1.0000

Number of degrees of freedom          : 16711680
Value of the statistic                : 1.67e+7
p-value of test                       :    0.60


-----------------------------------------------
CPU time used                    :  00:02:01.68

Generator state:
N/A



***********************************************************
Test smarsa_SerialOver calling smultin_MultinomialOver

***********************************************************
HOST = tallinn, Linux

stdin


smultin_MultinomialOver test:
-----------------------------------------------
   N =  1,  n = 1000000000,  r = 22,   d =  256,   t =  3,
       Sparse =  FALSE

       GenerCell = smultin_GenerCellSerial
       Number of cells = d^t =           16777216
       Expected number per cell =   59.604645
       Hashing =  FALSE

   For Delta > -1, we use the ChiSquare approximation
   Correction factor of the ChiSquare: 
       Delta =     1,    Mu =   0.0083558402,    Sigma =          1

-----------------------------------------------
Test Results for Delta =   1.0000

Number of degrees of freedom          : 16711680
Value of the statistic                : 1.67e+7
p-value of test                       :    0.69


-----------------------------------------------
CPU time used                    :  00:02:08.52

Generator state:
N/A



***********************************************************
Test smarsa_CollisionOver calling smultin_MultinomialOver

***********************************************************
HOST = tallinn, Linux

stdin


smultin_MultinomialOver test:
-----------------------------------------------
   N = 30,  n = 20000000,  r =  0,   d = 2097152,   t =  2,
       Sparse =   TRUE

       GenerCell = smultin_GenerCellSerial
       Number of cells = d^t =      4398046511104
       Expected number per cell =  1 /  219902.33
       EColl = n^2 / (2k) =  45.47473509
       Hashing =   TRUE

       Collision test

       CollisionOver:   density = n / k =  1 /  219902.33
       Expected number of collisions = Mu =      45.47


-----------------------------------------------
Results of CollisionOver test:

POISSON approximation                 :
Expected number of collisions = N*Mu  :     1364.24
Observed number of collisions         :     1354
p-value of test                       :    0.60

-----------------------------
Total number of cells containing j balls

  j =  0                              :  131940795334474
  j =  1                              :        599997292
  j =  2                              :             1354
  j =  3                              :                0
  j =  4                              :                0
  j =  5                              :                0

-----------------------------------------------
CPU time used                    :  00:03:40.55

Generator state:
N/A



***********************************************************
Test smarsa_CollisionOver calling smultin_MultinomialOver

***********************************************************
HOST = tallinn, Linux

stdin


smultin_MultinomialOver test:
-----------------------------------------------
   N = 30,  n = 20000000,  r =  9,   d = 2097152,   t =  2,
       Sparse =   TRUE

       GenerCell = smultin_GenerCellSerial
       Number of cells = d^t =      4398046511104
       Expected number per cell =  1 /  219902.33
       EColl = n^2 / (2k) =  45.47473509
       Hashing =   TRUE

       Collision test

       CollisionOver:   density = n / k =  1 /  219902.33
       Expected number of collisions = Mu =      45.47


-----------------------------------------------
Results of CollisionOver test:

POISSON approximation                 :
Expected number of collisions = N*Mu  :     1364.24
Observed number of collisions         :     1377
p-value of test                       :    0.37

-----------------------------
Total number of cells containing j balls

  j =  0                              :  131940795334497
  j =  1                              :        599997246
  j =  2                              :             1377
  j =  3                              :                0
  j =  4                              :                0
  j =  5                              :                0

-----------------------------------------------
CPU time used                    :  00:03:57.17

Generator state:
N/A



***********************************************************
Test smarsa_CollisionOver calling smultin_MultinomialOver

***********************************************************
HOST = tallinn, Linux

stdin


smultin_MultinomialOver test:
-----------------------------------------------
   N = 30,  n = 20000000,  r =  0,   d = 16384,   t =  3,
       Sparse =   TRUE

       GenerCell = smultin_GenerCellSerial
       Number of cells = d^t =      4398046511104
       Expected number per cell =  1 /  219902.33
       EColl = n^2 / (2k) =  45.47473509
       Hashing =   TRUE

       Collision test

       CollisionOver:   density = n / k =  1 /  219902.33
       Expected number of collisions = Mu =      45.47


-----------------------------------------------
Results of CollisionOver test:

POISSON approximation                 :
Expected number of collisions = N*Mu  :     1364.24
Observed number of collisions         :     1413
p-value of test                       :    0.10

-----------------------------
Total number of cells containing j balls

  j =  0                              :  131940795334533
  j =  1                              :        599997174
  j =  2                              :             1413
  j =  3                              :                0
  j =  4                              :                0
  j =  5                              :                0

-----------------------------------------------
CPU time used                    :  00:04:56.69

Generator state:
N/A



***********************************************************
Test smarsa_CollisionOver calling smultin_MultinomialOver

***********************************************************
HOST = tallinn, Linux

stdin


smultin_MultinomialOver test:
-----------------------------------------------
   N = 30,  n = 20000000,  r = 16,   d = 16384,   t =  3,
       Sparse =   TRUE

       GenerCell = smultin_GenerCellSerial
       Number of cells = d^t =      4398046511104
       Expected number per cell =  1 /  219902.33
       EColl = n^2 / (2k) =  45.47473509
       Hashing =   TRUE

       Collision test

       CollisionOver:   density = n / k =  1 /  219902.33
       Expected number of collisions = Mu =      45.47


-----------------------------------------------
Results of CollisionOver test:

POISSON approximation                 :
Expected number of collisions = N*Mu  :     1364.24
Observed number of collisions         :     1356
p-value of test                       :    0.58

-----------------------------
Total number of cells containing j balls

  j =  0                              :  131940795334476
  j =  1                              :        599997288
  j =  2                              :             1356
  j =  3                              :                0
  j =  4                              :                0
  j =  5                              :                0

-----------------------------------------------
CPU time used                    :  00:05:05.89

Generator state:
N/A



***********************************************************
Test smarsa_CollisionOver calling smultin_MultinomialOver

***********************************************************
HOST = tallinn, Linux

stdin


smultin_MultinomialOver test:
-----------------------------------------------
   N = 30,  n = 20000000,  r =  0,   d =   64,   t =  7,
       Sparse =   TRUE

       GenerCell = smultin_GenerCellSerial
       Number of cells = d^t =      4398046511104
       Expected number per cell =  1 /  219902.33
       EColl = n^2 / (2k) =  45.47473509
       Hashing =   TRUE

       Collision test

       CollisionOver:   density = n / k =  1 /  219902.33
       Expected number of collisions = Mu =      45.47


-----------------------------------------------
Results of CollisionOver test:

POISSON approximation                 :
Expected number of collisions = N*Mu  :     1364.24
Observed number of collisions         :     1317
p-value of test                       :    0.90

-----------------------------
Total number of cells containing j balls

  j =  0                              :  131940795334437
  j =  1                              :        599997366
  j =  2                              :             1317
  j =  3                              :                0
  j =  4                              :                0
  j =  5                              :                0

-----------------------------------------------
CPU time used                    :  00:05:07.75

Generator state:
N/A



***********************************************************
Test smarsa_CollisionOver calling smultin_MultinomialOver

***********************************************************
HOST = tallinn, Linux

stdin


smultin_MultinomialOver test:
-----------------------------------------------
   N = 30,  n = 20000000,  r = 24,   d =   64,   t =  7,
       Sparse =   TRUE

       GenerCell = smultin_GenerCellSerial
       Number of cells = d^t =      4398046511104
       Expected number per cell =  1 /  219902.33
       EColl = n^2 / (2k) =  45.47473509
       Hashing =   TRUE

       Collision test

       CollisionOver:   density = n / k =  1 /  219902.33
       Expected number of collisions = Mu =      45.47


-----------------------------------------------
Results of CollisionOver test:

POISSON approximation                 :
Expected number of collisions = N*Mu  :     1364.24
Observed number of collisions         :     1325
p-value of test                       :    0.85

-----------------------------
Total number of cells containing j balls

  j =  0                              :  131940795334445
  j =  1                              :        599997350
  j =  2                              :             1325
  j =  3                              :                0
  j =  4                              :                0
  j =  5                              :                0

-----------------------------------------------
CPU time used                    :  00:05:14.60

Generator state:
N/A



***********************************************************
Test smarsa_CollisionOver calling smultin_MultinomialOver

***********************************************************
HOST = tallinn, Linux

stdin


smultin_MultinomialOver test:
-----------------------------------------------
   N = 30,  n = 20000000,  r =  0,   d =    8,   t = 14,
       Sparse =   TRUE

       GenerCell = smultin_GenerCellSerial
       Number of cells = d^t =      4398046511104
       Expected number per cell =  1 /  219902.33
       EColl = n^2 / (2k) =  45.47473509
       Hashing =   TRUE

       Collision test

       CollisionOver:   density = n / k =  1 /  219902.33
       Expected number of collisions = Mu =      45.47


-----------------------------------------------
Results of CollisionOver test:

POISSON approximation                 :
Expected number of collisions = N*Mu  :     1364.24
Observed number of collisions         :     1346
p-value of test                       :    0.68

-----------------------------
Total number of cells containing j balls

  j =  0                              :  131940795334466
  j =  1                              :        599997308
  j =  2                              :             1346
  j =  3                              :                0
  j =  4                              :                0
  j =  5                              :                0

-----------------------------------------------
CPU time used                    :  00:05:07.30

Generator state:
N/A



***********************************************************
Test smarsa_CollisionOver calling smultin_MultinomialOver

***********************************************************
HOST = tallinn, Linux

stdin


smultin_MultinomialOver test:
-----------------------------------------------
   N = 30,  n = 20000000,  r = 27,   d =    8,   t = 14,
       Sparse =   TRUE

       GenerCell = smultin_GenerCellSerial
       Number of cells = d^t =      4398046511104
       Expected number per cell =  1 /  219902.33
       EColl = n^2 / (2k) =  45.47473509
       Hashing =   TRUE

       Collision test

       CollisionOver:   density = n / k =  1 /  219902.33
       Expected number of collisions = Mu =      45.47


-----------------------------------------------
Results of CollisionOver test:

POISSON approximation                 :
Expected number of collisions = N*Mu  :     1364.24
Observed number of collisions         :     1345
p-value of test                       :    0.69

-----------------------------
Total number of cells containing j balls

  j =  0                              :  131940795334465
  j =  1                              :        599997310
  j =  2                              :             1345
  j =  3                              :                0
  j =  4                              :                0
  j =  5                              :                0

-----------------------------------------------
CPU time used                    :  00:05:14.51

Generator state:
N/A



***********************************************************
Test smarsa_CollisionOver calling smultin_MultinomialOver

***********************************************************
HOST = tallinn, Linux

stdin


smultin_MultinomialOver test:
-----------------------------------------------
   N = 30,  n = 20000000,  r =  0,   d =    4,   t = 21,
       Sparse =   TRUE

       GenerCell = smultin_GenerCellSerial
       Number of cells = d^t =      4398046511104
       Expected number per cell =  1 /  219902.33
       EColl = n^2 / (2k) =  45.47473509
       Hashing =   TRUE

       Collision test

       CollisionOver:   density = n / k =  1 /  219902.33
       Expected number of collisions = Mu =      45.47


-----------------------------------------------
Results of CollisionOver test:

POISSON approximation                 :
Expected number of collisions = N*Mu  :     1364.24
Observed number of collisions         :     1425
p-value of test                       :    0.05

-----------------------------
Total number of cells containing j balls

  j =  0                              :  131940795334545
  j =  1                              :        599997150
  j =  2                              :             1425
  j =  3                              :                0
  j =  4                              :                0
  j =  5                              :                0

-----------------------------------------------
CPU time used                    :  00:05:08.38

Generator state:
N/A



***********************************************************
Test smarsa_CollisionOver calling smultin_MultinomialOver

***********************************************************
HOST = tallinn, Linux

stdin


smultin_MultinomialOver test:
-----------------------------------------------
   N = 30,  n = 20000000,  r = 28,   d =    4,   t = 21,
       Sparse =   TRUE

       GenerCell = smultin_GenerCellSerial
       Number of cells = d^t =      4398046511104
       Expected number per cell =  1 /  219902.33
       EColl = n^2 / (2k) =  45.47473509
       Hashing =   TRUE

       Collision test

       CollisionOver:   density = n / k =  1 /  219902.33
       Expected number of collisions = Mu =      45.47


-----------------------------------------------
Results of CollisionOver test:

POISSON approximation                 :
Expected number of collisions = N*Mu  :     1364.24
Observed number of collisions         :     1438
p-value of test                       :    0.02

-----------------------------
Total number of cells containing j balls

  j =  0                              :  131940795334558
  j =  1                              :        599997124
  j =  2                              :             1438
  j =  3                              :                0
  j =  4                              :                0
  j =  5                              :                0

-----------------------------------------------
CPU time used                    :  00:05:16.78

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_BirthdaySpacings test:
-----------------------------------------------
   N = 100,  n = 10000000,  r =  0,    d = 2147483648,    t = 2,    p = 1


      Number of cells = d^t = 4611686018427387904
      Lambda = Poisson mean =      54.2101


----------------------------------------------------
Total expected number = N*Lambda      :    5421.01
Total observed number                 :    5449
p-value of test                       :    0.35


-----------------------------------------------
CPU time used                    :  00:05:28.46

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_BirthdaySpacings test:
-----------------------------------------------
   N = 20,  n = 20000000,  r =  0,    d = 2097152,    t = 3,    p = 1


      Number of cells = d^t = 9223372036854775808
      Lambda = Poisson mean =     216.8404


----------------------------------------------------
Total expected number = N*Lambda      :    4336.81
Total observed number                 :    4349
p-value of test                       :    0.43


-----------------------------------------------
CPU time used                    :  00:02:26.61

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_BirthdaySpacings test:
-----------------------------------------------
   N = 20,  n = 30000000,  r = 14,    d = 65536,    t = 4,    p = 1


      Number of cells = d^t = 18446744073709551616
      Lambda = Poisson mean =     365.9182


----------------------------------------------------
Total expected number = N*Lambda      :    7318.36
Total observed number                 :    7237
p-value of test                       :    0.83


-----------------------------------------------
CPU time used                    :  00:04:02.21

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_BirthdaySpacings test:
-----------------------------------------------
   N = 20,  n = 20000000,  r =  0,    d = 512,    t = 7,    p = 1


      Number of cells = d^t = 9223372036854775808
      Lambda = Poisson mean =     216.8404


----------------------------------------------------
Total expected number = N*Lambda      :    4336.81
Total observed number                 :    4404
p-value of test                       :    0.16


-----------------------------------------------
CPU time used                    :  00:03:03.05

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_BirthdaySpacings test:
-----------------------------------------------
   N = 20,  n = 20000000,  r =  7,    d = 512,    t = 7,    p = 1


      Number of cells = d^t = 9223372036854775808
      Lambda = Poisson mean =     216.8404


----------------------------------------------------
Total expected number = N*Lambda      :    4336.81
Total observed number                 :    4326
p-value of test                       :    0.56


-----------------------------------------------
CPU time used                    :  00:03:12.65

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_BirthdaySpacings test:
-----------------------------------------------
   N = 20,  n = 30000000,  r = 14,    d = 256,    t = 8,    p = 1


      Number of cells = d^t = 18446744073709551616
      Lambda = Poisson mean =     365.9182


----------------------------------------------------
Total expected number = N*Lambda      :    7318.36
Total observed number                 :    7232
p-value of test                       :    0.84


-----------------------------------------------
CPU time used                    :  00:05:14.35

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_BirthdaySpacings test:
-----------------------------------------------
   N = 20,  n = 30000000,  r = 22,    d = 256,    t = 8,    p = 1


      Number of cells = d^t = 18446744073709551616
      Lambda = Poisson mean =     365.9182


----------------------------------------------------
Total expected number = N*Lambda      :    7318.36
Total observed number                 :    7149
p-value of test                       :    0.98


-----------------------------------------------
CPU time used                    :  00:05:14.32

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_BirthdaySpacings test:
-----------------------------------------------
   N = 20,  n = 30000000,  r =  0,    d = 16,    t = 16,    p = 1


      Number of cells = d^t = 18446744073709551616
      Lambda = Poisson mean =     365.9182


----------------------------------------------------
Total expected number = N*Lambda      :    7318.36
Total observed number                 :    7304
p-value of test                       :    0.56


-----------------------------------------------
CPU time used                    :  00:07:00.40

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_BirthdaySpacings test:
-----------------------------------------------
   N = 20,  n = 30000000,  r = 26,    d = 16,    t = 16,    p = 1


      Number of cells = d^t = 18446744073709551616
      Lambda = Poisson mean =     365.9182


----------------------------------------------------
Total expected number = N*Lambda      :    7318.36
Total observed number                 :    7339
p-value of test                       :    0.41


-----------------------------------------------
CPU time used                    :  00:07:31.71

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


snpair_ClosePairs test:
-----------------------------------------------
   N = 30,  n = 6000000,  r =  0,  t = 3,  p = 0,  m = 30,  Torus =  TRUE


---------------------------------------
Test based on the 2 nearest points (NP):

Stat. AD on the N values (NP)         :    0.36
p-value of test                       :    0.89


A2 test based on the spacings between the
   successive jump times of process Y_n(t):

A2 test on the values of A2 (m-NP)    :    0.39
p-value of test                       :    0.86

Test on the Nm values of W_{n,i}(mNP1):    0.37
p-value of test                       :    0.88

Test on the jump times of Y
   (superposition of Yn):

Expected number of jumps of Y = mN    :     900
Number of jumps of Y                  :     912
p-value of test                       :    0.35

Stat. AD (mNP2)                       :    0.50
p-value of test                       :    0.75

Stat. AD after spacings (mNP2-S)      :    0.80
p-value of test                       :    0.48

-----------------------------------------------
CPU time used                    :  00:03:50.81

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


snpair_ClosePairs test:
-----------------------------------------------
   N = 20,  n = 4000000,  r =  0,  t = 5,  p = 0,  m = 30,  Torus =  TRUE


---------------------------------------
Test based on the 2 nearest points (NP):

Stat. AD on the N values (NP)         :    1.07
p-value of test                       :    0.32


A2 test based on the spacings between the
   successive jump times of process Y_n(t):

A2 test on the values of A2 (m-NP)    :    4.24
p-value of test                       :  6.8e-3

Test on the Nm values of W_{n,i}(mNP1):    0.40
p-value of test                       :    0.85

Test on the jump times of Y
   (superposition of Yn):

Expected number of jumps of Y = mN    :     600
Number of jumps of Y                  :     599
p-value of test                       :    0.51

Stat. AD (mNP2)                       :    0.84
p-value of test                       :    0.45

Stat. AD after spacings (mNP2-S)      :    0.18
p-value of test                       :    0.9951

-----------------------------------------------
CPU time used                    :  00:02:30.13

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


snpair_ClosePairs test:
-----------------------------------------------
   N = 10,  n = 3000000,  r =  0,  t = 9,  p = 0,  m = 30,  Torus =  TRUE


---------------------------------------
Test based on the 2 nearest points (NP):

Stat. AD on the N values (NP)         :    0.53
p-value of test                       :    0.71


A2 test based on the spacings between the
   successive jump times of process Y_n(t):

A2 test on the values of A2 (m-NP)    :    0.78
p-value of test                       :    0.49

Test on the Nm values of W_{n,i}(mNP1):    1.09
p-value of test                       :    0.31

Test on the jump times of Y
   (superposition of Yn):

Expected number of jumps of Y = mN    :     300
Number of jumps of Y                  :     314
p-value of test                       :    0.22

Stat. AD (mNP2)                       :    0.53
p-value of test                       :    0.72

Stat. AD after spacings (mNP2-S)      :    0.73
p-value of test                       :    0.53

-----------------------------------------------
CPU time used                    :  00:03:59.69

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


snpair_ClosePairs test:
-----------------------------------------------
   N =  5,  n = 2000000,  r =  0,  t = 16,  p = 0,  m = 30,  Torus =  TRUE


---------------------------------------
Test based on the 2 nearest points (NP):

Stat. AD on the N values (NP)         :    1.25
p-value of test                       :    0.25


A2 test based on the spacings between the
   successive jump times of process Y_n(t):

A2 test on the values of A2 (m-NP)    :    0.93
p-value of test                       :    0.39

Test on the Nm values of W_{n,i}(mNP1):    1.88
p-value of test                       :    0.11

Test on the jump times of Y
   (superposition of Yn):

Expected number of jumps of Y = mN    :     150
Number of jumps of Y                  :     175
p-value of test                       :    0.02

Stat. AD (mNP2)                       :    1.17
p-value of test                       :    0.28

Stat. AD after spacings (mNP2-S)      :    0.55
p-value of test                       :    0.70

-----------------------------------------------
CPU time used                    :  00:04:02.48

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_SimpPoker test:
-----------------------------------------------
   N =  1,  n = 400000000,  r =  0,   d =    8,   k =    8


-----------------------------------------------
Number of degrees of freedom          :    7
Chi-square statistic                  :    3.59
p-value of test                       :    0.83

-----------------------------------------------
CPU time used                    :  00:01:44.75

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_SimpPoker test:
-----------------------------------------------
   N =  1,  n = 400000000,  r = 27,   d =    8,   k =    8


-----------------------------------------------
Number of degrees of freedom          :    7
Chi-square statistic                  :    8.24
p-value of test                       :    0.31

-----------------------------------------------
CPU time used                    :  00:02:08.30

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_SimpPoker test:
-----------------------------------------------
   N =  1,  n = 100000000,  r =  0,   d =   32,   k =   32


-----------------------------------------------
Number of degrees of freedom          :   18
Chi-square statistic                  :   17.44
p-value of test                       :    0.49

-----------------------------------------------
CPU time used                    :  00:01:46.27

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_SimpPoker test:
-----------------------------------------------
   N =  1,  n = 100000000,  r = 25,   d =   32,   k =   32


-----------------------------------------------
Number of degrees of freedom          :   18
Chi-square statistic                  :   16.72
p-value of test                       :    0.54

-----------------------------------------------
CPU time used                    :  00:02:09.60

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_CouponCollector test:
-----------------------------------------------
   N =  1,  n = 200000000,  r =  0,   d =    8


-----------------------------------------------
Number of degrees of freedom          :   54
Chi-square statistic                  :   49.01
p-value of test                       :    0.67

-----------------------------------------------
CPU time used                    :  00:02:33.68

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_CouponCollector test:
-----------------------------------------------
   N =  1,  n = 200000000,  r = 10,   d =    8


-----------------------------------------------
Number of degrees of freedom          :   54
Chi-square statistic                  :   46.42
p-value of test                       :    0.76

-----------------------------------------------
CPU time used                    :  00:02:58.05

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_CouponCollector test:
-----------------------------------------------
   N =  1,  n = 200000000,  r = 20,   d =    8


-----------------------------------------------
Number of degrees of freedom          :   54
Chi-square statistic                  :   45.83
p-value of test                       :    0.78

-----------------------------------------------
CPU time used                    :  00:02:59.73

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_CouponCollector test:
-----------------------------------------------
   N =  1,  n = 200000000,  r = 27,   d =    8


-----------------------------------------------
Number of degrees of freedom          :   54
Chi-square statistic                  :   83.34
p-value of test                       :  6.4e-3

-----------------------------------------------
CPU time used                    :  00:02:58.73

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_Gap test:
-----------------------------------------------
   N =  1,  n = 500000000,  r =  0,   Alpha =        0,   Beta  =   0.0625


-----------------------------------------------
Number of degrees of freedom          :  232
Chi-square statistic                  :  245.41
p-value of test                       :    0.26

-----------------------------------------------
CPU time used                    :  00:03:18.22

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_Gap test:
-----------------------------------------------
   N =  1,  n = 300000000,  r = 25,   Alpha =        0,   Beta  =  0.03125


-----------------------------------------------
Number of degrees of freedom          :  434
Chi-square statistic                  :  415.46
p-value of test                       :    0.73

-----------------------------------------------
CPU time used                    :  00:04:36.20

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_Gap test:
-----------------------------------------------
   N =  1,  n = 100000000,  r =  0,   Alpha =        0,   Beta  = 0.0078125


-----------------------------------------------
Number of degrees of freedom          : 1437
Chi-square statistic                  : 1392.09
p-value of test                       :    0.80

-----------------------------------------------
CPU time used                    :  00:05:00.87

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_Gap test:
-----------------------------------------------
   N =  1,  n = 10000000,  r = 20,   Alpha =        0,   Beta  = 0.000976562


-----------------------------------------------
Number of degrees of freedom          : 7046
Chi-square statistic                  : 7176.88
p-value of test                       :    0.14

-----------------------------------------------
CPU time used                    :  00:04:47.21

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_Run test:
-----------------------------------------------
   N =  5,  n = 1000000000,  r =  0,   Up = FALSE


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.29
p-value of test                       :    0.38

Kolmogorov-Smirnov- statistic = D-    :    0.16
p-value of test                       :    0.72

Anderson-Darling statistic = A2       :    0.61
p-value of test                       :    0.63

Test on the sum of all N observations
Number of degrees of freedom          :   30
Chi-square statistic                  :   27.75
p-value of test                       :    0.58

-----------------------------------------------
CPU time used                    :  00:02:31.02

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_Run test:
-----------------------------------------------
   N = 10,  n = 1000000000,  r = 15,   Up =  TRUE


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :   0.083
p-value of test                       :    0.83

Kolmogorov-Smirnov- statistic = D-    :    0.23
p-value of test                       :    0.31

Anderson-Darling statistic = A2       :    0.51
p-value of test                       :    0.74

Test on the sum of all N observations
Number of degrees of freedom          :   60
Chi-square statistic                  :   62.99
p-value of test                       :    0.37

-----------------------------------------------
CPU time used                    :  00:05:56.96

Generator state:
N/A



***********************************************************
Test sknuth_Permutation calling smultin_Multinomial

***********************************************************
HOST = tallinn, Linux

stdin


smultin_Multinomial test:
-----------------------------------------------
   N =  1,  n = 1000000000,  r =  5,   t =  3,
       Sparse =  FALSE

       GenerCell = smultin_GenerCellPermut
       Number of cells = t! =                  6
       Expected number per cell =  1.6666667e+08
       Hashing =  FALSE

   For Delta > -1, we use the ChiSquare approximation
   Correction factor of the ChiSquare: 
       Delta =     1,    Mu =  2.5000002e-09,    Sigma =          1

-----------------------------------------------
Test Results for Delta =   1.0000

Number of degrees of freedom          :    5
Value of the statistic                :    1.61
p-value of test                       :    0.90


-----------------------------------------------
CPU time used                    :  00:01:55.37

Generator state:
N/A



***********************************************************
Test sknuth_Permutation calling smultin_Multinomial

***********************************************************
HOST = tallinn, Linux

stdin


smultin_Multinomial test:
-----------------------------------------------
   N =  1,  n = 1000000000,  r =  5,   t =  5,
       Sparse =  FALSE

       GenerCell = smultin_GenerCellPermut
       Number of cells = t! =                120
       Expected number per cell =   8333333.3
       Hashing =  FALSE

   For Delta > -1, we use the ChiSquare approximation
   Correction factor of the ChiSquare: 
       Delta =     1,    Mu =  5.9500005e-08,    Sigma =          1

-----------------------------------------------
Test Results for Delta =   1.0000

Number of degrees of freedom          :  119
Value of the statistic                :  123.69
p-value of test                       :    0.37


-----------------------------------------------
CPU time used                    :  00:03:13.02

Generator state:
N/A



***********************************************************
Test sknuth_Permutation calling smultin_Multinomial

***********************************************************
HOST = tallinn, Linux

stdin


smultin_Multinomial test:
-----------------------------------------------
   N =  1,  n = 500000000,  r =  5,   t =  7,
       Sparse =  FALSE

       GenerCell = smultin_GenerCellPermut
       Number of cells = t! =               5040
       Expected number per cell =   99206.349
       Hashing =  FALSE

   For Delta > -1, we use the ChiSquare approximation
   Correction factor of the ChiSquare: 
       Delta =     1,    Mu =  5.0390004e-06,    Sigma =          1

-----------------------------------------------
Test Results for Delta =   1.0000

Number of degrees of freedom          : 5039
Value of the statistic                : 5224.62
p-value of test                       :    0.03


-----------------------------------------------
CPU time used                    :  00:02:21.45

Generator state:
N/A



***********************************************************
Test sknuth_Permutation calling smultin_Multinomial

***********************************************************
HOST = tallinn, Linux

stdin


smultin_Multinomial test:
-----------------------------------------------
   N =  1,  n = 500000000,  r = 10,   t = 10,
       Sparse =  FALSE

       GenerCell = smultin_GenerCellPermut
       Number of cells = t! =            3628800
       Expected number per cell =    137.7866
       Hashing =  FALSE

   For Delta > -1, we use the ChiSquare approximation
   Correction factor of the ChiSquare: 
       Delta =     1,    Mu =   0.0036287993,    Sigma =          1

-----------------------------------------------
Test Results for Delta =   1.0000

Number of degrees of freedom          : 3628799
Value of the statistic                : 3.63e+6
p-value of test                       :    0.43


-----------------------------------------------
CPU time used                    :  00:04:10.90

Generator state:
N/A



***********************************************************
Test sknuth_CollisionPermut calling smultin_Multinomial

***********************************************************
HOST = tallinn, Linux

stdin


smultin_Multinomial test:
-----------------------------------------------
   N = 20,  n = 20000000,  r =  0,   t = 14,
       Sparse =   TRUE

       GenerCell = smultin_GenerCellPermut
       Number of cells = t! =        87178291200
       Expected number per cell =  1 /  4358.9146
       EColl = n^2 / (2k) =   2294.14912
       Hashing =   TRUE

       Collision test,    Mu =      2293.9736,    Sigma =    47.8841

-----------------------------------------------
Test Results for Collisions

For the total number of collisions, we use
      the Poisson approximation:
Expected number of collisions = N*Mu  :    45879.47
Observed number of collisions         :    46181
p-value of test                       :    0.08


-----------------------------
Total number of cells containing j balls

  j =  0                              :    1743165870181
  j =  1                              :        399907645
  j =  2                              :            46167
  j =  3                              :                7
  j =  4                              :                0
  j =  5                              :                0

-----------------------------------------------
CPU time used                    :  00:05:30.78

Generator state:
N/A



***********************************************************
Test sknuth_CollisionPermut calling smultin_Multinomial

***********************************************************
HOST = tallinn, Linux

stdin


smultin_Multinomial test:
-----------------------------------------------
   N = 20,  n = 20000000,  r = 10,   t = 14,
       Sparse =   TRUE

       GenerCell = smultin_GenerCellPermut
       Number of cells = t! =        87178291200
       Expected number per cell =  1 /  4358.9146
       EColl = n^2 / (2k) =   2294.14912
       Hashing =   TRUE

       Collision test,    Mu =      2293.9736,    Sigma =    47.8841

-----------------------------------------------
Test Results for Collisions

For the total number of collisions, we use
      the Poisson approximation:
Expected number of collisions = N*Mu  :    45879.47
Observed number of collisions         :    45969
p-value of test                       :    0.34


-----------------------------
Total number of cells containing j balls

  j =  0                              :    1743165869969
  j =  1                              :        399908062
  j =  2                              :            45969
  j =  3                              :                0
  j =  4                              :                0
  j =  5                              :                0

-----------------------------------------------
CPU time used                    :  00:05:43.18

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_MaxOft test:
-----------------------------------------------
   N = 40,  n = 10000000,  r =  0,   d = 100000,   t =  8

      Number of categories = 100000
      Expected number per category  = 100.00


-----------------------------------------------
Test results for chi2 with 99999 degrees of freedom:

Kolmogorov-Smirnov+ statistic = D+    :    0.21
p-value of test                       :    0.03

Kolmogorov-Smirnov- statistic = D-    :   0.023
p-value of test                       :    0.94

Anderson-Darling statistic = A2       :    3.38
p-value of test                       :    0.02

Test on the sum of all N observations
Number of degrees of freedom          : 3999960
Chi-square statistic                  : 3.99e+6
p-value of test                       :    0.99


-----------------------------------------------
Test results for Anderson-Darling:

Kolmogorov-Smirnov+ statistic = D+    :    0.12
p-value of test                       :    0.27

Kolmogorov-Smirnov- statistic = D-    :   0.028
p-value of test                       :    0.92

Anderson-Darling statistic = A2       :    0.48
p-value of test                       :    0.77


-----------------------------------------------
CPU time used                    :  00:04:37.32

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_MaxOft test:
-----------------------------------------------
   N = 30,  n = 10000000,  r =  0,   d = 100000,   t = 16

      Number of categories = 100000
      Expected number per category  = 100.00


-----------------------------------------------
Test results for chi2 with 99999 degrees of freedom:

Kolmogorov-Smirnov+ statistic = D+    :   0.088
p-value of test                       :    0.59

Kolmogorov-Smirnov- statistic = D-    :    0.10
p-value of test                       :    0.51

Anderson-Darling statistic = A2       :    0.43
p-value of test                       :    0.82

Test on the sum of all N observations
Number of degrees of freedom          : 2999970
Chi-square statistic                  : 3.00e+6
p-value of test                       :    0.42


-----------------------------------------------
Test results for Anderson-Darling:

Kolmogorov-Smirnov+ statistic = D+    :    0.17
p-value of test                       :    0.15

Kolmogorov-Smirnov- statistic = D-    :   0.066
p-value of test                       :    0.74

Anderson-Darling statistic = A2       :    1.31
p-value of test                       :    0.23


-----------------------------------------------
CPU time used                    :  00:04:24.70

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_MaxOft test:
-----------------------------------------------
   N = 20,  n = 10000000,  r =  0,   d = 100000,   t = 24

      Number of categories = 100000
      Expected number per category  = 100.00


-----------------------------------------------
Test results for chi2 with 99999 degrees of freedom:

Kolmogorov-Smirnov+ statistic = D+    :    0.20
p-value of test                       :    0.17

Kolmogorov-Smirnov- statistic = D-    :   0.097
p-value of test                       :    0.64

Anderson-Darling statistic = A2       :    0.82
p-value of test                       :    0.47

Test on the sum of all N observations
Number of degrees of freedom          : 1999980
Chi-square statistic                  : 2.00e+6
p-value of test                       :    0.63


-----------------------------------------------
Test results for Anderson-Darling:

Kolmogorov-Smirnov+ statistic = D+    :   0.093
p-value of test                       :    0.67

Kolmogorov-Smirnov- statistic = D-    :    0.20
p-value of test                       :    0.19

Anderson-Darling statistic = A2       :    1.08
p-value of test                       :    0.32


-----------------------------------------------
CPU time used                    :  00:03:31.78

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sknuth_MaxOft test:
-----------------------------------------------
   N = 20,  n = 10000000,  r =  0,   d = 100000,   t = 32

      Number of categories = 100000
      Expected number per category  = 100.00


-----------------------------------------------
Test results for chi2 with 99999 degrees of freedom:

Kolmogorov-Smirnov+ statistic = D+    :    0.17
p-value of test                       :    0.27

Kolmogorov-Smirnov- statistic = D-    :    0.12
p-value of test                       :    0.54

Anderson-Darling statistic = A2       :    0.69
p-value of test                       :    0.57

Test on the sum of all N observations
Number of degrees of freedom          : 1999980
Chi-square statistic                  : 2.00e+6
p-value of test                       :    0.69


-----------------------------------------------
Test results for Anderson-Darling:

Kolmogorov-Smirnov+ statistic = D+    :   0.027
p-value of test                       :    0.96

Kolmogorov-Smirnov- statistic = D-    :    0.27
p-value of test                       :    0.04

Anderson-Darling statistic = A2       :    2.56
p-value of test                       :    0.05


-----------------------------------------------
CPU time used                    :  00:04:06.77

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_SampleProd test:
-----------------------------------------------
   N = 40,  n = 10000000,  r =  0,   t = 8


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :   0.040
p-value of test                       :    0.86

Kolmogorov-Smirnov- statistic = D-    :    0.12
p-value of test                       :    0.27

Anderson-Darling statistic = A2       :    0.40
p-value of test                       :    0.85

-----------------------------------------------
CPU time used                    :  00:03:36.72

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_SampleProd test:
-----------------------------------------------
   N = 20,  n = 10000000,  r =  0,   t = 16


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :   0.076
p-value of test                       :    0.76

Kolmogorov-Smirnov- statistic = D-    :    0.12
p-value of test                       :    0.52

Anderson-Darling statistic = A2       :    0.48
p-value of test                       :    0.76

-----------------------------------------------
CPU time used                    :  00:02:45.50

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_SampleProd test:
-----------------------------------------------
   N = 20,  n = 10000000,  r =  0,   t = 24


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.17
p-value of test                       :    0.27

Kolmogorov-Smirnov- statistic = D-    :   0.064
p-value of test                       :    0.82

Anderson-Darling statistic = A2       :    1.02
p-value of test                       :    0.34

-----------------------------------------------
CPU time used                    :  00:03:35.13

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_SampleMean test:
-----------------------------------------------
   N = 20000000,  n = 30,  r =  0


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    : 8.72e-5
p-value of test                       :    0.74

Kolmogorov-Smirnov- statistic = D-    : 1.09e-4
p-value of test                       :    0.62

Anderson-Darling statistic = A2       :    0.21
p-value of test                       :    0.99

-----------------------------------------------
CPU time used                    :  00:00:46.63

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_SampleMean test:
-----------------------------------------------
   N = 20000000,  n = 30,  r = 10


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    : 1.85e-4
p-value of test                       :    0.25

Kolmogorov-Smirnov- statistic = D-    : 1.28e-4
p-value of test                       :    0.52

Anderson-Darling statistic = A2       :    0.54
p-value of test                       :    0.71

-----------------------------------------------
CPU time used                    :  00:00:48.47

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_SampleCorr test:
-----------------------------------------------
   N =  1,  n = 2000000000,  r =  0,   k = 1


-----------------------------------------------
Normal statistic                      :   -0.12
p-value of test                       :    0.55

-----------------------------------------------
CPU time used                    :  00:00:51.57

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_SampleCorr test:
-----------------------------------------------
   N =  1,  n = 2000000000,  r =  0,   k = 2


-----------------------------------------------
Normal statistic                      :    0.33
p-value of test                       :    0.37

-----------------------------------------------
CPU time used                    :  00:00:51.89

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_AppearanceSpacings test:
-----------------------------------------------
   N =  1,   Q = 10000000,   K = 1000000000,   r = 0,   s = 3,   L = 15

   Sequences of n = (K + Q)L =  15150000000 bits
   Q = 10000000 initialization blocks
   K = 1000000000 blocks for the test
   the blocks have L = 15 bits



-----------------------------------------------
Normal statistic                      :   -0.12
p-value of test                       :    0.55

-----------------------------------------------
CPU time used                    :  00:02:44.04

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_AppearanceSpacings test:
-----------------------------------------------
   N =  1,   Q = 10000000,   K = 1000000000,   r = 27,   s = 3,   L = 15

   Sequences of n = (K + Q)L =  15150000000 bits
   Q = 10000000 initialization blocks
   K = 1000000000 blocks for the test
   the blocks have L = 15 bits



-----------------------------------------------
Normal statistic                      : 5.67e-3
p-value of test                       :    0.50

-----------------------------------------------
CPU time used                    :  00:02:47.64

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_WeightDistrib test:
-----------------------------------------------
   N =  1,  n = 20000000,  r =  0,  k = 256,  Alpha =      0,  Beta =   0.25


-----------------------------------------------
Number of degrees of freedom          :   67
Chi-square statistic                  :   86.22
p-value of test                       :    0.06

-----------------------------------------------
CPU time used                    :  00:02:02.14

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_WeightDistrib test:
-----------------------------------------------
   N =  1,  n = 20000000,  r = 20,  k = 256,  Alpha =      0,  Beta =   0.25


-----------------------------------------------
Number of degrees of freedom          :   67
Chi-square statistic                  :   96.66
p-value of test                       :    0.01

-----------------------------------------------
CPU time used                    :  00:02:25.54

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_WeightDistrib test:
-----------------------------------------------
   N =  1,  n = 20000000,  r = 28,  k = 256,  Alpha =      0,  Beta =   0.25


-----------------------------------------------
Number of degrees of freedom          :   67
Chi-square statistic                  :   67.29
p-value of test                       :    0.47

-----------------------------------------------
CPU time used                    :  00:02:27.40

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_WeightDistrib test:
-----------------------------------------------
   N =  1,  n = 20000000,  r =  0,  k = 256,  Alpha =      0,  Beta = 0.0625


-----------------------------------------------
Number of degrees of freedom          :   37
Chi-square statistic                  :   37.47
p-value of test                       :    0.45

-----------------------------------------------
CPU time used                    :  00:02:03.81

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_WeightDistrib test:
-----------------------------------------------
   N =  1,  n = 20000000,  r = 10,  k = 256,  Alpha =      0,  Beta = 0.0625


-----------------------------------------------
Number of degrees of freedom          :   37
Chi-square statistic                  :   32.51
p-value of test                       :    0.68

-----------------------------------------------
CPU time used                    :  00:02:26.96

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_WeightDistrib test:
-----------------------------------------------
   N =  1,  n = 20000000,  r = 26,  k = 256,  Alpha =      0,  Beta = 0.0625


-----------------------------------------------
Number of degrees of freedom          :   37
Chi-square statistic                  :   33.02
p-value of test                       :    0.66

-----------------------------------------------
CPU time used                    :  00:02:25.98

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


svaria_SumCollector test:
-----------------------------------------------
   N =  1,  n = 500000000,  r =  0,   g = 10


-----------------------------------------------
Number of degrees of freedom          :   29
Chi-square statistic                  :   21.85
p-value of test                       :    0.83

-----------------------------------------------
CPU time used                    :  00:04:13.56

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_MatrixRank test:
-----------------------------------------------
   N = 10,  n = 1000000,  r =  0,    s = 5,    L = 30,    k = 30


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.24
p-value of test                       :    0.27

Kolmogorov-Smirnov- statistic = D-    :    0.15
p-value of test                       :    0.57

Anderson-Darling statistic = A2       :    0.51
p-value of test                       :    0.73

Test on the sum of all N observations
Number of degrees of freedom          :   40
Chi-square statistic                  :   40.81
p-value of test                       :    0.43

-----------------------------------------------
CPU time used                    :  00:01:57.77

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_MatrixRank test:
-----------------------------------------------
   N = 10,  n = 1000000,  r = 25,    s = 5,    L = 30,    k = 30


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.17
p-value of test                       :    0.49

Kolmogorov-Smirnov- statistic = D-    :   0.067
p-value of test                       :    0.88

Anderson-Darling statistic = A2       :    0.40
p-value of test                       :    0.85

Test on the sum of all N observations
Number of degrees of freedom          :   40
Chi-square statistic                  :   32.35
p-value of test                       :    0.80

-----------------------------------------------
CPU time used                    :  00:01:49.45

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_MatrixRank test:
-----------------------------------------------
   N =  1,  n = 5000,  r =  0,    s = 4,    L = 1000,    k = 1000


-----------------------------------------------
Number of degrees of freedom          :    3
Chi-square statistic                  :    1.74
p-value of test                       :    0.63

-----------------------------------------------
CPU time used                    :  00:02:55.37

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_MatrixRank test:
-----------------------------------------------
   N =  1,  n = 5000,  r = 26,    s = 4,    L = 1000,    k = 1000


-----------------------------------------------
Number of degrees of freedom          :    3
Chi-square statistic                  :    3.45
p-value of test                       :    0.33

-----------------------------------------------
CPU time used                    :  00:02:51.10

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_MatrixRank test:
-----------------------------------------------
   N =  1,  n = 80,  r = 15,    s = 15,    L = 5000,    k = 5000


-----------------------------------------------
Number of degrees of freedom          :    2
Chi-square statistic                  :   0.059
p-value of test                       :    0.97

-----------------------------------------------
CPU time used                    :  00:02:25.79

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_MatrixRank test:
-----------------------------------------------
   N =  1,  n = 80,  r =  0,    s = 30,    L = 5000,    k = 5000


-----------------------------------------------
Number of degrees of freedom          :    2
Chi-square statistic                  :    4.98
p-value of test                       :    0.08

-----------------------------------------------
CPU time used                    :  00:02:02.04

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_Savir2 test:
-----------------------------------------------
   N = 10,  n = 10000000,  r = 10,    m = 1048576,    t = 30


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.19
p-value of test                       :    0.44

Kolmogorov-Smirnov- statistic = D-    :    0.10
p-value of test                       :    0.75

Anderson-Darling statistic = A2       :    0.42
p-value of test                       :    0.82

Test on the sum of all N observations
Number of degrees of freedom          :  130
Chi-square statistic                  :  117.82
p-value of test                       :    0.77

-----------------------------------------------
CPU time used                    :  00:01:22.10

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


smarsa_GCD test:
-----------------------------------------------
   N = 10,  n = 50000000,  r =  0,   s = 30


-----------------------------------------------
Test results for GCD values:

Kolmogorov-Smirnov+ statistic = D+    :    0.32
p-value of test                       :    0.10

Kolmogorov-Smirnov- statistic = D-    :    0.15
p-value of test                       :    0.58

Anderson-Darling statistic = A2       :    1.04
p-value of test                       :    0.34

Test on the sum of all N observations
Number of degrees of freedom          : 17430
Chi-square statistic                  :17328.73
p-value of test                       :    0.71



-----------------------------------------------
CPU time used                    :  00:02:04.39

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


swalk_RandomWalk1 test:
-----------------------------------------------
   N =  1,  n = 100000000,  r =  0,   s = 5,   L0 =   50,   L1 =   50



-----------------------------------------------
Test on the values of the Statistic H

Number of degrees of freedom          :   36
ChiSquare statistic                   :   30.82
p-value of test                       :    0.71


-----------------------------------------------
Test on the values of the Statistic M

Number of degrees of freedom          :   35
ChiSquare statistic                   :   39.98
p-value of test                       :    0.26


-----------------------------------------------
Test on the values of the Statistic J

Number of degrees of freedom          :   25
ChiSquare statistic                   :   27.60
p-value of test                       :    0.33


-----------------------------------------------
Test on the values of the Statistic R

Number of degrees of freedom          :   24
ChiSquare statistic                   :   12.23
p-value of test                       :    0.98


-----------------------------------------------
Test on the values of the Statistic C

Number of degrees of freedom          :   17
ChiSquare statistic                   :   12.15
p-value of test                       :    0.79


-----------------------------------------------
CPU time used                    :  00:01:12.06

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


swalk_RandomWalk1 test:
-----------------------------------------------
   N =  1,  n = 100000000,  r = 25,   s = 5,   L0 =   50,   L1 =   50



-----------------------------------------------
Test on the values of the Statistic H

Number of degrees of freedom          :   36
ChiSquare statistic                   :   43.47
p-value of test                       :    0.18


-----------------------------------------------
Test on the values of the Statistic M

Number of degrees of freedom          :   35
ChiSquare statistic                   :   41.80
p-value of test                       :    0.20


-----------------------------------------------
Test on the values of the Statistic J

Number of degrees of freedom          :   25
ChiSquare statistic                   :   28.66
p-value of test                       :    0.28


-----------------------------------------------
Test on the values of the Statistic R

Number of degrees of freedom          :   24
ChiSquare statistic                   :   17.34
p-value of test                       :    0.83


-----------------------------------------------
Test on the values of the Statistic C

Number of degrees of freedom          :   17
ChiSquare statistic                   :   13.40
p-value of test                       :    0.71


-----------------------------------------------
CPU time used                    :  00:01:15.38

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


swalk_RandomWalk1 test:
-----------------------------------------------
   N =  1,  n = 10000000,  r =  0,   s = 10,   L0 = 1000,   L1 = 1000



-----------------------------------------------
Test on the values of the Statistic H

Number of degrees of freedom          :  146
ChiSquare statistic                   :  145.89
p-value of test                       :    0.49


-----------------------------------------------
Test on the values of the Statistic M

Number of degrees of freedom          :  146
ChiSquare statistic                   :  137.93
p-value of test                       :    0.67


-----------------------------------------------
Test on the values of the Statistic J

Number of degrees of freedom          :  500
ChiSquare statistic                   :  541.77
p-value of test                       :    0.10


-----------------------------------------------
Test on the values of the Statistic R

Number of degrees of freedom          :  136
ChiSquare statistic                   :  116.62
p-value of test                       :    0.88


-----------------------------------------------
Test on the values of the Statistic C

Number of degrees of freedom          :   74
ChiSquare statistic                   :   71.10
p-value of test                       :    0.57


-----------------------------------------------
CPU time used                    :  00:01:28.75

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


swalk_RandomWalk1 test:
-----------------------------------------------
   N =  1,  n = 10000000,  r = 20,   s = 10,   L0 = 1000,   L1 = 1000



-----------------------------------------------
Test on the values of the Statistic H

Number of degrees of freedom          :  146
ChiSquare statistic                   :  179.45
p-value of test                       :    0.03


-----------------------------------------------
Test on the values of the Statistic M

Number of degrees of freedom          :  146
ChiSquare statistic                   :  138.50
p-value of test                       :    0.66


-----------------------------------------------
Test on the values of the Statistic J

Number of degrees of freedom          :  500
ChiSquare statistic                   :  458.37
p-value of test                       :    0.91


-----------------------------------------------
Test on the values of the Statistic R

Number of degrees of freedom          :  136
ChiSquare statistic                   :  121.27
p-value of test                       :    0.81


-----------------------------------------------
Test on the values of the Statistic C

Number of degrees of freedom          :   74
ChiSquare statistic                   :   91.37
p-value of test                       :    0.08


-----------------------------------------------
CPU time used                    :  00:01:32.69

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


swalk_RandomWalk1 test:
-----------------------------------------------
   N =  1,  n = 1000000,  r =  0,   s = 15,   L0 = 10000,   L1 = 10000



-----------------------------------------------
Test on the values of the Statistic H

Number of degrees of freedom          :  384
ChiSquare statistic                   :  469.88
p-value of test                       :  1.8e-3


-----------------------------------------------
Test on the values of the Statistic M

Number of degrees of freedom          :  384
ChiSquare statistic                   :  436.68
p-value of test                       :    0.03


-----------------------------------------------
Test on the values of the Statistic J

Number of degrees of freedom          : 5000
ChiSquare statistic                   : 5094.69
p-value of test                       :    0.17


-----------------------------------------------
Test on the values of the Statistic R

Number of degrees of freedom          :  378
ChiSquare statistic                   :  337.01
p-value of test                       :    0.94


-----------------------------------------------
Test on the values of the Statistic C

Number of degrees of freedom          :  200
ChiSquare statistic                   :  185.11
p-value of test                       :    0.77


-----------------------------------------------
CPU time used                    :  00:01:27.96

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


swalk_RandomWalk1 test:
-----------------------------------------------
   N =  1,  n = 1000000,  r = 15,   s = 15,   L0 = 10000,   L1 = 10000



-----------------------------------------------
Test on the values of the Statistic H

Number of degrees of freedom          :  384
ChiSquare statistic                   :  359.10
p-value of test                       :    0.81


-----------------------------------------------
Test on the values of the Statistic M

Number of degrees of freedom          :  384
ChiSquare statistic                   :  347.31
p-value of test                       :    0.91


-----------------------------------------------
Test on the values of the Statistic J

Number of degrees of freedom          : 5000
ChiSquare statistic                   : 5103.84
p-value of test                       :    0.15


-----------------------------------------------
Test on the values of the Statistic R

Number of degrees of freedom          :  378
ChiSquare statistic                   :  409.42
p-value of test                       :    0.13


-----------------------------------------------
Test on the values of the Statistic C

Number of degrees of freedom          :  200
ChiSquare statistic                   :  210.95
p-value of test                       :    0.28


-----------------------------------------------
CPU time used                    :  00:01:21.94

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


scomp_LinearComp test:
-----------------------------------------------
   N =  1,  n = 400020,  r =  0,    s = 1



-----------------------------------------------
Number of degrees of freedom          :   12
Chi2 statistic for size of jumps      :   13.01
p-value of test                       :    0.37


-----------------------------------------------
Normal statistic for number of jumps  : -347.94
p-value of test                       : 1 - eps1    *****



-----------------------------------------------
CPU time used                    :  00:00:25.46

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


scomp_LinearComp test:
-----------------------------------------------
   N =  1,  n = 400020,  r = 29,    s = 1



-----------------------------------------------
Number of degrees of freedom          :   12
Chi2 statistic for size of jumps      :   10.54
p-value of test                       :    0.57


-----------------------------------------------
Normal statistic for number of jumps  : -347.95
p-value of test                       : 1 - eps1    *****



-----------------------------------------------
CPU time used                    :  00:00:26.37

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


scomp_LempelZiv test:
-----------------------------------------------
   N = 10,  n = 134217728,  r =  0,   s =   30,   k =   27


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.28
p-value of test                       :    0.18

Kolmogorov-Smirnov- statistic = D-    :   0.046
p-value of test                       :    0.93

Anderson-Darling statistic = A2       :    1.15
p-value of test                       :    0.29

Tests on the sum of all N observations
Standardized normal statistic         :   -1.32
p-value of test                       :    0.91

Sample variance                       :    0.93
p-value of test                       :    0.50

-----------------------------------------------
CPU time used                    :  00:01:21.89

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


scomp_LempelZiv test:
-----------------------------------------------
   N = 10,  n = 134217728,  r = 15,   s =   15,   k =   27


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.19
p-value of test                       :    0.45

Kolmogorov-Smirnov- statistic = D-    :    0.11
p-value of test                       :    0.72

Anderson-Darling statistic = A2       :    0.27
p-value of test                       :    0.96

Tests on the sum of all N observations
Standardized normal statistic         :   -0.16
p-value of test                       :    0.56

Sample variance                       :    1.11
p-value of test                       :    0.35

-----------------------------------------------
CPU time used                    :  00:01:18.04

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sspectral_Fourier3 test:
-----------------------------------------------
   N = 100000,  n = 16384,  r =  0,   s =    3,   k =   14


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    : 1.28e-3
p-value of test                       :    0.99

Kolmogorov-Smirnov- statistic = D-    :   0.013
p-value of test                       :    0.26

Anderson-Darling statistic = A2       :    0.73
p-value of test                       :    0.54

-----------------------------------------------
CPU time used                    :  00:00:59.62

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sspectral_Fourier3 test:
-----------------------------------------------
   N = 100000,  n = 16384,  r = 27,   s =    3,   k =   14


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    : 5.83e-3
p-value of test                       :    0.75

Kolmogorov-Smirnov- statistic = D-    : 9.48e-3
p-value of test                       :    0.48

Anderson-Darling statistic = A2       :    0.24
p-value of test                       :    0.98

-----------------------------------------------
CPU time used                    :  00:00:59.01

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_LongestHeadRun test:
-----------------------------------------------
   N =  1,  n = 1000,  r =  0,   s = 3,   L = 10000020


-----------------------------------------------
Number of degrees of freedom          :    8
Chi-square statistic                  :    3.11
p-value of test                       :    0.93

-----------------------------------------------
Global longest run of 1               :   33.00
p-value of test                       :    0.44



-----------------------------------------------
CPU time used                    :  00:02:15.29

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_LongestHeadRun test:
-----------------------------------------------
   N =  1,  n = 1000,  r = 27,   s = 3,   L = 10000020


-----------------------------------------------
Number of degrees of freedom          :    8
Chi-square statistic                  :    6.21
p-value of test                       :    0.62

-----------------------------------------------
Global longest run of 1               :   34.00
p-value of test                       :    0.25



-----------------------------------------------
CPU time used                    :  00:02:10.36

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_PeriodsInStrings test:
-----------------------------------------------
   N = 10,  n = 500000000,  r =  0,   s =   10


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.22
p-value of test                       :    0.33

Kolmogorov-Smirnov- statistic = D-    :   0.065
p-value of test                       :    0.89

Anderson-Darling statistic = A2       :    0.61
p-value of test                       :    0.63

Test on the sum of all N observations
Number of degrees of freedom          :  200
Chi-square statistic                  :  180.81
p-value of test                       :    0.83

-----------------------------------------------
CPU time used                    :  00:04:18.88

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_PeriodsInStrings test:
-----------------------------------------------
   N = 10,  n = 500000000,  r = 20,   s =   10


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.37
p-value of test                       :    0.05

Kolmogorov-Smirnov- statistic = D-    :    0.20
p-value of test                       :    0.41

Anderson-Darling statistic = A2       :    1.28
p-value of test                       :    0.24

Test on the sum of all N observations
Number of degrees of freedom          :  200
Chi-square statistic                  :  184.72
p-value of test                       :    0.77

-----------------------------------------------
CPU time used                    :  00:04:32.16

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_HammingWeight2 test:
-----------------------------------------------
   N = 10,  n = 1000000000,  r =  0,   s = 3,   L = 1000000


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.13
p-value of test                       :    0.65

Kolmogorov-Smirnov- statistic = D-    :    0.13
p-value of test                       :    0.66

Anderson-Darling statistic = A2       :    0.31
p-value of test                       :    0.93

Test on the sum of all N observations
Number of degrees of freedom          : 10000
Chi-square statistic                  : 9996.85
p-value of test                       :    0.51

-----------------------------------------------
CPU time used                    :  00:01:28.15

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_HammingWeight2 test:
-----------------------------------------------
   N = 10,  n = 1000000000,  r = 27,   s = 3,   L = 1000000


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.10
p-value of test                       :    0.76

Kolmogorov-Smirnov- statistic = D-    :    0.47
p-value of test                       :  8.0e-3

Anderson-Darling statistic = A2       :    2.19
p-value of test                       :    0.07

Test on the sum of all N observations
Number of degrees of freedom          : 10000
Chi-square statistic                  :10190.59
p-value of test                       :    0.09

-----------------------------------------------
CPU time used                    :  00:01:32.24

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_HammingCorr test:
-----------------------------------------------
   N =  1,  n = 1000000000,  r = 10,   s = 10,   L = 30



-----------------------------------------------
Normal statistic                      :   -1.20
p-value of test                       :    0.88

-----------------------------------------------
CPU time used                    :  00:01:54.70

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_HammingCorr test:
-----------------------------------------------
   N =  1,  n = 100000000,  r = 10,   s = 10,   L = 300



-----------------------------------------------
Normal statistic                      :   0.038
p-value of test                       :    0.48

-----------------------------------------------
CPU time used                    :  00:01:42.88

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_HammingCorr test:
-----------------------------------------------
   N =  1,  n = 100000000,  r = 10,   s = 10,   L = 1200



-----------------------------------------------
Normal statistic                      :    1.97
p-value of test                       :    0.02

-----------------------------------------------
CPU time used                    :  00:06:45.09

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_HammingIndep test:
-----------------------------------------------
   N = 10,  n = 30000000,  r =  0,   s = 3,   L = 30,   d = 0



Counters with expected numbers >= 10
-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.47
p-value of test                       :  8.4e-3

Kolmogorov-Smirnov- statistic = D-    :   0.063
p-value of test                       :    0.89

Anderson-Darling statistic = A2       :    2.36
p-value of test                       :    0.06

Test on the sum of all N observations
Number of degrees of freedom          : 4890
Chi-square statistic                  : 4723.60
p-value of test                       :    0.95

-----------------------------------------------
CPU time used                    :  00:02:56.56

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_HammingIndep test:
-----------------------------------------------
   N = 10,  n = 30000000,  r = 27,   s = 3,   L = 30,   d = 0



Counters with expected numbers >= 10
-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.54
p-value of test                       :  1.7e-3

Kolmogorov-Smirnov- statistic = D-    : 3.33e-3
p-value of test                       :    0.9966

Anderson-Darling statistic = A2       :    7.92
p-value of test                       :  1.4e-4    *****

Test on the sum of all N observations
Number of degrees of freedom          : 4890
Chi-square statistic                  : 4531.51
p-value of test                       :    0.9999    *****

-----------------------------------------------
CPU time used                    :  00:02:58.02

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_HammingIndep test:
-----------------------------------------------
   N =  1,  n = 30000000,  r =  0,   s = 4,   L = 300,   d = 0



Counters with expected numbers >= 10
-----------------------------------------------
Number of degrees of freedom          : 4117
Chi-square statistic                  : 4156.78
p-value of test                       :    0.33

-----------------------------------------------
CPU time used                    :  00:02:08.40

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_HammingIndep test:
-----------------------------------------------
   N =  1,  n = 30000000,  r = 26,   s = 4,   L = 300,   d = 0



Counters with expected numbers >= 10
-----------------------------------------------
Number of degrees of freedom          : 4117
Chi-square statistic                  : 3966.79
p-value of test                       :    0.95

-----------------------------------------------
CPU time used                    :  00:02:11.56

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_HammingIndep test:
-----------------------------------------------
   N =  1,  n = 10000000,  r =  0,   s = 5,   L = 1200,   d = 0



Counters with expected numbers >= 10
-----------------------------------------------
Number of degrees of freedom          : 11825
Chi-square statistic                  :11927.02
p-value of test                       :    0.25

-----------------------------------------------
CPU time used                    :  00:02:21.61

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_HammingIndep test:
-----------------------------------------------
   N =  1,  n = 10000000,  r = 25,   s = 5,   L = 1200,   d = 0



Counters with expected numbers >= 10
-----------------------------------------------
Number of degrees of freedom          : 11825
Chi-square statistic                  :11819.15
p-value of test                       :    0.51

-----------------------------------------------
CPU time used                    :  00:02:25.54

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_Run test:
-----------------------------------------------
   N =  1,  n = 2000000000,  r =  0,   s =    3


-----------------------------------------------
Total number of 1 runs:  2000000001

Number of degrees of freedom          :   54
Chi2 statistic for number of runs     :   63.19
p-value of test                       :    0.18


-----------------------------------------------
Total number of bits:  8000099877

Normal statistic for number of bits   :    0.79
p-value of test                       :    0.21



-----------------------------------------------
CPU time used                    :  00:02:02.49

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_Run test:
-----------------------------------------------
   N =  1,  n = 2000000000,  r = 27,   s =    3


-----------------------------------------------
Total number of 1 runs:  2000000001

Number of degrees of freedom          :   54
Chi2 statistic for number of runs     :   75.13
p-value of test                       :    0.03


-----------------------------------------------
Total number of bits:  8000066538

Normal statistic for number of bits   :    0.53
p-value of test                       :    0.30



-----------------------------------------------
CPU time used                    :  00:02:02.61

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_AutoCor test:
-----------------------------------------------
   N = 10,  n = 1000000030,  r =  0,   s = 3,   d = 1


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.10
p-value of test                       :    0.75

Kolmogorov-Smirnov- statistic = D-    :    0.28
p-value of test                       :    0.17

Anderson-Darling statistic = A2       :    0.63
p-value of test                       :    0.61

Tests on the sum of all N observations
Standardized normal statistic         :    0.56
p-value of test                       :    0.29

Sample variance                       :    0.68
p-value of test                       :    0.73

-----------------------------------------------
CPU time used                    :  00:03:35.22

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_AutoCor test:
-----------------------------------------------
   N = 10,  n = 1000000029,  r =  0,   s = 3,   d = 3


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :   0.056
p-value of test                       :    0.91

Kolmogorov-Smirnov- statistic = D-    :    0.21
p-value of test                       :    0.37

Anderson-Darling statistic = A2       :    0.66
p-value of test                       :    0.59

Tests on the sum of all N observations
Standardized normal statistic         :    0.83
p-value of test                       :    0.20

Sample variance                       :    0.89
p-value of test                       :    0.53

-----------------------------------------------
CPU time used                    :  00:03:17.97

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_AutoCor test:
-----------------------------------------------
   N = 10,  n = 1000000030,  r = 27,   s = 3,   d = 1


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.26
p-value of test                       :    0.22

Kolmogorov-Smirnov- statistic = D-    :   0.094
p-value of test                       :    0.79

Anderson-Darling statistic = A2       :    1.07
p-value of test                       :    0.32

Tests on the sum of all N observations
Standardized normal statistic         :   -1.07
p-value of test                       :    0.86

Sample variance                       :    0.81
p-value of test                       :    0.61

-----------------------------------------------
CPU time used                    :  00:03:35.52

Generator state:
N/A



***********************************************************
HOST = tallinn, Linux

stdin


sstring_AutoCor test:
-----------------------------------------------
   N = 10,  n = 1000000029,  r = 27,   s = 3,   d = 3


-----------------------------------------------

Kolmogorov-Smirnov+ statistic = D+    :    0.29
p-value of test                       :    0.15

Kolmogorov-Smirnov- statistic = D-    :   0.041
p-value of test                       :    0.94

Anderson-Darling statistic = A2       :    1.35
p-value of test                       :    0.22

Tests on the sum of all N observations
Standardized normal statistic         :   -1.46
p-value of test                       :    0.93

Sample variance                       :    0.85
p-value of test                       :    0.57

-----------------------------------------------
CPU time used                    :  00:03:15.95

Generator state:
N/A




========= Summary results of BigCrush =========

 Version:          TestU01 1.2.3
 Generator:        stdin
 Number of statistics:  160
 Total CPU time:   05:23:24.25
 The following tests gave p-values outside [0.001, 0.9990]:
 (eps  means a value < 1.0e-300):
 (eps1 means a value < 1.0e-15):

       Test                          p-value
 ----------------------------------------------
 80  LinearComp, r = 0              1 - eps1
 81  LinearComp, r = 29             1 - eps1
 96  HammingIndep, L=30, r=27        0.9999 
 ----------------------------------------------
 All other tests were passed



# 
# End: 2019-10-08 08:26:57
# 
# Exit value: 0
# Bytes used: 1428397195264 >= 2^40 (1.4 TB)
# 
# Test duration: 374.1903457091667 minutes
# 
