-------------------------------------------------------------------------------
--- Testing wyhash32low "wyhash v4.2 lower 32bit" GOOD

[[[ Sanity Tests ]]]

Verification value 0xC5DF9AA0 ....... PASS
Running sanity check 1     .......... PASS
Running AppendedZeroesTest .......... PASS

[[[ Speed Tests ]]]

Bulk speed test - 262144-byte keys
Alignment  7 -  7.809 bytes/cycle - 22342.24 MiB/sec @ 3 ghz
Alignment  6 -  7.801 bytes/cycle - 22317.97 MiB/sec @ 3 ghz
Alignment  5 -  7.797 bytes/cycle - 22305.99 MiB/sec @ 3 ghz
Alignment  4 -  7.814 bytes/cycle - 22355.46 MiB/sec @ 3 ghz
Alignment  3 -  7.803 bytes/cycle - 22325.41 MiB/sec @ 3 ghz
Alignment  2 -  7.812 bytes/cycle - 22349.08 MiB/sec @ 3 ghz
Alignment  1 -  7.810 bytes/cycle - 22345.25 MiB/sec @ 3 ghz
Alignment  0 -  7.972 bytes/cycle - 22808.77 MiB/sec @ 3 ghz
Average      -  7.827 bytes/cycle - 22393.77 MiB/sec @ 3 ghz

Small key speed test -    1-byte keys -    27.20 cycles/hash
Small key speed test -    2-byte keys -    27.12 cycles/hash
Small key speed test -    3-byte keys -    27.00 cycles/hash
Small key speed test -    4-byte keys -    28.00 cycles/hash
Small key speed test -    5-byte keys -    28.00 cycles/hash
Small key speed test -    6-byte keys -    28.00 cycles/hash
Small key speed test -    7-byte keys -    28.00 cycles/hash
Small key speed test -    8-byte keys -    28.00 cycles/hash
Small key speed test -    9-byte keys -    28.00 cycles/hash
Small key speed test -   10-byte keys -    28.00 cycles/hash
Small key speed test -   11-byte keys -    28.00 cycles/hash
Small key speed test -   12-byte keys -    28.00 cycles/hash
Small key speed test -   13-byte keys -    28.00 cycles/hash
Small key speed test -   14-byte keys -    28.00 cycles/hash
Small key speed test -   15-byte keys -    28.00 cycles/hash
Small key speed test -   16-byte keys -    28.00 cycles/hash
Small key speed test -   17-byte keys -    30.00 cycles/hash
Small key speed test -   18-byte keys -    30.00 cycles/hash
Small key speed test -   19-byte keys -    30.00 cycles/hash
Small key speed test -   20-byte keys -    30.00 cycles/hash
Small key speed test -   21-byte keys -    30.34 cycles/hash
Small key speed test -   22-byte keys -    30.30 cycles/hash
Small key speed test -   23-byte keys -    30.30 cycles/hash
Small key speed test -   24-byte keys -    30.33 cycles/hash
Small key speed test -   25-byte keys -    30.46 cycles/hash
Small key speed test -   26-byte keys -    30.43 cycles/hash
Small key speed test -   27-byte keys -    30.42 cycles/hash
Small key speed test -   28-byte keys -    30.57 cycles/hash
Small key speed test -   29-byte keys -    30.53 cycles/hash
Small key speed test -   30-byte keys -    30.57 cycles/hash
Small key speed test -   31-byte keys -    30.54 cycles/hash
Average                                    29.036 cycles/hash

[[[ 'Hashmap' Speed Tests ]]]

std::unordered_map
Init std HashMapTest:     408.988 cycles/op (104334 inserts, 1% deletions)
Running std HashMapTest:  354.697 cycles/op (4.7 stdv)

greg7mdp/parallel-hashmap
Init fast HashMapTest:    300.897 cycles/op (104334 inserts, 1% deletions)
Running fast HashMapTest: 243.397 cycles/op (3.4 stdv)  ....... PASS

[[[ Avalanche Tests ]]]

Testing   24-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.656000%
Testing   32-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.576667%
Testing   40-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.637333%
Testing   48-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.606667%
Testing   56-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.630667%
Testing   64-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.648667%
Testing   72-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.736667%
Testing   80-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.714000%
Testing   96-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.674000%
Testing  112-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.678000%
Testing  128-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.808000%
Testing  160-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.688000%
Testing  512-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.722000%
Testing 1024-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.803333%

[[[ Keyset 'Sparse' Tests ]]]

Keyset 'Sparse' - 16-bit keys with up to 9 bits set - 50643 keys
Testing collisions ( 32-bit) - Expected    0.3, actual      0 (0.00x)
Testing collisions (high 19-25 bits) - Worst is 20 bits: 1233/1203 (1.02x)
Testing collisions (low  19-25 bits) - Worst is 24 bits: 79/76 (1.03x)
Testing distribution - Worst bias is the 13-bit window at bit 28 - 0.547%

