Forwarded to mailing list.

-------- Forwarded Message --------
Subject:        Re: [Rng] New XoShiRo generators
Date:   Tue, 19 Mar 2019 16:20:23 +0000
From:   Alex Herbert <alex.d.herb...@gmail.com>
To:     Gilles Sadowski <gillese...@gmail.com>



On 19/03/2019 15:24, Gilles Sadowski wrote:
Hello.

[...]
Given all the stress tests will be rerun shall I go ahead and reorder the existing files, user guide .apt file and the GeneratorsList to be in the order of the RandomSource enum?
We could wait for the new results before updating the site.
I was going to rearrange it all and test all the links in the local site are all ok. I have this scripted but have not yet run it.
Are you going to upload this script to the repository?
I wasn't going to. I've put it into my branch here:

https://github.com/aherbert/commons-rng/blob/userguide-rename/rename.pl
IIUC, this one is only for updating the current site (?).
I was thinking of a utility for taking the output (of several runs) of the test
suites and generate the table in "apt" format (with correct links).

I previously did a lot of this when testing the cache of the int and boolean values. I could not find the scripts on local machines until I realised I committed them to that topic branch.

Q. How is your Perl? I use it because I know it but I find the syntax ugly. I should switch to Python but Perl is so good for parsing text files.

This one renames results files to the same names as the order in master. I used it to rename results files from a partial run since they all start at 1.

https://github.com/aherbert/commons-rng/blob/improvement-RNG-57-stress/commons-rng-examples/examples-stress/rename.pl

This sort of idea may be useful when the number of generators gets large and a rerun of only a few of them is needed (or even just new ones).

This one tabulates failures and systematic failures in the results for Jira posts:

https://github.com/aherbert/commons-rng/blob/improvement-RNG-57-stress/commons-rng-examples/examples-stress/tabulate_results.pl

There is some weird tabs vs spaces problem in that version but it works. Here's what it does on the current master. Note the first table matches the userguide and the script could easily be adapted to create the rng.apt table. The second table identifies unique tests for dieharder using the name and ntup parameter (n-tuples), and for BigCrush it is the test ID and name. It reports tests that always fail.

rng-stress-tabulate-results.pl
src/site/resources/txt/userguide/stress/*/*/*

|| RNG identifier || Dieharder   || TestU01 (BigCrush) ||
| JDK | 11 12 13 |74 72 75 |
| MT | 0 0 0 |3 2 2 |
| WELL_512_A | 0 0 0 |7 6 6 |
| WELL_1024_A | 0 0 0 |4 4 5 |
| WELL_19937_A | 0 0 0 |3 2 2 |
| WELL_19937_C | 0 0 0 |2 2 3 |
| WELL_44497_A | 0 0 0 |2 3 3 |
| WELL_44497_B | 0 0 0 |2 2 2 |
| ISAAC | 0 0 0 |0 1 0 |
| MT_64 | 0 0 1 |3 2 3 |
| SPLIT_MIX_64 | 0 0 0 |2 0 0 |
| XOR_SHIFT_1024_S | 0 0 0 |2 0 0 |
| TWO_CMRES | 1 1 1 |0 0 1 |
| MWC_256 | 0 0 0 |0 0 0 |
| KISS | 0 0 0 |1 2 0 |

