==========================================================
Full Testing of the Mersenne Twister functions (MT19937ar)
Visual Basic version
==========================================================


-------------------------------------------
First part of test: generation and printing
-------------------------------------------

SEED:  initialization by array of 4 elements (same as in the original C code)
101 of 1000000 outputs of genrand_int32():

 1067595299  <-- this is the first number; then each 10000th number is printed:
 3908684712   329956826  2384424596  3423011908  3626174419 
 1651091146   833689030  3215436486  1451764834  2578662417 
 2555445356  1899996962   865987050  3510811149  3522217769 
 3885659489   717567928  1775485450  4131613341  3125251775 
  533743611  3675150497  1662881350   752835430  4063277499 
 1145526335  1035846179   611143661   985967842  2110937913 
   55748519  2674053973   923189717  4210839097  3373681227 
 1117733650  3560076397   978763410  2265436393  3514119279 
  609529304   128607120  2040218033  1431425024  3621526595 
 2306149756  3437504910  2966031036  2848619806  3352697357 
 1290036995  4120786323  1960150415   148678796  1098765082 
 1619711432   953502010  3310384464  3832865964  3534860014 
 1951507868  2126482561  1664608420  3807415473  2425178411 
  368118086  3466987746  2420695215   427004664   908466996 
 2636847185  1938626742   522045657  3698166661  4259848519 
 3399779262  1817145357  3396161573  1743121971  2720983318 
 2932468865  1616693228  3560996693  4137859628  1346146656 
 1719054991  2555758800    99000861  3741260782  1346662012 
 1527073309  2919848968  3727588851  2427401346  4191535037 
    4643892  2243313023  2185474405  1741831371   572929828 

Elapsed time in seconds for generating 1000000 numbers and printing 101 of them: 61.19



----------------------------------------------------
Second part of test: time needed just for generation
----------------------------------------------------

Elapsed time in seconds for generating 100000001 numbers and printing 2 of them: 6008.71
Control numbers:   A=1067595299   B=2891345831   C=100000001
     A should be equal to 1067595299
     B should be equal to 2891345831 if C is 100000001
     (A is the first and B is the last of C pseudorandom numbers generated)



--------------------------------------------------------------
Third part of test: Generation of numbers with different seeds
--------------------------------------------------------------

SEED:  default = 5489
11 of 1000 outputs of genrand_int32():

 3499211612  <-- this is the first number; then each 100th number is printed:
 3468319344  1668894615  3533061365  3938991454   918146921 
 1366796638  2381045132  1843084587  4228191763  1341017984 


SEED:  -2^31 = -2147483648
11 of 1000 outputs of genrand_int32():

  652847386  <-- this is the first number; then each 100th number is printed:
 3579210559  3414549551  3622314312   313733155  2713040315 
 1273435031  2922543831  3889898988   686237769  1880366667 


SEED:  -2^31+1 = -2147483647
11 of 1000 outputs of genrand_int32():

 4099196588  <-- this is the first number; then each 100th number is printed:
 4160946670  2917772802  1467497344  2693016470   595682999 
  281298506  3919281274  1281425637  1953880457  3948237052 


SEED:  -2
11 of 1000 outputs of genrand_int32():

 2236247450  <-- this is the first number; then each 100th number is printed:
 3798564408  1846828200  2178862008  1162710101  1996355214 
 1495305222  3672989517  1689911775  4184319876  1561422500 


SEED:  -1
11 of 1000 outputs of genrand_int32():

  419326371  <-- this is the first number; then each 100th number is printed:
 2073283336   529477282  1260191335  1144830400  1425906879 
 1614451654  1315897766   353718065  1893752145  2673539693 


SEED:  0
11 of 1000 outputs of genrand_int32():

 2357136044  <-- this is the first number; then each 100th number is printed:
 1396067212   628962584  3612669349  2095246993   536153914 
 3388182765   747805126  3630783608  3852886769  3043451800 


SEED:  1
11 of 1000 outputs of genrand_int32():

 1791095845  <-- this is the first number; then each 100th number is printed:
 2253996187   656828586   557356243  1707727431  2477783658 
 1207817352  2514098677   942848783  2642711553   548926898 


SEED:  2
11 of 1000 outputs of genrand_int32():

 1872583848  <-- this is the first number; then each 100th number is printed:
 3428244566  4158776341    78469207  3687093449  1950251474 
 4057278984  2121319658  2098763824   524148871  1429249493 


SEED:  2^31-2 = 2147483646
11 of 1000 outputs of genrand_int32():

  109505139  <-- this is the first number; then each 100th number is printed:
 3271527733  4225686392  1387707153  3382932396   530146129 
 2030452502  3733297937  2107332503   938417605  2699735147 


SEED:  2^31-1 = 2147483647
11 of 1000 outputs of genrand_int32():

 1689602031  <-- this is the first number; then each 100th number is printed:
 3712819861   743675277  4207762013   436225530  3621160215 
  603221877  3975852396   351452809  4094276321  4086752972 


SEED:  initialization by array of 4 elements, equal to { 0x123, 0x234, 0x345, 0x456 } .

       IT IS THE SAME TEST AS THE ONE IN THE ORIGINAL C CODE, 
       but prints only 11 of 1000 outputs of genrand_int32():

 1067595299  <-- this is the first number; then each 100th number is printed:
 1049781534  1132511021  1923824407  1522441192  4215215715 
 1274127772  4087252587  3315215132  3899136933  3460025646 