Keyset 'Sparse' - 24-bit keys with up to 8 bits set - 1271626 keys
Testing collisions ( 32-bit) - Expected  188.2, actual    215 (1.14x) (27)
Testing distribution - Worst bias is the 17-bit window at bit 19 - 0.083%

Keyset 'Sparse' - 32-bit keys with up to 7 bits set - 4514873 keys
Testing collisions ( 32-bit) - Expected 2372.2, actual   2398 (1.01x) (26)
Testing distribution - Worst bias is the 19-bit window at bit 27 - 0.045%

Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys
Testing collisions ( 32-bit) - Expected 2460.8, actual   2444 (0.99x) (-16)
Testing distribution - Worst bias is the 19-bit window at bit 12 - 0.043%

Keyset 'Sparse' - 48-bit keys with up to 6 bits set - 14196869 keys
Testing collisions ( 32-bit) - Expected 23437.8, actual  23553 (1.00x) (116)
Testing distribution - Worst bias is the 20-bit window at bit 31 - 0.027%

Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys
Testing collisions ( 32-bit) - Expected 2069.0, actual   2027 (0.98x)
Testing distribution - Worst bias is the 18-bit window at bit  5 - 0.040%

Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys
Testing collisions ( 32-bit) - Expected 8021.7, actual   8293 (1.03x) (272)
Testing distribution - Worst bias is the 20-bit window at bit 16 - 0.037%

Keyset 'Sparse' - 72-bit keys with up to 5 bits set - 15082603 keys
Testing collisions ( 32-bit) - Expected 26451.8, actual  26292 (0.99x) (-159)
Testing distribution - Worst bias is the 20-bit window at bit 25 - 0.025%

Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys
Testing collisions ( 32-bit) - Expected 1401.0, actual   1392 (0.99x) (-8)
Testing distribution - Worst bias is the 19-bit window at bit 12 - 0.067%

Keyset 'Sparse' - 160-bit keys with up to 4 bits set - 26977161 keys
Testing collisions ( 32-bit) - Expected 84546.1, actual  84756 (1.00x) (210)
Testing distribution - Worst bias is the 20-bit window at bit  0 - 0.009%

Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys
Testing collisions ( 32-bit) - Expected  910.2, actual    902 (0.99x) (-8)
Testing distribution - Worst bias is the 19-bit window at bit 14 - 0.058%

Keyset 'Sparse' - 512-bit keys with up to 3 bits set - 22370049 keys
Testing collisions ( 32-bit) - Expected 58155.4, actual  58258 (1.00x) (103)
Testing distribution - Worst bias is the 20-bit window at bit 25 - 0.010%

Keyset 'Sparse' - 1024-bit keys with up to 2 bits set - 524801 keys
Testing collisions ( 32-bit) - Expected   32.1, actual     27 (0.84x)
Testing distribution - Worst bias is the 16-bit window at bit 16 - 0.148%

Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys
Testing collisions ( 32-bit) - Expected  512.4, actual    468 (0.91x)
Testing distribution - Worst bias is the 18-bit window at bit  8 - 0.080%


[[[ Keyset 'Permutation' Tests ]]]

Combination Lowbits Tests:
Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys
Testing collisions ( 32-bit) - Expected  668.6, actual    667 (1.00x) (-1)
Testing distribution - Worst bias is the 18-bit window at bit 21 - 0.088%


Combination Highbits Tests
Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys
Testing collisions ( 32-bit) - Expected  668.6, actual    617 (0.92x)
Testing distribution - Worst bias is the 18-bit window at bit 29 - 0.047%


Combination Hi-Lo Tests:
Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys
Testing collisions ( 32-bit) - Expected 17322.9, actual  17499 (1.01x) (177)
Testing distribution - Worst bias is the 20-bit window at bit  8 - 0.028%


Combination 0x8000000 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8011 (0.98x)
Testing distribution - Worst bias is the 20-bit window at bit  3 - 0.026%


Combination 0x0000001 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8280 (1.01x) (94)
Testing distribution - Worst bias is the 20-bit window at bit 25 - 0.043%


Combination 0x800000000000000 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8123 (0.99x) (-63)
Testing distribution - Worst bias is the 20-bit window at bit  6 - 0.036%


Combination 0x000000000000001 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8245 (1.01x) (59)
Testing distribution - Worst bias is the 20-bit window at bit  6 - 0.036%


Combination 16-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8338 (1.02x) (152)
Testing distribution - Worst bias is the 20-bit window at bit 14 - 0.039%


Combination 16-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8272 (1.01x) (86)
Testing distribution - Worst bias is the 20-bit window at bit 21 - 0.031%


Combination 32-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8320 (1.02x) (134)
Testing distribution - Worst bias is the 20-bit window at bit 27 - 0.048%


Combination 32-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8171 (1.00x) (-15)
Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.032%


Combination 64-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8208 (1.00x) (22)
Testing distribution - Worst bias is the 20-bit window at bit 18 - 0.040%


Combination 64-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8191 (1.00x) (5)
Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.020%