|| RNG identifier || Test suite || Systematic failures || Fails ||
| JDK | Dieharder | diehard_oqso:0 | 3/3 |
| JDK | Dieharder | diehard_dna:0 | 3/3 |
| JDK | Dieharder | rgb_minimum_distance:3 | 3/3 |
| JDK | Dieharder | rgb_minimum_distance:4 | 3/3 |
| JDK | Dieharder | rgb_minimum_distance:5 | 3/3 |
| JDK | Dieharder | rgb_lagged_sum:15 | 3/3 |
| JDK | Dieharder | rgb_lagged_sum:31 | 3/3 |
| JDK | Dieharder | dab_bytedistrib:0 | 3/3 |
| JDK | Dieharder | dab_filltree:32 | 3/3 |
| JDK | TestU01 (BigCrush) | 1:SerialOver | 3/3 |
| JDK | TestU01 (BigCrush) | 3:CollisionOver | 3/3 |
| JDK | TestU01 (BigCrush) | 5:CollisionOver | 3/3 |
| JDK | TestU01 (BigCrush) | 7:CollisionOver | 3/3 |
| JDK | TestU01 (BigCrush) | 9:CollisionOver | 3/3 |
| JDK | TestU01 (BigCrush) | 11:CollisionOver | 3/3 |
| JDK | TestU01 (BigCrush) | 13:BirthdaySpacings | 3/3 |
| JDK | TestU01 (BigCrush) | 14:BirthdaySpacings | 3/3 |
| JDK | TestU01 (BigCrush) | 15:BirthdaySpacings | 3/3 |
| JDK | TestU01 (BigCrush) | 16:BirthdaySpacings | 3/3 |
| JDK | TestU01 (BigCrush) | 17:BirthdaySpacings | 3/3 |
| JDK | TestU01 (BigCrush) | 18:BirthdaySpacings | 3/3 |
| JDK | TestU01 (BigCrush) | 19:BirthdaySpacings | 3/3 |
| JDK | TestU01 (BigCrush) | 20:BirthdaySpacings | 3/3 |
| JDK | TestU01 (BigCrush) | 21:BirthdaySpacings | 3/3 |
| JDK | TestU01 (BigCrush) | 22:ClosePairs | 3/3 |
| JDK | TestU01 (BigCrush) | 23:ClosePairs | 3/3 |
| JDK | TestU01 (BigCrush) | 24:ClosePairs | 3/3 |
| JDK | TestU01 (BigCrush) | 25:ClosePairs | 3/3 |
| JDK | TestU01 (BigCrush) | 26:SimpPoker | 3/3 |
| JDK | TestU01 (BigCrush) | 28:SimpPoker | 3/3 |
| JDK | TestU01 (BigCrush) | 30:CouponCollector | 3/3 |
| JDK | TestU01 (BigCrush) | 31:CouponCollector | 3/3 |
| JDK | TestU01 (BigCrush) | 34:Gap | 3/3 |
| JDK | TestU01 (BigCrush) | 36:Gap | 3/3 |
| JDK | TestU01 (BigCrush) | 40:Permutation | 3/3 |
| JDK | TestU01 (BigCrush) | 41:Permutation | 3/3 |
| JDK | TestU01 (BigCrush) | 42:Permutation | 3/3 |
| JDK | TestU01 (BigCrush) | 43:Permutation | 3/3 |
| JDK | TestU01 (BigCrush) | 44:CollisionPermut | 3/3 |
| JDK | TestU01 (BigCrush) | 45:CollisionPermut | 3/3 |
| JDK | TestU01 (BigCrush) | 46:MaxOft | 3/3 |
| JDK | TestU01 (BigCrush) | 47:MaxOft | 3/3 |
| JDK | TestU01 (BigCrush) | 48:MaxOft | 3/3 |
| JDK | TestU01 (BigCrush) | 49:MaxOft | 3/3 |
| JDK | TestU01 (BigCrush) | 50:SampleProd | 3/3 |
| JDK | TestU01 (BigCrush) | 51:SampleProd | 3/3 |
| JDK | TestU01 (BigCrush) | 52:SampleProd | 3/3 |
| JDK | TestU01 (BigCrush) | 57:AppearanceSpacings | 3/3 |
| JDK | TestU01 (BigCrush) | 59:WeightDistrib | 3/3 |
| JDK | TestU01 (BigCrush) | 62:WeightDistrib | 3/3 |
| JDK | TestU01 (BigCrush) | 63:WeightDistrib | 3/3 |
| JDK | TestU01 (BigCrush) | 65:SumCollector | 3/3 |
| JDK | TestU01 (BigCrush) | 74:RandomWalk1 | 3/3 |
| JDK | TestU01 (BigCrush) | 84:Fourier3 | 3/3 |
| JDK | TestU01 (BigCrush) | 86:LongestHeadRun | 3/3 |
| JDK | TestU01 (BigCrush) | 90:HammingWeight2 | 3/3 |
| JDK | TestU01 (BigCrush) | 95:HammingIndep | 3/3 |
| JDK | TestU01 (BigCrush) | 97:HammingIndep | 3/3 |
| JDK | TestU01 (BigCrush) | 99:HammingIndep | 3/3 |
| JDK | TestU01 (BigCrush) | 101:Run | 3/3 |
| MT | TestU01 (BigCrush) | 80:LinearComp | 3/3 |
| MT | TestU01 (BigCrush) | 81:LinearComp | 3/3 |
| WELL_512_A | TestU01 (BigCrush) | 68:MatrixRank | 3/3 |
| WELL_512_A | TestU01 (BigCrush) | 69:MatrixRank | 3/3 |
| WELL_512_A | TestU01 (BigCrush) | 70:MatrixRank | 3/3 |
| WELL_512_A | TestU01 (BigCrush) | 71:MatrixRank | 3/3 |
| WELL_512_A | TestU01 (BigCrush) | 80:LinearComp | 3/3 |
| WELL_512_A | TestU01 (BigCrush) | 81:LinearComp | 3/3 |
| WELL_1024_A | TestU01 (BigCrush) | 70:MatrixRank | 3/3 |
| WELL_1024_A | TestU01 (BigCrush) | 71:MatrixRank | 3/3 |
| WELL_1024_A | TestU01 (BigCrush) | 80:LinearComp | 3/3 |
| WELL_1024_A | TestU01 (BigCrush) | 81:LinearComp | 3/3 |
| WELL_19937_A | TestU01 (BigCrush) | 80:LinearComp | 3/3 |
| WELL_19937_A | TestU01 (BigCrush) | 81:LinearComp | 3/3 |
| WELL_19937_C | TestU01 (BigCrush) | 80:LinearComp | 3/3 |
| WELL_19937_C | TestU01 (BigCrush) | 81:LinearComp | 3/3 |
| WELL_44497_A | TestU01 (BigCrush) | 80:LinearComp | 3/3 |
| WELL_44497_A | TestU01 (BigCrush) | 81:LinearComp | 3/3 |
| WELL_44497_B | TestU01 (BigCrush) | 80:LinearComp | 3/3 |
| WELL_44497_B | TestU01 (BigCrush) | 81:LinearComp | 3/3 |
| MT_64 | TestU01 (BigCrush) | 80:LinearComp | 3/3 |
| MT_64 | TestU01 (BigCrush) | 81:LinearComp | 3/3 |
| TWO_CMRES | Dieharder | diehard_dna:0 | 3/3 |

