## Test Results

## Serial Test

The serial test measures correlation between adjacent elements in a random number sequence. We multiply the double precision random numbers bydand truncate to get an integer in [0,d). We considernsubsequences of2random numbers each. There aredpossible subsequences, and each should be equally likely if the distribution were truly uniform. If we interleave two^{2}streamswith adjacent elements of the sequence coming from the same stream, then again, each subsequence will be equally likely if the individual streams are uniform and the corresponding elements of each stream are uncorrelated. The Chisquare test can then be applied to these sequences to determine the likelihood of the sequence coming from a uniform distribution.We tested a set of 100 streams individually, without interleaving. We considered

10pairs of adjacent random integers in [0,100). We then interleaved 100 pairs of these streams and performed this test again. In both the cases, acceptable values of the Chisquare distribution were obtained. We plan to conduct larger tests later.^{5}We illustrate the results of the test qualitatively below. We consider a million random integers in [0,256) from two streams. Then we form pairs from corresponding elements of each stream. There are

256such possible values for these pairs. We determine the frequencies of each possible pair. We then subtract the expected frequency and scale the result to a value in [0,256). In the plot below, these scaled values are treated as the pixel intensities. The horizontal axis represents the values from the first stream and the vertical axis those from the second stream.^{2}

48 bit Linear Congruential Generator with prime addendModified Lagged Fibonacci GeneratorIf any patterns could be observed in the figures above, then this would indicate correlations between corresponding elements of the two streams.

## Overview of Empirical Test Results

The numbers in the table are the total number of random numbers tested.

Sequential Parallel Test48 bit LCG LFG MLFG 64 bit LCG CMRG PMLCG 48 bit LCG LFG MLFG 64 bit LCG CMRG PMLCG Collisions 10 ^{12}10 ^{12}10 ^{12}10 ^{12}10 ^{12}10 ^{12}10 ^{12}10 ^{12}10 ^{12}10 ^{12}10 ^{12}10 ^{12}Coupon 10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}Equidistribution 10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}Not neededGap 10 ^{11}10 ^{13}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{12}10 ^{12}10 ^{11}10 ^{11}10 ^{11}10 ^{11}Maximum of t 10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}Permutations 10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}Poker 10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}Runs up 10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{12}10 ^{12}10 ^{11}10 ^{11}10 ^{11}10 ^{11}Serial 10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}Sum of distributions Not needed10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}Ising: Metropolis 10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}Ising: Wolff 10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}10 ^{11}Random Walk 10 ^{8}10 ^{8}10 ^{8}10 ^{8}10 ^{8}10 ^{8}10 ^{8}10 ^{8}10 ^{8}10 ^{8}10 ^{8}10 ^{8}