Combination 128-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8105 (0.99x) (-81)
Testing distribution - Worst bias is the 20-bit window at bit 25 - 0.030%


Combination 128-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8118 (0.99x) (-68)
Testing distribution - Worst bias is the 20-bit window at bit 18 - 0.023%


[[[ Keyset 'Window' Tests ]]]

Keyset 'Window' -  72-bit key,  20-bit window - 72 tests, 1048576 keys per test
Window at   0 - Testing collisions ( 32-bit) - Expected  128.0, actual    115 (0.90x)
Window at   1 - Testing collisions ( 32-bit) - Expected  128.0, actual     96 (0.75x)
Window at   2 - Testing collisions ( 32-bit) - Expected  128.0, actual    121 (0.95x)
Window at   3 - Testing collisions ( 32-bit) - Expected  128.0, actual    150 (1.17x) (23)
Window at   4 - Testing collisions ( 32-bit) - Expected  128.0, actual    146 (1.14x) (19)
Window at   5 - Testing collisions ( 32-bit) - Expected  128.0, actual    144 (1.13x) (17)
Window at   6 - Testing collisions ( 32-bit) - Expected  128.0, actual    150 (1.17x) (23)
Window at   7 - Testing collisions ( 32-bit) - Expected  128.0, actual    127 (0.99x)
Window at   8 - Testing collisions ( 32-bit) - Expected  128.0, actual    114 (0.89x)
Window at   9 - Testing collisions ( 32-bit) - Expected  128.0, actual    114 (0.89x)
Window at  10 - Testing collisions ( 32-bit) - Expected  128.0, actual    138 (1.08x) (11)
Window at  11 - Testing collisions ( 32-bit) - Expected  128.0, actual    121 (0.95x)
Window at  12 - Testing collisions ( 32-bit) - Expected  128.0, actual    139 (1.09x) (12)
Window at  13 - Testing collisions ( 32-bit) - Expected  128.0, actual    119 (0.93x)
Window at  14 - Testing collisions ( 32-bit) - Expected  128.0, actual    104 (0.81x)
Window at  15 - Testing collisions ( 32-bit) - Expected  128.0, actual    122 (0.95x)
Window at  16 - Testing collisions ( 32-bit) - Expected  128.0, actual    143 (1.12x) (16)
Window at  17 - Testing collisions ( 32-bit) - Expected  128.0, actual    142 (1.11x) (15)
Window at  18 - Testing collisions ( 32-bit) - Expected  128.0, actual    108 (0.84x)
Window at  19 - Testing collisions ( 32-bit) - Expected  128.0, actual    127 (0.99x)
Window at  20 - Testing collisions ( 32-bit) - Expected  128.0, actual    120 (0.94x)
Window at  21 - Testing collisions ( 32-bit) - Expected  128.0, actual    136 (1.06x) (9)
Window at  22 - Testing collisions ( 32-bit) - Expected  128.0, actual    145 (1.13x) (18)
Window at  23 - Testing collisions ( 32-bit) - Expected  128.0, actual    122 (0.95x)
Window at  24 - Testing collisions ( 32-bit) - Expected  128.0, actual    113 (0.88x)
Window at  25 - Testing collisions ( 32-bit) - Expected  128.0, actual    129 (1.01x) (2)
Window at  26 - Testing collisions ( 32-bit) - Expected  128.0, actual    143 (1.12x) (16)
Window at  27 - Testing collisions ( 32-bit) - Expected  128.0, actual    132 (1.03x) (5)
Window at  28 - Testing collisions ( 32-bit) - Expected  128.0, actual    131 (1.02x) (4)
Window at  29 - Testing collisions ( 32-bit) - Expected  128.0, actual    136 (1.06x) (9)
Window at  30 - Testing collisions ( 32-bit) - Expected  128.0, actual    121 (0.95x)
Window at  31 - Testing collisions ( 32-bit) - Expected  128.0, actual    140 (1.09x) (13)
Window at  32 - Testing collisions ( 32-bit) - Expected  128.0, actual    124 (0.97x)
Window at  33 - Testing collisions ( 32-bit) - Expected  128.0, actual    140 (1.09x) (13)
Window at  34 - Testing collisions ( 32-bit) - Expected  128.0, actual    139 (1.09x) (12)
Window at  35 - Testing collisions ( 32-bit) - Expected  128.0, actual    142 (1.11x) (15)
Window at  36 - Testing collisions ( 32-bit) - Expected  128.0, actual    139 (1.09x) (12)
Window at  37 - Testing collisions ( 32-bit) - Expected  128.0, actual    126 (0.98x) (-1)
Window at  38 - Testing collisions ( 32-bit) - Expected  128.0, actual    131 (1.02x) (4)
Window at  39 - Testing collisions ( 32-bit) - Expected  128.0, actual    129 (1.01x) (2)
Window at  40 - Testing collisions ( 32-bit) - Expected  128.0, actual    134 (1.05x) (7)
Window at  41 - Testing collisions ( 32-bit) - Expected  128.0, actual    126 (0.98x) (-1)
Window at  42 - Testing collisions ( 32-bit) - Expected  128.0, actual    124 (0.97x)
Window at  43 - Testing collisions ( 32-bit) - Expected  128.0, actual    121 (0.95x)
Window at  44 - Testing collisions ( 32-bit) - Expected  128.0, actual    119 (0.93x)
Window at  45 - Testing collisions ( 32-bit) - Expected  128.0, actual    119 (0.93x)
Window at  46 - Testing collisions ( 32-bit) - Expected  128.0, actual    137 (1.07x) (10)
Window at  47 - Testing collisions ( 32-bit) - Expected  128.0, actual    146 (1.14x) (19)
Window at  48 - Testing collisions ( 32-bit) - Expected  128.0, actual    129 (1.01x) (2)
Window at  49 - Testing collisions ( 32-bit) - Expected  128.0, actual    116 (0.91x)
Window at  50 - Testing collisions ( 32-bit) - Expected  128.0, actual    115 (0.90x)
Window at  51 - Testing collisions ( 32-bit) - Expected  128.0, actual    114 (0.89x)
Window at  52 - Testing collisions ( 32-bit) - Expected  128.0, actual    127 (0.99x)
Window at  53 - Testing collisions ( 32-bit) - Expected  128.0, actual    134 (1.05x) (7)
Window at  54 - Testing collisions ( 32-bit) - Expected  128.0, actual    120 (0.94x)
Window at  55 - Testing collisions ( 32-bit) - Expected  128.0, actual    122 (0.95x)
Window at  56 - Testing collisions ( 32-bit) - Expected  128.0, actual    122 (0.95x)
Window at  57 - Testing collisions ( 32-bit) - Expected  128.0, actual    125 (0.98x)
Window at  58 - Testing collisions ( 32-bit) - Expected  128.0, actual    117 (0.91x)
Window at  59 - Testing collisions ( 32-bit) - Expected  128.0, actual    122 (0.95x)
Window at  60 - Testing collisions ( 32-bit) - Expected  128.0, actual    126 (0.98x) (-1)
Window at  61 - Testing collisions ( 32-bit) - Expected  128.0, actual    124 (0.97x)
Window at  62 - Testing collisions ( 32-bit) - Expected  128.0, actual    133 (1.04x) (6)
Window at  63 - Testing collisions ( 32-bit) - Expected  128.0, actual    128 (1.00x) (1)
Window at  64 - Testing collisions ( 32-bit) - Expected  128.0, actual    133 (1.04x) (6)
Window at  65 - Testing collisions ( 32-bit) - Expected  128.0, actual    134 (1.05x) (7)
Window at  66 - Testing collisions ( 32-bit) - Expected  128.0, actual    139 (1.09x) (12)
Window at  67 - Testing collisions ( 32-bit) - Expected  128.0, actual    135 (1.05x) (8)
Window at  68 - Testing collisions ( 32-bit) - Expected  128.0, actual    116 (0.91x)
Window at  69 - Testing collisions ( 32-bit) - Expected  128.0, actual    129 (1.01x) (2)
Window at  70 - Testing collisions ( 32-bit) - Expected  128.0, actual    129 (1.01x) (2)
Window at  71 - Testing collisions ( 32-bit) - Expected  128.0, actual    108 (0.84x)
Window at  72 - Testing collisions ( 32-bit) - Expected  128.0, actual    115 (0.90x)