These scripts (or variants of) could be added to the main source but:

- The perl should be tidied up and more comments added. Perl is not easy to maintain if you don't know it.

- Perhaps there is another place for them?

I am happy to not clutter the source repo and keep them somewhere for devs. But where? You tell me. Maybe in the examples-stress module they are OK as that one is not officially part of the library.


It generates two files that should do all the rearrangement. It's a work
in progress. I've just tried it out and it seems to work, although I've
not looked at the generated site.

The 'git mv' command when viewed using 'git log -M --summary' shows the
renames, e.g.

commit c8b8903c00ab6d2c1403667048f27d9cbad4de46
Author: aherbert <aherb...@apache.org>
Date: Tue Mar 19 12:14:13 2019 +0000

Updated stress test results files

rename src/site/resources/txt/userguide/stress/dh/run_1/{dh_K =>
dh_10} (100%)
rename src/site/resources/txt/userguide/stress/dh/run_1/{dh_L =>
dh_11} (100%)
rename src/site/resources/txt/userguide/stress/dh/run_1/{dh_M =>
dh_12} (100%)
rename src/site/resources/txt/userguide/stress/dh/run_1/{dh_J =>
dh_13} (100%)
rename src/site/resources/txt/userguide/stress/dh/run_1/{dh_C => dh_2}
(100%)


However it is probably easiest to leave it as is and have the source
repo results files out of sync with the GeneratorsList until the next
benchmark results are done.

I think so.

When new results are ready they can be written over the existing ones. Either way I am fine. So let’s leave it until new results have been done and then check the site.

I will update the GeneratorsList to be autogenerated from the RandomSource enum.
Thanks.
Let me know when everything is in place, and I'll try and start a stress test
run on my side.
OK.

I am currently rerunning the dieharder test for the XorShift1024Star
composites since that requires a little endian format on my machine. So
far there are not as many failures when the byte order is reversed.

Once that is done I think we can wrap this up by:

- updating the stress test to support little/big endian format as input
for the test suite

- updating the stress test GeneratorsList to match the RandomSource enum
order

- merging the modified XorShift1024StarPhi generator

- deprecating the XOR_SHIFT_1024_S enum in favour of XOR_SHIFT_1024_S_PHI

