21 July 2014 03:50:41 PM ZIGGURAT_PRB C++ version: Test the ZIGGURAT library. TEST01 SHR3_SEEDED returns pseudorandom uniformly distributed unsigned 32 bit integers. 0 123456789 123456789 1 -1579999415 2714967881 2838424670 2 -2056153900 2238813396 658813981 3 1250077441 1250077441 3488890837 4 -474866960 3820100336 775210481 5 -1117447610 3177519686 2702652726 6 -610828464 3684138832 2566691222 7 -1143879506 3151087790 2540259326 8 -632459188 3662508108 2518628602 9 -52590674 4242376622 3609917434 10 -920365318 3374601978 3322011304 0 987654321 987654321 1 248404469 248404469 1236058790 2 2078538413 2078538413 2326942882 3 -1837283786 2457683510 241254627 4 1841886731 1841886731 4602945 5 305946223 305946223 2147832954 6 -1479565193 2815402103 3121348326 7 736910199 736910199 3552312302 8 -1327526410 2967440886 3704351085 9 1833747846 1833747846 506221436 10 1249087608 1249087608 3082835454 0 123456789 123456789 1 -1579999415 2714967881 2838424670 2 -2056153900 2238813396 658813981 3 1250077441 1250077441 3488890837 4 -474866960 3820100336 775210481 5 -1117447610 3177519686 2702652726 6 -610828464 3684138832 2566691222 7 -1143879506 3151087790 2540259326 8 -632459188 3662508108 2518628602 9 -52590674 4242376622 3609917434 10 -920365318 3374601978 3322011304 TEST02 R4_UNI returns pseudorandom uniformly distributed floats (single precision reals) between 0 and 1. 0 123456789 123456789 1 -1579999415 2714967881 0.160872 2 -2056153900 2238813396 0.653392 3 1250077441 1250077441 0.312321 4 -474866960 3820100336 0.680493 5 -1117447610 3177519686 0.12926 6 -610828464 3684138832 0.0976044 7 -1143879506 3151087790 0.0914502 8 -632459188 3662508108 0.0864139 9 -52590674 4242376622 0.340499 10 -920365318 3374601978 0.273466 0 987654321 987654321 1 248404469 248404469 0.787792 2 2078538413 2078538413 0.0417836 3 -1837283786 2457683510 0.556171 4 1841886731 1841886731 0.501072 5 305946223 305946223 8.13007e-05 6 -1479565193 2815402103 0.226746 7 736910199 736910199 0.327087 8 -1327526410 2967440886 0.362486 9 1833747846 1833747846 0.617864 10 1249087608 1249087608 0.217779 0 123456789 123456789 1 -1579999415 2714967881 0.160872 2 -2056153900 2238813396 0.653392 3 1250077441 1250077441 0.312321 4 -474866960 3820100336 0.680493 5 -1117447610 3177519686 0.12926 6 -610828464 3684138832 0.0976044 7 -1143879506 3151087790 0.0914502 8 -632459188 3662508108 0.0864139 9 -52590674 4242376622 0.340499 10 -920365318 3374601978 0.273466 TEST03 R4_NOR returns pseudorandom normally distributed floats (single precision reals) between 0 and 1. 0 123456789 123456789 1 -1579999415 2714967881 -1.34834 2 -2056153900 2238813396 0.321041 3 1250077441 1250077441 -0.689408 4 -474866960 3820100336 0.875903 5 -1117447610 3177519686 -1.03691 6 -610828464 3684138832 -0.749757 7 -1143879506 3151087790 -2.63358 8 -632459188 3662508108 -2.33521 9 -52590674 4242376622 -0.90058 10 -920365318 3374601978 -0.547212 0 987654321 987654321 1 248404469 248404469 0.678952 2 2078538413 2078538413 -1.02812 3 -1837283786 2457683510 0.233949 4 1841886731 1841886731 0.00331524 5 736910199 736910199 -0.808394 6 -1327526410 2967440886 -0.635426 7 1833747846 1833747846 0.702161 8 1249087608 1249087608 -1.81925 9 2026661944 2026661944 -3.16322 10 1286162813 1286162813 -0.633432 0 123456789 123456789 1 -1579999415 2714967881 -1.34834 2 -2056153900 2238813396 0.321041 3 1250077441 1250077441 -0.689408 4 -474866960 3820100336 0.875903 5 -1117447610 3177519686 -1.03691 6 -610828464 3684138832 -0.749757 7 -1143879506 3151087790 -2.63358 8 -632459188 3662508108 -2.33521 9 -52590674 4242376622 -0.90058 10 -920365318 3374601978 -0.547212 TEST04 R4_EXP returns pseudorandom exponentially distributed floats (single precision reals) between 0 and 1. 0 123456789 123456789 1 1016977383 1016977383 0.164172 2 -2075197827 2219769469 0.174386 3 -1866214726 2428752570 0.135972 4 -1207428624 3087538672 1.29246 5 -1504984549 2789982747 0.0229892 6 719266940 719266940 0.250433 7 71870932 71870932 0.413019 8 1060506829 1060506829 1.12173 9 727032026 727032026 1.85027 10 1543835729 1543835729 3.6635 0 987654321 987654321 1 248404469 248404469 1.27007 2 1841886731 1841886731 0.00205897 3 1833747846 1833747846 0.38206 4 -715281282 3579686014 1.56369 5 2056904439 2056904439 0.959714 6 1806455956 1806455956 0.013664 7 -957733525 3337233771 3.04203 8 -1260874061 3034093235 0.452966 9 1742345012 1742345012 0.87956 10 -986807305 3308159991 0.323407 0 123456789 123456789 1 1016977383 1016977383 0.164172 2 -2075197827 2219769469 0.174386 3 -1866214726 2428752570 0.135972 4 -1207428624 3087538672 1.29246 5 -1504984549 2789982747 0.0229892 6 719266940 719266940 0.250433 7 71870932 71870932 0.413019 8 1060506829 1060506829 1.12173 9 727032026 727032026 1.85027 10 1543835729 1543835729 3.6635 TEST05 Measure the time it takes SHR3_SEEDED to generate 1000000 unsigned 32 bit integers. 0.01 seconds. TEST06 Measure the time it takes R4_UNI to generate 1000000 uniformly random floats. 0.05 seconds. TEST07 Measure the time it takes R8_NOR to generate 1000000 normal random floats. 0.03 seconds. TEST08 Measure the time it takes R4_EXP to generate 1000000 exponential random floats. 0.15 seconds. TEST09 CONG_SEEDED is a generator of pseudorandom uniformly distributed unsigned 32 bit integers. Input Seed Output Seed Output Value 234567891 754257534 754257534 754257534 2156517229 2156517229 2156517229 3318866384 3318866384 3318866384 4083956247 4083956247 4083956247 2798093810 2798093810 2798093810 899179345 899179345 899179345 192314212 192314212 192314212 2912663963 2912663963 2912663963 2815317670 2815317670 2815317670 828024693 828024693 TEST10 KISS_SEEDED is a generator of pseudorandom uniformly distributed unsigned 32 bit integers. JCONG JSR W Z Value In 234567891 123456789 345678912 456789123 Out 754257534 2714967881 756869274 118418677 3759395650 In 754257534 2714967881 756869274 118418677 Out 2156517229 2238813396 1071839548 2242578315 4012434030 In 2156517229 2238813396 1071839548 2242578315 Out 3318866384 1250077441 1148488354 71421358 2816977735 In 3318866384 1250077441 1148488354 71421358 Out 4083956247 3820100336 638837524 1946566815 3289620212 In 4083956247 3820100336 638837524 1946566815 Out 2798093810 3177519686 1046385747 611607869 2792572631 In 2798093810 3177519686 1046385747 611607869 Out 899179345 3684138832 683493966 958134905 2947203765 In 899179345 3684138832 683493966 958134905 Out 192314212 3151087790 342406429 2370503868 2847676023 In 192314212 3151087790 342406429 2370503868 Out 2912663963 3662508108 834575224 44842599 1943886813 In 2912663963 3662508108 834575224 44842599 Out 2815317670 4242376622 716412734 590580459 3917199762 In 2815317670 4242376622 716412734 590580459 Out 828024693 3374601978 696934931 1314737558 209495054 TEST11 MWC_SEEDED is a generator of pseudorandom uniformly distributed unsigned 32 bit integers. Input W Input Z Output W Output Z Output Value 345678912 456789123 756869274 118418677 437381274 756869274 118418677 1071839548 2242578315 1198389564 1071839548 2242578315 1148488354 71421358 304253602 1148488354 71421358 638837524 1946566815 1722999572 638837524 1946566815 1046385747 611607869 2744882259 1046385747 611607869 683493966 958134905 590760526 683493966 958134905 342406429 2370503868 421836061 342406429 2370503868 834575224 44842599 1881512824 834575224 44842599 716412734 590580459 3047069502 716412734 590580459 696934931 1314737558 1998610963 TEST12 SHR3_SEEDED is a generator of pseudorandom uniformly distributed unsigned 32 bit integers. Input Seed Output Seed Output Value 123456789 2714967881 2838424670 2838424670 3758610316 2302067690 2302067690 2017378991 24479385 24479385 2239313674 2263793059 2263793059 2047104206 15929969 15929969 891119311 907049280 907049280 506781276 1413830556 1413830556 677621799 2091452355 2091452355 3598218379 1394703438 1394703438 3921199450 1020935592 ZIGGURAT_PRB Normal end of execution. 21 July 2014 03:50:41 PM