[[[ Keyset 'Cyclic' Tests ]]]

Keyset 'Cyclic' - 8 cycles of 4 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    104 (0.89x)
Testing distribution - Worst bias is the 17-bit window at bit 14 - 0.043%

Keyset 'Cyclic' - 8 cycles of 5 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    121 (1.04x) (5)
Testing distribution - Worst bias is the 17-bit window at bit  9 - 0.105%

Keyset 'Cyclic' - 8 cycles of 6 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    111 (0.95x)
Testing distribution - Worst bias is the 17-bit window at bit  7 - 0.103%

Keyset 'Cyclic' - 8 cycles of 7 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    108 (0.93x)
Testing distribution - Worst bias is the 17-bit window at bit  6 - 0.081%

Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    102 (0.88x)
Testing distribution - Worst bias is the 17-bit window at bit 25 - 0.115%

Keyset 'Cyclic' - 8 cycles of 12 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    116 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit  9 - 0.106%


[[[ Keyset 'TwoBytes' Tests ]]]

Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys
Testing collisions ( 32-bit) - Expected   49.6, actual     53 (1.07x) (4)
Testing distribution - Worst bias is the 16-bit window at bit 27 - 0.136%

Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys
Testing collisions ( 32-bit) - Expected 3483.1, actual   3511 (1.01x) (28)
Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.077%

Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys
Testing collisions ( 32-bit) - Expected 40289.5, actual  40129 (1.00x) (-160)
Testing distribution - Worst bias is the 20-bit window at bit 12 - 0.021%

Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys
Testing collisions ( 32-bit) - Expected 227182.3, actual 227323 (1.00x) (141)
Testing distribution - Worst bias is the 20-bit window at bit 27 - 0.007%

Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys
Testing collisions ( 32-bit) - Expected 865959.1, actual 866839 (1.00x) (880)
Testing distribution - Worst bias is the 20-bit window at bit  4 - 0.002%