- merging the new XorShiRo generators

Then it should be ready for a new stress test benchmark.
Big/Little Endian for Dieharder:

[...]

Reversing the bytes in the Java code is the easiest option.
+1
[With an option flag for selecting whether the output should be BE or LE.]

OK. I will consolidate all this and update the stress_test.md instructions to make it clear that endianness needs to be considered.

Should I add the raw data dumper to the source base? This runs a named RandomSource for a given number of iterations with a provided seed and outputs 4 files: Dieharder text format and raw binary, with standard order and byte reversed. It may be useful if debugging the output of RNGs ever needs to be done again.
Sure. Can this be also added as an option to the "RandomStressTester"
class? E.g. with a flag like
--dump file_prefix,sequence_length
where
"file_prefix" is the basename of the output files, and
"sequence_length" is the number of ints to generate.
The RandomStressTester uses a list of generators. I built the
RawDataDumper to run using a maven profile where it works for a single
named RandomSource. Arguments are:

RandomSource name, long seed, sequence length, file prefix.

So all the functionality is there. If the file is included in the shaded
jar you should be able to do:

> java -cp examples-stress.jar
org.apache.commons.rng.examples.stress.RawDataDumper SPLIT_MIX_64 123L
1000 splitmix.out

Instead of running in a maven profile it could be built into a shaded
package to allow:

> java -jar raw-data-dumper.jar SPLIT_MIX_64 123L 1000 splitmix.out
I like that.
One build should generate all application (dumper and stress test launcher).

I think the functionality is better as two programs to avoid doing too
much in the RandomStressTester. Also I do not see the need to dump
output from a list of 15+ generators.
+1

I can add flag arguments to be used to specify which file to write:

.dh (text output using the dieharder format (uses unsigned int))

.txt (text output)

.raw (raw binary output)

.bin (2s complement binary output)

.hex (text output using hex)


And options for:

- int output

- long output

- byte reversed

- bit reversed

You then have a utility for dumping output of any random source to file
in a variety of formats.

Although long output is not needed for the test suites it is useful for
native long generators.

WDYT?
Looks good!

OK. I will work on the raw data dumper as a Jira ticket. It is encapsulated work that does not really effect anything else.


DieHarder has finished!

I think my stupidity is what caused previous crashes. I was running the stress test within the source tree and possibly git checkout onto another branch makes some of the directory paths stale killing any processes linked to those paths. I'll not do that again.

FYI: Here are the old results with incorrect byte order:

XorShiftSerialComposite : 24, 25, 23 : 134.1 +/- 16.1
XorShiftXorComposite : 88, 105, 89 : 396.2 +/- 9.9
SplitXorComposite : 0, 0, 0 : 90.8 +/- 21.9

Here are the new results with correct byte order:

XorShiftSerialComposite : 13, 15, 10 : 105.5 +/- 1.8
XorShiftXorComposite : 57, 57, 57 : 102.9 +/- 1.5
SplitXorComposite : 0, 0, 0 : 99.9 +/- 3.2

So interestingly passing the correct byte order lowers the number of failures. There are still lots.

And BigCrush (with the fix for passing the correct byte order):

XorShiftSerialComposite : 40, 39, 39 : 608.2 +/- 3.9
XorShiftXorComposite : 54, 53, 53 : 646.8 +/- 10.9
SplitXorComposite : 0, 0, 0 : 625.8 +/- 0.2


So I think this means we deprecate XOR_SHIFT_1024_S.

I can rebase the PRs for the new generators and merge them in.


For reference here are the systematic failures (in case you like to read about the tests that are failing):

