-------------------------------------------------------------------------------
--- Testing Murmur1 "MurmurHash1" POOR
[[[ Sanity Tests ]]]
Verification value 0x9EA7D056 ....... PASS
Running sanity check 1 .......... PASS
Running AppendedZeroesTest .......... PASS
[[[ Speed Tests ]]]
Bulk speed test - 262144-byte keys
Alignment 7 - 0.630 bytes/cycle - 1802.98 MiB/sec @ 3 ghz
Alignment 6 - 0.630 bytes/cycle - 1802.98 MiB/sec @ 3 ghz
Alignment 5 - 0.630 bytes/cycle - 1802.98 MiB/sec @ 3 ghz
Alignment 4 - 0.633 bytes/cycle - 1809.77 MiB/sec @ 3 ghz
Alignment 3 - 0.630 bytes/cycle - 1802.97 MiB/sec @ 3 ghz
Alignment 2 - 0.630 bytes/cycle - 1802.97 MiB/sec @ 3 ghz
Alignment 1 - 0.630 bytes/cycle - 1802.97 MiB/sec @ 3 ghz
Alignment 0 - 0.633 bytes/cycle - 1809.77 MiB/sec @ 3 ghz
Average - 0.631 bytes/cycle - 1804.67 MiB/sec @ 3 ghz
Small key speed test - 1-byte keys - 30.00 cycles/hash
Small key speed test - 2-byte keys - 31.00 cycles/hash
Small key speed test - 3-byte keys - 32.00 cycles/hash
Small key speed test - 4-byte keys - 29.00 cycles/hash
Small key speed test - 5-byte keys - 35.82 cycles/hash
Small key speed test - 6-byte keys - 37.00 cycles/hash
Small key speed test - 7-byte keys - 37.00 cycles/hash
Small key speed test - 8-byte keys - 35.00 cycles/hash
Small key speed test - 9-byte keys - 42.00 cycles/hash
Small key speed test - 10-byte keys - 42.97 cycles/hash
Small key speed test - 11-byte keys - 44.00 cycles/hash
Small key speed test - 12-byte keys - 42.00 cycles/hash
Small key speed test - 13-byte keys - 48.00 cycles/hash
Small key speed test - 14-byte keys - 49.00 cycles/hash
Small key speed test - 15-byte keys - 50.00 cycles/hash
Small key speed test - 16-byte keys - 48.00 cycles/hash
Small key speed test - 17-byte keys - 55.00 cycles/hash
Small key speed test - 18-byte keys - 55.69 cycles/hash
Small key speed test - 19-byte keys - 56.00 cycles/hash
Small key speed test - 20-byte keys - 54.89 cycles/hash
Small key speed test - 21-byte keys - 61.88 cycles/hash
Small key speed test - 22-byte keys - 62.00 cycles/hash
Small key speed test - 23-byte keys - 62.60 cycles/hash
Small key speed test - 24-byte keys - 61.00 cycles/hash
Small key speed test - 25-byte keys - 67.00 cycles/hash
Small key speed test - 26-byte keys - 68.00 cycles/hash
Small key speed test - 27-byte keys - 69.00 cycles/hash
Small key speed test - 28-byte keys - 67.00 cycles/hash
Small key speed test - 29-byte keys - 74.00 cycles/hash
Small key speed test - 30-byte keys - 74.86 cycles/hash
Small key speed test - 31-byte keys - 75.00 cycles/hash
Average 51.507 cycles/hash
[[[ 'Hashmap' Speed Tests ]]]
std::unordered_map
Init std HashMapTest: 705.832 cycles/op (479826 inserts, 1% deletions)
Running std HashMapTest: 602.440 cycles/op (6.4 stdv)
greg7mdp/parallel-hashmap
Init fast HashMapTest: 771.615 cycles/op (479826 inserts, 1% deletions)
Running fast HashMapTest: 459.586 cycles/op (12.2 stdv) ....... PASS
[[[ Avalanche Tests ]]]
Testing 24-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.557333%
Testing 32-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.744000%
Testing 40-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.620667%
Testing 48-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.807333%
Testing 56-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.611333%
Testing 64-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.608000%
Testing 72-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.609333%
Testing 80-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.843333%
Testing 96-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.706667%
Testing 112-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.733333%
Testing 128-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.855333%
Testing 160-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.760667%
Testing 512-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.825333%
Testing 1024-bit keys -> 32-bit hashes, 300000 reps worst bias is 0.731333%
[[[ 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 24 bits: 88/76 (1.15x)
Testing collisions (high 12-bit) - Expected 46547.0, actual 46547 (1.00x)
Testing collisions (high 8-bit) - Expected 50387.0, actual 50387 (1.00x)
Testing collisions (low 19-25 bits) - Worst is 25 bits: 38/38 (0.99x)
Testing collisions (low 12-bit) - Expected 46547.0, actual 46547 (1.00x)
Testing collisions (low 8-bit) - Expected 50387.0, actual 50387 (1.00x)
Testing distribution - Worst bias is the 13-bit window at bit 6 - 0.544%
Keyset 'Sparse' - 24-bit keys with up to 8 bits set - 1271626 keys
Testing collisions ( 32-bit) - Expected 188.2, actual 0 (0.00x)
Testing collisions (high 12-bit) - Expected 1267530.0, actual 1267530 (1.00x)
Testing collisions (high 8-bit) - Expected 1271370.0, actual 1271370 (1.00x)
Testing collisions (low 12-bit) - Expected 1267530.0, actual 1267530 (1.00x)
Testing collisions (low 8-bit) - Expected 1271370.0, actual 1271370 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 9 - 0.094%
Keyset 'Sparse' - 32-bit keys with up to 7 bits set - 4514873 keys
Testing collisions ( 32-bit) - Expected 2373.0, actual 0 (0.00x)
Testing collisions (high 12-bit) - Expected 4510777.0, actual 4510777 (1.00x)
Testing collisions (high 8-bit) - Expected 4514617.0, actual 4514617 (1.00x)
Testing collisions (low 12-bit) - Expected 4510777.0, actual 4510777 (1.00x)
Testing collisions (low 8-bit) - Expected 4514617.0, actual 4514617 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 7 - 0.050%
Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys
Testing collisions ( 32-bit) - Expected 2461.7, actual 2142 (0.87x)
Testing collisions (high 12-bit) - Expected 4594383.0, actual 4594383 (1.00x)
Testing collisions (high 8-bit) - Expected 4598223.0, actual 4598223 (1.00x)
Testing collisions (low 12-bit) - Expected 4594383.0, actual 4594383 (1.00x)
Testing collisions (low 8-bit) - Expected 4598223.0, actual 4598223 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 17 - 0.044%
Keyset 'Sparse' - 48-bit keys with up to 6 bits set - 14196869 keys
Testing collisions ( 32-bit) - Expected 23463.6, actual 77516 (3.30x) (54053) !!!!!
Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys
Testing collisions ( 32-bit) - Expected 2069.7, actual 7865 (3.80x) (5796) !!!!!
Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys
Testing collisions ( 32-bit) - Expected 8026.9, actual 353639 (44.06x) (345613) !!!!!
Keyset 'Sparse' - 72-bit keys with up to 5 bits set - 15082603 keys
Testing collisions ( 32-bit) - Expected 26482.7, actual 486947 (18.39x) (460465) !!!!!
Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys
Testing collisions ( 32-bit) - Expected 1401.3, actual 72834 (51.97x) (71433) !!!!!
Keyset 'Sparse' - 160-bit keys with up to 4 bits set - 26977161 keys
Testing collisions ( 32-bit) - Expected 84723.3, actual 439833 (5.19x) (355110) !!!!!
Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys
Testing collisions ( 32-bit) - Expected 910.4, actual 13477 (14.80x) (12567) !!!!!
Keyset 'Sparse' - 512-bit keys with up to 3 bits set - 22370049 keys
Testing collisions ( 32-bit) - Expected 58256.4, actual 105990 (1.82x) (47734)
Testing collisions (high 12-bit) - Expected 22365953.0, actual 22365953 (1.00x)
Testing collisions (high 8-bit) - Expected 22369793.0, actual 22369793 (1.00x)
Testing collisions (low 12-bit) - Expected 22365953.0, actual 22365953 (1.00x)
Testing collisions (low 8-bit) - Expected 22369793.0, actual 22369793 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 16 - 0.034%
Keyset 'Sparse' - 1024-bit keys with up to 2 bits set - 524801 keys
Testing collisions ( 32-bit) - Expected 32.1, actual 231 (7.20x) (199) !!!!!
Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys
Testing collisions ( 32-bit) - Expected 512.5, actual 931 (1.82x) (419)
Testing collisions (high 12-bit) - Expected 2094081.0, actual 2094081 (1.00x)
Testing collisions (high 8-bit) - Expected 2097921.0, actual 2097921 (1.00x)
Testing collisions (low 12-bit) - Expected 2094081.0, actual 2094081 (1.00x)
Testing collisions (low 8-bit) - Expected 2097921.0, actual 2097921 (1.00x)
Testing distribution - Worst bias is the 18-bit window at bit 9 - 0.075%
*********FAIL*********
[[[ 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.7, actual 711 (1.06x) (43)
Testing collisions (high 12-bit) - Expected 2392648.0, actual 2392648 (1.00x)
Testing collisions (high 8-bit) - Expected 2396488.0, actual 2396488 (1.00x)
Testing collisions (low 12-bit) - Expected 2392648.0, actual 2392648 (1.00x)
Testing collisions (low 8-bit) - Expected 2396488.0, actual 2396488 (1.00x)
Testing distribution - Worst bias is the 18-bit window at bit 27 - 0.068%
Combination Highbits Tests
Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys
Testing collisions ( 32-bit) - Expected 668.7, actual 256 (0.38x)
Testing collisions (high 12-bit) - Expected 2392648.0, actual 2392648 (1.00x)
Testing collisions (high 8-bit) - Expected 2396488.0, actual 2396488 (1.00x)
Testing collisions (low 12-bit) - Expected 2392648.0, actual 2392648 (1.00x)
Testing collisions (low 8-bit) - Expected 2396488.0, actual 2396488 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 5 - 0.035%
Combination Hi-Lo Tests:
Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys
Testing collisions ( 32-bit) - Expected 17339.3, actual 17557 (1.01x) (218)
Testing collisions (high 12-bit) - Expected 12200144.0, actual 12200144 (1.00x)
Testing collisions (high 8-bit) - Expected 12203984.0, actual 12203984 (1.00x)
Testing collisions (low 12-bit) - Expected 12200144.0, actual 12200144 (1.00x)
Testing collisions (low 8-bit) - Expected 12203984.0, actual 12203984 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.020%
Combination 0x8000000 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8192.0, actual 8488 (1.04x) (297)
Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.036%
Combination 0x0000001 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8192.0, actual 8246 (1.01x) (55)
Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 3 - 0.030%
Combination 0x800000000000000 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8192.0, actual 8282 (1.01x) (91)
Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 1 - 0.029%
Combination 0x000000000000001 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8192.0, actual 7851 (0.96x)
Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 17 - 0.040%
Combination 16-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8192.0, actual 8003 (0.98x)
Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 10 - 0.021%
Combination 16-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8192.0, actual 8238 (1.01x) (47)
Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 30 - 0.035%
Combination 32-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8192.0, actual 8290 (1.01x) (99)
Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 11 - 0.041%
Combination 32-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8192.0, actual 8388 (1.02x) (197)
Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 27 - 0.046%
Combination 64-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8192.0, actual 8060 (0.98x) (-131)
Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 19 - 0.027%
Combination 64-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8192.0, actual 8240 (1.01x) (49)
Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 1 - 0.025%
Combination 128-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8192.0, actual 8014 (0.98x)
Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 26 - 0.048%
Combination 128-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8192.0, actual 7918 (0.97x)
Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x)
Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 5 - 0.047%
[[[ 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 0 (0.00x)
Window at 1 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 2 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 3 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 4 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 5 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 6 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 7 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 8 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 9 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 10 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 11 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 12 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 13 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 14 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 15 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 16 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 17 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 18 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 19 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 20 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 21 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 22 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 23 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 24 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 25 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 26 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 27 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 28 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 29 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 30 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 31 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 32 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 33 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 34 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 35 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 36 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 37 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 38 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 39 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 40 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 41 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 42 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 43 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 44 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 45 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 46 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 47 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 48 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 49 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 50 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 51 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 52 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 53 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 54 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 55 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 56 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 57 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 58 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 59 - Testing collisions ( 32-bit) - Expected 128.0, actual 5120 (40.00x) (4993) !!!!!
Window at 60 - Testing collisions ( 32-bit) - Expected 128.0, actual 3952 (30.88x) (3825) !!!!!
Window at 61 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 62 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 63 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
Window at 64 - Testing collisions ( 32-bit) - Expected 128.0, actual 121 (0.95x)
Window at 65 - Testing collisions ( 32-bit) - Expected 128.0, actual 168 (1.31x) (41)
Window at 66 - Testing collisions ( 32-bit) - Expected 128.0, actual 117 (0.91x)
Window at 67 - Testing collisions ( 32-bit) - Expected 128.0, actual 262 (2.05x) (135) !!!!!
Window at 68 - Testing collisions ( 32-bit) - Expected 128.0, actual 250 (1.95x) (123)
Window at 69 - Testing collisions ( 32-bit) - Expected 128.0, actual 114 (0.89x)
Window at 70 - Testing collisions ( 32-bit) - Expected 128.0, actual 149 (1.16x) (22)
Window at 71 - Testing collisions ( 32-bit) - Expected 128.0, actual 69 (0.54x)
Window at 72 - Testing collisions ( 32-bit) - Expected 128.0, actual 0 (0.00x)
*********FAIL*********
[[[ Keyset 'Cyclic' Tests ]]]
Keyset 'Cyclic' - 8 cycles of 4 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected 116.4, actual 111 (0.95x)
Testing collisions (high 12-bit) - Expected 995904.0, actual 995904 (1.00x)
Testing collisions (high 8-bit) - Expected 999744.0, actual 999744 (1.00x)
Testing collisions (low 12-bit) - Expected 995904.0, actual 995904 (1.00x)
Testing collisions (low 8-bit) - Expected 999744.0, actual 999744 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 19 - 0.090%
Keyset 'Cyclic' - 8 cycles of 5 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected 116.4, actual 106 (0.91x)
Testing collisions (high 12-bit) - Expected 995904.0, actual 995904 (1.00x)
Testing collisions (high 8-bit) - Expected 999744.0, actual 999744 (1.00x)
Testing collisions (low 12-bit) - Expected 995904.0, actual 995904 (1.00x)
Testing collisions (low 8-bit) - Expected 999744.0, actual 999744 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 26 - 0.089%
Keyset 'Cyclic' - 8 cycles of 6 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected 116.4, actual 127 (1.09x) (11)
Testing collisions (high 12-bit) - Expected 995904.0, actual 995904 (1.00x)
Testing collisions (high 8-bit) - Expected 999744.0, actual 999744 (1.00x)
Testing collisions (low 12-bit) - Expected 995904.0, actual 995904 (1.00x)
Testing collisions (low 8-bit) - Expected 999744.0, actual 999744 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 23 - 0.132%
Keyset 'Cyclic' - 8 cycles of 7 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected 116.4, actual 133 (1.14x) (17)
Testing collisions (high 12-bit) - Expected 995904.0, actual 995904 (1.00x)
Testing collisions (high 8-bit) - Expected 999744.0, actual 999744 (1.00x)
Testing collisions (low 12-bit) - Expected 995904.0, actual 995904 (1.00x)
Testing collisions (low 8-bit) - Expected 999744.0, actual 999744 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 12 - 0.088%
Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected 116.4, actual 128 (1.10x) (12)
Testing collisions (high 12-bit) - Expected 995904.0, actual 995904 (1.00x)
Testing collisions (high 8-bit) - Expected 999744.0, actual 999744 (1.00x)
Testing collisions (low 12-bit) - Expected 995904.0, actual 995904 (1.00x)
Testing collisions (low 8-bit) - Expected 999744.0, actual 999744 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 0 - 0.110%
Keyset 'Cyclic' - 8 cycles of 12 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected 116.4, actual 111 (0.95x)
Testing collisions (high 12-bit) - Expected 995904.0, actual 995904 (1.00x)
Testing collisions (high 8-bit) - Expected 999744.0, actual 999744 (1.00x)
Testing collisions (low 12-bit) - Expected 995904.0, actual 995904 (1.00x)
Testing collisions (low 8-bit) - Expected 999744.0, actual 999744 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 24 - 0.115%
[[[ Keyset 'TwoBytes' Tests ]]]
Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys
Testing collisions ( 32-bit) - Expected 49.6, actual 4 (0.08x)
Testing collisions (high 12-bit) - Expected 648449.0, actual 648449 (1.00x)
Testing collisions (high 8-bit) - Expected 652289.0, actual 652289 (1.00x)
Testing collisions (low 12-bit) - Expected 648449.0, actual 648449 (1.00x)
Testing collisions (low 8-bit) - Expected 652289.0, actual 652289 (1.00x)
Testing distribution - Worst bias is the 16-bit window at bit 1 - 0.116%
Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys
Testing collisions ( 32-bit) - Expected 3484.6, actual 88209 (25.31x) (84725) !!!!!
Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys
Testing collisions ( 32-bit) - Expected 40347.8, actual 584928 (14.50x) (544581) !!!!!
Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys
Testing collisions ( 32-bit) - Expected 227963.2, actual 1613326 (7.08x) (1385363) !!!!!
Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys
Testing collisions ( 32-bit) - Expected 871784.7, actual 3464777 (3.97x) (2592993) !!!!!
Keyset 'TwoBytes' - up-to-24-byte keys, 149633745 total keys
Testing collisions ( 32-bit) - Expected 2606569.0, actual 6656052 (2.55x) (4049483) !!!!!
*********FAIL*********
[[[ Keyset 'Text' Tests ]]]
Keyset 'Text' - keys of form "FooXXXXBar" - 14776336 keys
Testing collisions ( 32-bit) - Expected 25418.1, actual 0 (0.00x)
Testing collisions (high 12-bit) - Expected 14772240.0, actual 14772240 (1.00x)
Testing collisions (high 8-bit) - Expected 14776080.0, actual 14776080 (1.00x)
Testing collisions (low 12-bit) - Expected 14772240.0, actual 14772240 (1.00x)
Testing collisions (low 8-bit) - Expected 14776080.0, actual 14776080 (1.00x)
Testing distribution - Worst bias is the 16-bit window at bit 6 - 0.004%
Keyset 'Text' - keys of form "FooBarXXXX" - 14776336 keys
Testing collisions ( 32-bit) - Expected 25418.1, actual 0 (0.00x)
Testing collisions (high 12-bit) - Expected 14772240.0, actual 14772240 (1.00x)
Testing collisions (high 8-bit) - Expected 14776080.0, actual 14776080 (1.00x)
Testing collisions (low 12-bit) - Expected 14772240.0, actual 14772240 (1.00x)
Testing collisions (low 8-bit) - Expected 14776080.0, actual 14776080 (1.00x)
Testing distribution - Worst bias is the 15-bit window at bit 11 - 0.003%
Keyset 'Text' - keys of form "XXXXFooBar" - 14776336 keys
Testing collisions ( 32-bit) - Expected 25418.1, actual 0 (0.00x)
Testing collisions (high 12-bit) - Expected 14772240.0, actual 14772240 (1.00x)
Testing collisions (high 8-bit) - Expected 14776080.0, actual 14776080 (1.00x)
Testing collisions (low 12-bit) - Expected 14772240.0, actual 14772240 (1.00x)
Testing collisions (low 8-bit) - Expected 14776080.0, actual 14776080 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 13 - 0.007%
Keyset 'Words' - 4000000 random keys of len 6-16 from alnum charset
Testing collisions ( 32-bit) - Expected 1862.6, actual 1928 (1.04x) (66)
Testing collisions (high 12-bit) - Expected 3995904.0, actual 3995904 (1.00x)
Testing collisions (high 8-bit) - Expected 3999744.0, actual 3999744 (1.00x)
Testing collisions (low 12-bit) - Expected 3995904.0, actual 3995904 (1.00x)
Testing collisions (low 8-bit) - Expected 3999744.0, actual 3999744 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 10 - 0.046%
Keyset 'Words' - 4000000 random keys of len 6-16 from password charset
Testing collisions ( 32-bit) - Expected 1862.6, actual 1807 (0.97x)
Testing collisions (high 12-bit) - Expected 3995904.0, actual 3995904 (1.00x)
Testing collisions (high 8-bit) - Expected 3999744.0, actual 3999744 (1.00x)
Testing collisions (low 12-bit) - Expected 3995904.0, actual 3995904 (1.00x)
Testing collisions (low 8-bit) - Expected 3999744.0, actual 3999744 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 18 - 0.066%
Keyset 'Words' - 479826 dict words
Testing collisions ( 32-bit) - Expected 26.8, actual 27 (1.01x) (1)
Testing collisions (high 12-bit) - Expected 475730.0, actual 475730 (1.00x)
Testing collisions (high 8-bit) - Expected 479570.0, actual 479570 (1.00x)
Testing collisions (low 12-bit) - Expected 475730.0, actual 475730 (1.00x)
Testing collisions (low 8-bit) - Expected 479570.0, actual 479570 (1.00x)
Testing distribution - Worst bias is the 16-bit window at bit 7 - 0.168%
[[[ Keyset 'Zeroes' Tests ]]]
Keyset 'Zeroes' - 204800 keys
Testing collisions ( 32-bit) - Expected 4.9, actual 7 (1.43x) (3)
Testing collisions (high 21-29 bits) - Worst is 29 bits: 41/39 (1.05x)
Testing collisions (high 12-bit) - Expected 200704.0, actual 200704 (1.00x)
Testing collisions (high 8-bit) - Expected 204544.0, actual 204544 (1.00x)
Testing collisions (low 21-29 bits) - Worst is 29 bits: 46/39 (1.18x)
Testing collisions (low 12-bit) - Expected 200704.0, actual 200704 (1.00x)
Testing collisions (low 8-bit) - Expected 204544.0, actual 204544 (1.00x)
Testing distribution - Worst bias is the 15-bit window at bit 3 - 0.224%
[[[ Keyset 'Seed' Tests ]]]
Keyset 'Seed' - 5000000 keys
Testing collisions ( 32-bit) - Expected 2910.4, actual 0 (0.00x)
Testing collisions (high 12-bit) - Expected 4995904.0, actual 4995904 (1.00x)
Testing collisions (high 8-bit) - Expected 4999744.0, actual 4999744 (1.00x)
Testing collisions (low 12-bit) - Expected 4995904.0, actual 4995904 (1.00x)
Testing collisions (low 8-bit) - Expected 4999744.0, actual 4999744 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 31 - 0.022%
[[[ Keyset 'PerlinNoise' Tests ]]]
Testing 16777216 coordinates (L2) :
Testing collisions ( 32-bit) - Expected 32768.0, actual 16769025 (511.75x) (16736258) !!!!!
*********FAIL*********
[[[ 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..........
4484 total collisions, of which 9 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..........
6631 total collisions, of which 1 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..........
4969 total collisions, of which 1 single collisions were ignored !!!!!
*********FAIL*********
[[[ DiffDist 'Differential Distribution' Tests ]]]
Testing bit 0
Testing collisions ( 32-bit) - Expected 512.0, actual 482 (0.94x)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 1
Testing collisions ( 32-bit) - Expected 512.0, actual 495 (0.97x)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 2
Testing collisions ( 32-bit) - Expected 512.0, actual 550 (1.07x) (39)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 3
Testing collisions ( 32-bit) - Expected 512.0, actual 503 (0.98x) (-8)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 4
Testing collisions ( 32-bit) - Expected 512.0, actual 541 (1.06x) (30)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 5
Testing collisions ( 32-bit) - Expected 512.0, actual 491 (0.96x)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 6
Testing collisions ( 32-bit) - Expected 512.0, actual 506 (0.99x) (-5)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 7
Testing collisions ( 32-bit) - Expected 512.0, actual 473 (0.92x)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 8
Testing collisions ( 32-bit) - Expected 512.0, actual 550 (1.07x) (39)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 9
Testing collisions ( 32-bit) - Expected 512.0, actual 527 (1.03x) (16)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 10
Testing collisions ( 32-bit) - Expected 512.0, actual 489 (0.96x)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 11
Testing collisions ( 32-bit) - Expected 512.0, actual 514 (1.00x) (3)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 12
Testing collisions ( 32-bit) - Expected 512.0, actual 501 (0.98x)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 13
Testing collisions ( 32-bit) - Expected 512.0, actual 495 (0.97x)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 14
Testing collisions ( 32-bit) - Expected 512.0, actual 534 (1.04x) (23)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 15
Testing collisions ( 32-bit) - Expected 512.0, actual 523 (1.02x) (12)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 16
Testing collisions ( 32-bit) - Expected 512.0, actual 541 (1.06x) (30)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 17
Testing collisions ( 32-bit) - Expected 512.0, actual 471 (0.92x)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 18
Testing collisions ( 32-bit) - Expected 512.0, actual 527 (1.03x) (16)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 19
Testing collisions ( 32-bit) - Expected 512.0, actual 534 (1.04x) (23)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 20
Testing collisions ( 32-bit) - Expected 512.0, actual 519 (1.01x) (8)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 21
Testing collisions ( 32-bit) - Expected 512.0, actual 540 (1.05x) (29)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 22
Testing collisions ( 32-bit) - Expected 512.0, actual 504 (0.98x) (-7)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 23
Testing collisions ( 32-bit) - Expected 512.0, actual 506 (0.99x) (-5)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 24
Testing collisions ( 32-bit) - Expected 512.0, actual 556 (1.09x) (45)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 25
Testing collisions ( 32-bit) - Expected 512.0, actual 553 (1.08x) (42)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 26
Testing collisions ( 32-bit) - Expected 512.0, actual 538 (1.05x) (27)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 27
Testing collisions ( 32-bit) - Expected 512.0, actual 565 (1.10x) (54)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 28
Testing collisions ( 32-bit) - Expected 512.0, actual 560 (1.09x) (49)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 29
Testing collisions ( 32-bit) - Expected 512.0, actual 613 (1.20x) (102)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 30
Testing collisions ( 32-bit) - Expected 512.0, actual 658 (1.29x) (147)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 31
Testing collisions ( 32-bit) - Expected 512.0, actual 991 (1.94x) (480)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 32
Testing collisions ( 32-bit) - Expected 512.0, actual 1023 (2.00x) (512)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 33
Testing collisions ( 32-bit) - Expected 512.0, actual 1084 (2.12x) (573) !!!!!
Testing bit 34
Testing collisions ( 32-bit) - Expected 512.0, actual 959 (1.87x) (448)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 35
Testing collisions ( 32-bit) - Expected 512.0, actual 1011 (1.97x) (500)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 36
Testing collisions ( 32-bit) - Expected 512.0, actual 963 (1.88x) (452)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 37
Testing collisions ( 32-bit) - Expected 512.0, actual 1048 (2.05x) (537) !!!!!
Testing bit 38
Testing collisions ( 32-bit) - Expected 512.0, actual 1058 (2.07x) (547) !!!!!
Testing bit 39
Testing collisions ( 32-bit) - Expected 512.0, actual 1001 (1.96x) (490)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 40
Testing collisions ( 32-bit) - Expected 512.0, actual 991 (1.94x) (480)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 41
Testing collisions ( 32-bit) - Expected 512.0, actual 1035 (2.02x) (524) !!!!!
Testing bit 42
Testing collisions ( 32-bit) - Expected 512.0, actual 1004 (1.96x) (493)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 43
Testing collisions ( 32-bit) - Expected 512.0, actual 1028 (2.01x) (517) !!!!!
Testing bit 44
Testing collisions ( 32-bit) - Expected 512.0, actual 1036 (2.02x) (525) !!!!!
Testing bit 45
Testing collisions ( 32-bit) - Expected 512.0, actual 1028 (2.01x) (517) !!!!!
Testing bit 46
Testing collisions ( 32-bit) - Expected 512.0, actual 1081 (2.11x) (570) !!!!!
Testing bit 47
Testing collisions ( 32-bit) - Expected 512.0, actual 1072 (2.09x) (561) !!!!!
Testing bit 48
Testing collisions ( 32-bit) - Expected 512.0, actual 1053 (2.06x) (542) !!!!!
Testing bit 49
Testing collisions ( 32-bit) - Expected 512.0, actual 1020 (1.99x) (509)
Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x)
Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x)
Testing bit 50
Testing collisions ( 32-bit) - Expected 512.0, actual 1049 (2.05x) (538) !!!!!
Testing bit 51
Testing collisions ( 32-bit) - Expected 512.0, actual 1083 (2.12x) (572) !!!!!
Testing bit 52
Testing collisions ( 32-bit) - Expected 512.0, actual 1218 (2.38x) (707) !!!!!
Testing bit 53
Testing collisions ( 32-bit) - Expected 512.0, actual 1169 (2.28x) (658) !!!!!
Testing bit 54
Testing collisions ( 32-bit) - Expected 512.0, actual 1175 (2.29x) (664) !!!!!
Testing bit 55
Testing collisions ( 32-bit) - Expected 512.0, actual 1170 (2.29x) (659) !!!!!
Testing bit 56
Testing collisions ( 32-bit) - Expected 512.0, actual 1292 (2.52x) (781) !!!!!
Testing bit 57
Testing collisions ( 32-bit) - Expected 512.0, actual 1743 (3.40x) (1232) !!!!!
Testing bit 58
Testing collisions ( 32-bit) - Expected 512.0, actual 2204 (4.30x) (1693) !!!!!
Testing bit 59
Testing collisions ( 32-bit) - Expected 512.0, actual 3670 (7.17x) (3159) !!!!!
Testing bit 60
Testing collisions ( 32-bit) - Expected 512.0, actual 8829 (17.24x) (8318) !!!!!
Testing bit 61
Testing collisions ( 32-bit) - Expected 512.0, actual 24840 (48.52x) (24329) !!!!!
Testing bit 62
Testing collisions ( 32-bit) - Expected 512.0, actual 33129 (64.71x) (32618) !!!!!
Testing bit 63
Testing collisions ( 32-bit) - Expected 512.0, actual 102793 (200.77x) (102282) !!!!!
*********FAIL*********
[[[ BIC 'Bit Independence Criteria' Tests ]]]
...........
Max bias 0.090010 - ( 87 : 1, 18)
*********FAIL*********
[[[ 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 : 1391380.379954 - 687.528497
Popcount 0 stats : 1391369.115486 - 687.482862
MomentChi2 for bits 1 : 5.94423
MomentChi2 for bits 0 : 4.55501
Derivative stats (transition from 2 consecutive values) :
Popcount 1 stats : 1391233.923606 - 687.060430
Popcount 0 stats : 1391177.078582 - 687.032866
MomentChi2 for deriv b1 : 2.28907
MomentChi2 for deriv b0 : 9.28241
Good !
[[[ Prng Tests ]]]
The PRNG test is designed for hashes >= 64-bit
[[[ BadSeeds Tests ]]]
Testing 1 internal secrets:
0xc6a4a793 Broken seed 0xc6a4a793 => 0 with key[1] of all 0 bytes confirmed => hash 0
*********FAIL*********
Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 668.037814 seconds
-------------------------------------------------------------------------------