Keyset 'TwoBytes' - up-to-24-byte keys, 149633745 total keys
Testing collisions ( 32-bit) - Expected 2576560.5, actual 2577449 (1.00x) (889)
Testing distribution - Worst bias is the 20-bit window at bit 13 - 0.002%


[[[ Keyset 'Text' Tests ]]]

Keyset 'Text' - keys of form "FooXXXXBar" - 14776336 keys
Testing collisions ( 32-bit) - Expected 25389.0, actual  25434 (1.00x) (45)
Testing distribution - Worst bias is the 20-bit window at bit 25 - 0.015%

Keyset 'Text' - keys of form "FooBarXXXX" - 14776336 keys
Testing collisions ( 32-bit) - Expected 25389.0, actual  25287 (1.00x) (-102)
Testing distribution - Worst bias is the 20-bit window at bit  9 - 0.022%

Keyset 'Text' - keys of form "XXXXFooBar" - 14776336 keys
Testing collisions ( 32-bit) - Expected 25389.0, actual  25532 (1.01x) (143)
Testing distribution - Worst bias is the 20-bit window at bit 27 - 0.023%

Keyset 'Words' - 4000000 random keys of len 6-16 from alnum charset
Testing collisions ( 32-bit) - Expected 1862.1, actual   1850 (0.99x) (-12)
Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.058%

Keyset 'Words' - 4000000 random keys of len 6-16 from password charset
Testing collisions ( 32-bit) - Expected 1862.1, actual   1832 (0.98x) (-30)
Testing distribution - Worst bias is the 19-bit window at bit  1 - 0.039%

Keyset 'Words' - 104334 dict words
Testing collisions ( 32-bit) - Expected    1.3, actual      1 (0.79x)
Testing collisions (high 20-28 bits) - Worst is 28 bits: 26/20 (1.28x)
Testing collisions (low  20-28 bits) - Worst is 20 bits: 4973/5022 (0.99x)
Testing distribution - Worst bias is the 14-bit window at bit 18 - 0.368%


[[[ Keyset 'Zeroes' Tests ]]]

Keyset 'Zeroes' - 204800 keys
Testing collisions ( 32-bit) - Expected    4.9, actual      4 (0.82x)
Testing collisions (high 21-29 bits) - Worst is 29 bits: 48/39 (1.23x)
Testing collisions (low  21-29 bits) - Worst is 28 bits: 90/78 (1.15x)
Testing distribution - Worst bias is the 15-bit window at bit  2 - 0.301%


[[[ Keyset 'Seed' Tests ]]]

Keyset 'Seed' - 5000000 keys
Testing collisions ( 32-bit) - Expected 2909.3, actual   2866 (0.99x) (-43)
Testing distribution - Worst bias is the 19-bit window at bit 17 - 0.048%


[[[ Keyset 'PerlinNoise' Tests ]]]

Testing 16777216 coordinates (L2) : 
Testing collisions ( 32-bit) - Expected 32725.4, actual  32979 (1.01x) (254)

Testing AV variant, 128 count with 4 spacing, 4-12:
Testing collisions ( 32-bit) - Expected 1116.2, actual   1126 (1.01x) (10)


[[[ Diff 'Differential' Tests ]]]

Testing 8303632 up-to-5-bit differentials in 64-bit keys -> 32 bit hashes.
1000 reps, 8303632000 total tests, expecting 1.93 random collisions..........
3 total collisions, of which 3 single collisions were ignored

Testing 11017632 up-to-4-bit differentials in 128-bit keys -> 32 bit hashes.
1000 reps, 11017632000 total tests, expecting 2.57 random collisions..........
4 total collisions, of which 4 single collisions were ignored

Testing 2796416 up-to-3-bit differentials in 256-bit keys -> 32 bit hashes.
1000 reps, 2796416000 total tests, expecting 0.65 random collisions..........
2 total collisions, of which 2 single collisions were ignored


[[[ DiffDist 'Differential Distribution' Tests ]]]

Testing bit 0
Testing collisions ( 32-bit) - Expected  511.9, actual    529 (1.03x) (18)
Testing distribution - Worst bias is the 18-bit window at bit  8 - 0.068%

Testing bit 1
Testing collisions ( 32-bit) - Expected  511.9, actual    489 (0.96x)
Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.044%

Testing bit 2
Testing collisions ( 32-bit) - Expected  511.9, actual    494 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit 16 - 0.079%

Testing bit 3
Testing collisions ( 32-bit) - Expected  511.9, actual    506 (0.99x) (-5)
Testing distribution - Worst bias is the 18-bit window at bit  8 - 0.081%