|| RNG identifier || Test suite || Systematic failures || Fails ||
| XorShiftSerialComposite$1 | Dieharder | diehard_rank_6x8:0 | 3/3 |
| XorShiftSerialComposite$1 | Dieharder | diehard_opso:0 | 3/3 |
| XorShiftSerialComposite$1 | Dieharder | diehard_oqso:0 | 3/3 |
| XorShiftSerialComposite$1 | Dieharder | diehard_dna:0 | 3/3 |
| XorShiftSerialComposite$1 | Dieharder | diehard_count_1s_str:0 | 3/3 |
| XorShiftSerialComposite$1 | Dieharder | rgb_bitdist:1 | 3/3 |
| XorShiftSerialComposite$1 | Dieharder | rgb_bitdist:2 | 3/3 |
| XorShiftSerialComposite$1 | Dieharder | rgb_bitdist:3 | 3/3 |
| XorShiftSerialComposite$1 | Dieharder | dab_filltree2:1 | 3/3 |
| XorShiftSerialComposite$1 | Dieharder | dab_monobit2:12 | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 2:SerialOver | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 3:CollisionOver | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 4:CollisionOver | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 6:CollisionOver | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 8:CollisionOver | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 10:CollisionOver | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 12:CollisionOver | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 13:BirthdaySpacings | 3/3 | | XorShiftSerialComposite$1 | TestU01 (BigCrush) | 14:BirthdaySpacings | 3/3 | | XorShiftSerialComposite$1 | TestU01 (BigCrush) | 15:BirthdaySpacings | 3/3 | | XorShiftSerialComposite$1 | TestU01 (BigCrush) | 18:BirthdaySpacings | 3/3 | | XorShiftSerialComposite$1 | TestU01 (BigCrush) | 19:BirthdaySpacings | 3/3 | | XorShiftSerialComposite$1 | TestU01 (BigCrush) | 21:BirthdaySpacings | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 22:ClosePairs | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 27:SimpPoker | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 29:SimpPoker | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 32:CouponCollector | 3/3 | | XorShiftSerialComposite$1 | TestU01 (BigCrush) | 33:CouponCollector | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 35:Gap | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 37:Gap | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 58:AppearanceSpacings | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 60:WeightDistrib | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 64:WeightDistrib | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 75:RandomWalk1 | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 77:RandomWalk1 | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 83:LempelZiv | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 85:Fourier3 | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 87:LongestHeadRun | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 96:HammingIndep | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 98:HammingIndep | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 102:Run | 3/3 |
| XorShiftSerialComposite$1 | TestU01 (BigCrush) | 106:AutoCor | 3/3 |
| XorShiftXorComposite$1 | Dieharder | diehard_rank_6x8:0 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | diehard_bitstream:0 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | diehard_opso:0 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | diehard_oqso:0 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | diehard_dna:0 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | diehard_count_1s_str:0 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | diehard_count_1s_byt:0 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | marsaglia_tsang_gcd:0 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_monobit:1 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_runs:2 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:1 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:2 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:3 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:4 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:5 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:6 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:7 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:8 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:9 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:10 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:11 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:12 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:13 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:14 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:15 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | sts_serial:16 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | rgb_bitdist:1 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | rgb_bitdist:2 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | rgb_bitdist:3 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | rgb_bitdist:4 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | rgb_bitdist:5 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | rgb_bitdist:6 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | rgb_bitdist:7 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | rgb_bitdist:8 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | rgb_bitdist:9 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | rgb_bitdist:10 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | rgb_bitdist:11 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | rgb_bitdist:12 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | dab_bytedistrib:0 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | dab_filltree2:0 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | dab_filltree2:1 | 3/3 |
| XorShiftXorComposite$1 | Dieharder | dab_monobit2:12 | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 2:SerialOver | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 4:CollisionOver | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 6:CollisionOver | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 8:CollisionOver | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 10:CollisionOver | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 12:CollisionOver | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 13:BirthdaySpacings | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 15:BirthdaySpacings | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 19:BirthdaySpacings | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 21:BirthdaySpacings | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 27:SimpPoker | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 29:SimpPoker | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 32:CouponCollector | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 33:CouponCollector | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 35:Gap | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 37:Gap | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 46:MaxOft | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 47:MaxOft | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 48:MaxOft | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 49:MaxOft | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 58:AppearanceSpacings | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 60:WeightDistrib | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 61:WeightDistrib | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 64:WeightDistrib | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 73:GCD | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 75:RandomWalk1 | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 77:RandomWalk1 | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 79:RandomWalk1 | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 82:LempelZiv | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 83:LempelZiv | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 85:Fourier3 | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 87:LongestHeadRun | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 89:PeriodsInStrings | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 91:HammingWeight2 | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 96:HammingIndep | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 98:HammingIndep | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 100:HammingIndep | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 102:Run | 3/3 |
| XorShiftXorComposite$1 | TestU01 (BigCrush) | 105:AutoCor | 3/3 |



Thanks,
Gilles

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to