SEED:  initialization by array of 4 elements, equal to { 0x123, 0x234, 0x345, 0x457 } .

       The initialization array differs from the one in the original C code, 
       in JUST THE LAST BIT. Prints only 11 of 1000 outputs of genrand_int32():

 3013171083  <-- this is the first number; then each 100th number is printed:
 3166990726  1464619772  1620499324  1125671087  2954350039 
 2266022300  3869812819  1681973569  2777091458  3027635152 


SEED:  initialization by array of 4 elements,
       each one equal to 0 .
11 of 1000 outputs of genrand_int32():

 1840135726  <-- this is the first number; then each 100th number is printed:
 3932598699  1280888177  1482674419  3673134241  1087183774 
 3771084288   526454958  2984069793  3554750116  1373791051 


SEED:  initialization by array of 4 elements, 
       each one equal to 0xFFFFFFFF == 2^32-1 == 4294967295 .
11 of 1000 outputs of genrand_int32():

 1009630920  <-- this is the first number; then each 100th number is printed:
 3704842449   931296981  1134380767   908033100  3324758709 
 3531854007  2916801454  3740405247  2623904086  3588314238 



-------------------------------------------------------
Fourth part of test: Generation using all the functions
-------------------------------------------------------


** FUNCTIONS THAT RETURN AN INTEGER VALUE:


SEED:  default = 5489

11 of 1000 outputs of genrand_int32():

 3499211612  <-- this is the first number; then each 100th number is printed:
 3468319344  1668894615  3533061365  3938991454   918146921 
 1366796638  2381045132  1843084587  4228191763  1341017984 


SEED:  default = 5489 (same seed as before, to compare the different values returned)

11 of 1000 outputs of genrand_int31():

 1749605806  <-- this is the first number; then each 100th number is printed:
 1734159672   834447307  1766530682  1969495727   459073460 
  683398319  1190522566   921542293  2114095881   670508992 



** FUNCTIONS THAT RETURN A REAL VALUE:


SEED:  NO NEW SEEDS ARE USED in the remaining tests of this 4th section. 
       The last one (default=5489) remains valid and is not reset between consecutive tests.


11 of 1000 outputs of genrand_real1():

0.58224916 <-- this is the first number; then each 100th number is printed:
0.23364370 0.09648681 0.73647249 0.02549966 0.92509477 
0.97868663 0.61088436 0.82677445 0.32929940 0.91948258 


11 of 1000 outputs of genrand_real2():

0.63118873 <-- this is the first number; then each 100th number is printed:
0.79964707 0.10878500 0.64090398 0.12672814 0.78997178 
0.50371126 0.72024970 0.78287675 0.01702430 0.52943620 


11 of 1000 outputs of genrand_real3():

0.14025536 <-- this is the first number; then each 100th number is printed:
0.72693530 0.03557162 0.66223717 0.60034448 0.58697161 
0.82603067 0.70829452 0.17630509 0.83106259 0.05533317 


11 of 1000 outputs of genrand_res53():

0.74486786 <-- this is the first number; then each 100th number is printed:
0.63193080 0.86462201 0.24364791 0.80452088 0.61123713 
0.83571335 0.15669385 0.50481062 0.28344419 0.81131742 



** FUNCTIONS THAT ARE PRESENT ONLY IN THE VISUAL BASIC VERSION 
   WITH NO COUNTERPART IN THE ORIGINAL C VERSION:


11 of 1000 outputs of genrand_int32SignedLong():

 1630392281  <-- this is the first number; then each 100th number is printed:
  740519879  -693829281  1240661367  1708661359  1007199797 
 -779936675   -50766047  1561482108   769065647   588912561 


11 of 1000 outputs of genrand_real2b():

0.79675142 <-- this is the first number; then each 100th number is printed:
0.24540911 0.42376587 0.38596069 0.18366733 0.20482683 
0.10924527 0.09037368 0.72679526 0.85412464 0.71201710 


11 of 1000 outputs of genrand_real2c():

0.42706235 <-- this is the first number; then each 100th number is printed:
0.19153871 0.44142339 0.70081316 0.49854685 0.52265931 
0.46985425 0.99554486 0.15134513 0.11993931 0.37584863 


11 of 1000 outputs of genrand_real3b():

0.98342087 <-- this is the first number; then each 100th number is printed:
0.31500452 0.41849641 0.06900319 0.80452145 0.84684944 
0.01093957 0.39119864 0.02493227 0.66061638 0.96011441 


11 of 1000 outputs of genrand_real4b():

-0.66224006 <-- this is the first number; then each 100th number is printed:
-0.82080288 -0.52526394 -0.88477404 0.94141827 0.87566094 
-0.38766547 -0.81541445 0.38261757 0.00556987 0.59487317 


11 of 1000 outputs of genrand_real5b():

0.33438080 <-- this is the first number; then each 100th number is printed:
-0.34162785 0.20428022 0.86213984 -0.17928852 0.59257423 
-0.22137106 0.57355894 0.46393880 0.91128320 -0.53503786 



==========================================================
Full Testing of the Mersenne Twister functions (MT19937ar)
Visual Basic version

TOTAL AMOUNT of pseudorandom numbers generated
                 in all the previous tests: 101026001
                                   printed: 389
ELAPSED TIME in seconds for the full test : 6072.43
==========================================================