Testing bit 4
Testing collisions ( 32-bit) - Expected  511.9, actual    515 (1.01x) (4)
Testing distribution - Worst bias is the 18-bit window at bit  0 - 0.088%

Testing bit 5
Testing collisions ( 32-bit) - Expected  511.9, actual    516 (1.01x) (5)
Testing distribution - Worst bias is the 18-bit window at bit 27 - 0.082%

Testing bit 6
Testing collisions ( 32-bit) - Expected  511.9, actual    529 (1.03x) (18)
Testing distribution - Worst bias is the 18-bit window at bit 12 - 0.056%

Testing bit 7
Testing collisions ( 32-bit) - Expected  511.9, actual    513 (1.00x) (2)
Testing distribution - Worst bias is the 18-bit window at bit  2 - 0.080%

Testing bit 8
Testing collisions ( 32-bit) - Expected  511.9, actual    546 (1.07x) (35)
Testing distribution - Worst bias is the 18-bit window at bit 20 - 0.072%

Testing bit 9
Testing collisions ( 32-bit) - Expected  511.9, actual    556 (1.09x) (45)
Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.064%

Testing bit 10
Testing collisions ( 32-bit) - Expected  511.9, actual    490 (0.96x)
Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.074%

Testing bit 11
Testing collisions ( 32-bit) - Expected  511.9, actual    537 (1.05x) (26)
Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.072%

Testing bit 12
Testing collisions ( 32-bit) - Expected  511.9, actual    456 (0.89x)
Testing distribution - Worst bias is the 18-bit window at bit  4 - 0.080%

Testing bit 13
Testing collisions ( 32-bit) - Expected  511.9, actual    502 (0.98x) (-9)
Testing distribution - Worst bias is the 18-bit window at bit 23 - 0.086%

Testing bit 14
Testing collisions ( 32-bit) - Expected  511.9, actual    531 (1.04x) (20)
Testing distribution - Worst bias is the 18-bit window at bit  6 - 0.076%

Testing bit 15
Testing collisions ( 32-bit) - Expected  511.9, actual    511 (1.00x)
Testing distribution - Worst bias is the 18-bit window at bit 25 - 0.081%

Testing bit 16
Testing collisions ( 32-bit) - Expected  511.9, actual    512 (1.00x) (1)
Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.057%

Testing bit 17
Testing collisions ( 32-bit) - Expected  511.9, actual    548 (1.07x) (37)
Testing distribution - Worst bias is the 18-bit window at bit 29 - 0.050%

Testing bit 18
Testing collisions ( 32-bit) - Expected  511.9, actual    487 (0.95x)
Testing distribution - Worst bias is the 18-bit window at bit  3 - 0.051%

Testing bit 19
Testing collisions ( 32-bit) - Expected  511.9, actual    521 (1.02x) (10)
Testing distribution - Worst bias is the 18-bit window at bit  4 - 0.108%

Testing bit 20
Testing collisions ( 32-bit) - Expected  511.9, actual    527 (1.03x) (16)
Testing distribution - Worst bias is the 18-bit window at bit 31 - 0.048%

Testing bit 21
Testing collisions ( 32-bit) - Expected  511.9, actual    515 (1.01x) (4)
Testing distribution - Worst bias is the 18-bit window at bit  2 - 0.101%

Testing bit 22
Testing collisions ( 32-bit) - Expected  511.9, actual    502 (0.98x) (-9)
Testing distribution - Worst bias is the 18-bit window at bit 14 - 0.082%

Testing bit 23
Testing collisions ( 32-bit) - Expected  511.9, actual    520 (1.02x) (9)
Testing distribution - Worst bias is the 18-bit window at bit 21 - 0.059%

Testing bit 24
Testing collisions ( 32-bit) - Expected  511.9, actual    487 (0.95x)
Testing distribution - Worst bias is the 18-bit window at bit  9 - 0.073%

Testing bit 25
Testing collisions ( 32-bit) - Expected  511.9, actual    497 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.069%

Testing bit 26
Testing collisions ( 32-bit) - Expected  511.9, actual    495 (0.97x)
Testing distribution - Worst bias is the 17-bit window at bit 24 - 0.049%

Testing bit 27
Testing collisions ( 32-bit) - Expected  511.9, actual    536 (1.05x) (25)
Testing distribution - Worst bias is the 18-bit window at bit 23 - 0.052%

Testing bit 28
Testing collisions ( 32-bit) - Expected  511.9, actual    502 (0.98x) (-9)
Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.098%

Testing bit 29
Testing collisions ( 32-bit) - Expected  511.9, actual    501 (0.98x)
Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.070%

Testing bit 30
Testing collisions ( 32-bit) - Expected  511.9, actual    505 (0.99x) (-6)
Testing distribution - Worst bias is the 18-bit window at bit 13 - 0.049%

Testing bit 31
Testing collisions ( 32-bit) - Expected  511.9, actual    466 (0.91x)
Testing distribution - Worst bias is the 18-bit window at bit  3 - 0.055%

