commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Herbert <alex.d.herb...@gmail.com>
Subject Re: [Rng] New XoShiRo generators
Date Tue, 19 Mar 2019 16:21:35 GMT
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.herbert@gmail.com>
To: 	Gilles Sadowski <gilleseran@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 <aherbert@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-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message