Testing bit 32
Testing collisions ( 32-bit) - Expected  511.9, actual    547 (1.07x) (36)
Testing distribution - Worst bias is the 18-bit window at bit 13 - 0.051%

Testing bit 33
Testing collisions ( 32-bit) - Expected  511.9, actual    537 (1.05x) (26)
Testing distribution - Worst bias is the 18-bit window at bit  2 - 0.083%

Testing bit 34
Testing collisions ( 32-bit) - Expected  511.9, actual    464 (0.91x)
Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.078%

Testing bit 35
Testing collisions ( 32-bit) - Expected  511.9, actual    520 (1.02x) (9)
Testing distribution - Worst bias is the 18-bit window at bit 25 - 0.044%

Testing bit 36
Testing collisions ( 32-bit) - Expected  511.9, actual    530 (1.04x) (19)
Testing distribution - Worst bias is the 18-bit window at bit 16 - 0.055%

Testing bit 37
Testing collisions ( 32-bit) - Expected  511.9, actual    515 (1.01x) (4)
Testing distribution - Worst bias is the 18-bit window at bit 19 - 0.089%

Testing bit 38
Testing collisions ( 32-bit) - Expected  511.9, actual    538 (1.05x) (27)
Testing distribution - Worst bias is the 18-bit window at bit  8 - 0.045%

Testing bit 39
Testing collisions ( 32-bit) - Expected  511.9, actual    531 (1.04x) (20)
Testing distribution - Worst bias is the 18-bit window at bit  4 - 0.062%

Testing bit 40
Testing collisions ( 32-bit) - Expected  511.9, actual    490 (0.96x)
Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.093%

Testing bit 41
Testing collisions ( 32-bit) - Expected  511.9, actual    511 (1.00x)
Testing distribution - Worst bias is the 18-bit window at bit  4 - 0.065%

Testing bit 42
Testing collisions ( 32-bit) - Expected  511.9, actual    519 (1.01x) (8)
Testing distribution - Worst bias is the 18-bit window at bit 11 - 0.075%

Testing bit 43
Testing collisions ( 32-bit) - Expected  511.9, actual    471 (0.92x)
Testing distribution - Worst bias is the 17-bit window at bit  2 - 0.051%

Testing bit 44
Testing collisions ( 32-bit) - Expected  511.9, actual    520 (1.02x) (9)
Testing distribution - Worst bias is the 18-bit window at bit 25 - 0.063%

Testing bit 45
Testing collisions ( 32-bit) - Expected  511.9, actual    525 (1.03x) (14)
Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.067%

Testing bit 46
Testing collisions ( 32-bit) - Expected  511.9, actual    514 (1.00x) (3)
Testing distribution - Worst bias is the 18-bit window at bit 29 - 0.071%

Testing bit 47
Testing collisions ( 32-bit) - Expected  511.9, actual    505 (0.99x) (-6)
Testing distribution - Worst bias is the 18-bit window at bit 31 - 0.076%

Testing bit 48
Testing collisions ( 32-bit) - Expected  511.9, actual    502 (0.98x) (-9)
Testing distribution - Worst bias is the 18-bit window at bit 20 - 0.079%

Testing bit 49
Testing collisions ( 32-bit) - Expected  511.9, actual    510 (1.00x) (-1)
Testing distribution - Worst bias is the 18-bit window at bit 17 - 0.090%

Testing bit 50
Testing collisions ( 32-bit) - Expected  511.9, actual    488 (0.95x)
Testing distribution - Worst bias is the 18-bit window at bit 16 - 0.103%

Testing bit 51
Testing collisions ( 32-bit) - Expected  511.9, actual    509 (0.99x) (-2)
Testing distribution - Worst bias is the 17-bit window at bit 18 - 0.058%

Testing bit 52
Testing collisions ( 32-bit) - Expected  511.9, actual    513 (1.00x) (2)
Testing distribution - Worst bias is the 18-bit window at bit 28 - 0.052%

Testing bit 53
Testing collisions ( 32-bit) - Expected  511.9, actual    526 (1.03x) (15)
Testing distribution - Worst bias is the 17-bit window at bit  6 - 0.054%

Testing bit 54
Testing collisions ( 32-bit) - Expected  511.9, actual    504 (0.98x) (-7)
Testing distribution - Worst bias is the 18-bit window at bit 28 - 0.086%

Testing bit 55
Testing collisions ( 32-bit) - Expected  511.9, actual    520 (1.02x) (9)
Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.080%

Testing bit 56
Testing collisions ( 32-bit) - Expected  511.9, actual    527 (1.03x) (16)
Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.048%

Testing bit 57
Testing collisions ( 32-bit) - Expected  511.9, actual    546 (1.07x) (35)
Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.058%

Testing bit 58
Testing collisions ( 32-bit) - Expected  511.9, actual    506 (0.99x) (-5)
Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.051%

Testing bit 59
Testing collisions ( 32-bit) - Expected  511.9, actual    488 (0.95x)
Testing distribution - Worst bias is the 18-bit window at bit 29 - 0.096%

Testing bit 60
Testing collisions ( 32-bit) - Expected  511.9, actual    523 (1.02x) (12)
Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.031%

Testing bit 61
Testing collisions ( 32-bit) - Expected  511.9, actual    492 (0.96x)
Testing distribution - Worst bias is the 18-bit window at bit  5 - 0.063%

Testing bit 62
Testing collisions ( 32-bit) - Expected  511.9, actual    542 (1.06x) (31)
Testing distribution - Worst bias is the 18-bit window at bit 18 - 0.072%

Testing bit 63
Testing collisions ( 32-bit) - Expected  511.9, actual    484 (0.95x)
Testing distribution - Worst bias is the 18-bit window at bit 31 - 0.072%


[[[ MomentChi2 Tests ]]]

Analyze hashes produced from a serie of linearly increasing numbers of 32-bit, using a step of 2 ... 
Target values to approximate : 1391290.000000 - 686.666667 
4 threads starting...  done
Popcount 1 stats : 1391317.918650 - 687.293226
Popcount 0 stats : 1391273.868242 - 687.314963
MomentChi2 for bits 1 :  0.567303 
MomentChi2 for bits 0 :  0.189401 

Derivative stats (transition from 2 consecutive values) : 
Popcount 1 stats : 1391292.721552 - 687.305667
Popcount 0 stats : 1391302.771014 - 687.312430
MomentChi2 for deriv b1 :  0.00539082 
MomentChi2 for deriv b0 :  0.118705 

  Great 


[[[ Prng Tests ]]]

Skipping PRNG test; it is designed for hashes >= 64-bits

Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 600.170567 seconds
-------------------------------------------------------------------------------
[[[ BadSeeds Tests ]]]

Testing the first 0xffffffff seeds ...
4 threads starting...
at 0 at 40000000 at 80000000 at c0000000 0x81ffffff 0x41ffffff 0x01ffffff 0xc1ffffff 0x03ffffff 0x83ffffff 0x43ffffff 0xc3ffffff 0x05ffffff 0xc5ffffff 0x45ffffff 0x85ffffff 0x07ffffff 0x87ffffff 0x47ffffff 0xc7ffffff 0x89ffffff 0x09ffffff 0x49ffffff 0xc9ffffff 0x0bffffff 0x8bffffff 0x4bffffff 0xcbffffff 0x0dffffff 0x8dffffff 0x4dffffff 0xcdffffff 0x8fffffff 0x0fffffff 0x4fffffff 0xcfffffff 0x51ffffff 0x91ffffff 0x11ffffff 0xd1ffffff  !!!!
Bad seed 0xd3e475d5
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (715827882.67x) (1) !!!!
0x53ffffff 0x13ffffff 0x93ffffff 0xd3ffffff  !!!!
Bad seed 0x1443cf9a
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (715827882.67x) (1) !!!!
0x55ffffff 0x15ffffff 0x95ffffff 0xd5ffffff 0x17ffffff 0x57ffffff 0x97ffffff 0xd7ffffff 0x19ffffff 0x99ffffff 0x59ffffff 0xd9ffffff 0x1bffffff 0x9bffffff 0x5bffffff 0xdbffffff 0x9dffffff 0x1dffffff 0x5dffffff 0xddffffff 0x1fffffff 0x9fffffff 0x5fffffff 0xdfffffff 0x21ffffff 0xa1ffffff 0x61ffffff 0xe1ffffff 0x23ffffff 0xa3ffffff 0x63ffffff 0xe3ffffff 0x25ffffff 0xa5ffffff 0x65ffffff 0xe5ffffff 0x27ffffff 0xa7ffffff 0x67ffffff 0xe7ffffff 0x29ffffff 0xa9ffffff 0x69ffffff 0xe9ffffff  !!!!
Bad seed 0x2ae375a2
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (715827882.67x) (1) !!!!
0x2bffffff 0xabffffff 0x6bffffff 0xebffffff 0xadffffff 0x2dffffff 0x6dffffff 0xedffffff 0xafffffff 0x2fffffff 0x6fffffff 0xefffffff 0xb1ffffff 0x71ffffff 0x31ffffff 0xf1ffffff  !!!!
Bad seed 0x729973d2
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (715827882.67x) (1) !!!!
 !!!!
Bad seed 0x72d3aa79
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (715827882.67x) (1) !!!!
0xb3ffffff 0x73ffffff 0x33ffffff 0xf3ffffff 0xb5ffffff 0x75ffffff 0x35ffffff 0xf5ffffff 0xb7ffffff 0x77ffffff 0x37ffffff 0xf7ffffff 0xb9ffffff 0x79ffffff 0x39ffffff 0xf9ffffff 0xbbffffff 0x7bffffff 0x3bffffff 0xfbffffff 0xbdffffff 0x7dffffff 0x3dffffff 0xfdffffff 0xbfffffff 0x7fffffff 0x3fffffff 0xffffffff All 4 threads ended
FAIL
Ensure to add these bad seeds to the list of secrets in main.cpp

*********FAIL*********


