[amul.sul@power2 src]$ ./SMHasher hash_combine32 ------------------------------------------------------------------------------- --- Testing hash_combine32 (test hash combine 32 pg function.) [[[ Sanity Tests ]]] Verification value 0x83D5F11A : Passed! Running sanity check 1..........PASS Running sanity check 2..........PASS [[[ 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.......... 4 total collisions, of which 4 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.......... 3 total collisions, of which 3 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.......... 0 total collisions, of which 0 single collisions were ignored [[[ Avalanche Tests ]]] Testing 32-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.707333% Testing 40-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.671333% Testing 48-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.646667% Testing 56-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.672667% Testing 64-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.677333% Testing 72-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.653333% Testing 80-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.620667% Testing 88-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.746000% Testing 96-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.582667% Testing 104-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.628667% Testing 112-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.694667% Testing 120-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.638000% Testing 128-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.670000% Testing 136-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.789333% Testing 144-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.684667% Testing 152-bit keys -> 32-bit hashes, 300000 reps.......... worst bias is 0.671333% [[[ Keyset 'Cyclic' Tests ]]] Keyset 'Cyclic' - 8 cycles of 4 bytes - 10000000 keys Testing collisions - Expected 11641.53, actual 11635.00 ( 1.00x) Testing distribution - Worst bias is the 20-bit window at bit 20 - 0.032% Keyset 'Cyclic' - 8 cycles of 5 bytes - 10000000 keys Testing collisions - Expected 11641.53, actual 11566.00 ( 0.99x) Testing distribution - Worst bias is the 20-bit window at bit 22 - 0.024% Keyset 'Cyclic' - 8 cycles of 6 bytes - 10000000 keys Testing collisions - Expected 11641.53, actual 11704.00 ( 1.01x) Testing distribution - Worst bias is the 20-bit window at bit 19 - 0.039% Keyset 'Cyclic' - 8 cycles of 7 bytes - 10000000 keys Testing collisions - Expected 11641.53, actual 11747.00 ( 1.01x) Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.033% Keyset 'Cyclic' - 8 cycles of 8 bytes - 10000000 keys Testing collisions - Expected 11641.53, actual 11704.00 ( 1.01x) Testing distribution - Worst bias is the 20-bit window at bit 30 - 0.041% [[[ Keyset 'TwoBytes' Tests ]]] Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys Testing collisions - Expected 49.57, actual 49.00 ( 0.99x) Testing distribution - Worst bias is the 16-bit window at bit 8 - 0.131% Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys Testing collisions - Expected 3484.56, actual 3642.00 ( 1.05x) Testing distribution - Worst bias is the 20-bit window at bit 1 - 0.046% Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys Testing collisions - Expected 40347.77, actual 40030.00 ( 0.99x) Testing distribution - Worst bias is the 20-bit window at bit 3 - 0.017% Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys Testing collisions - Expected 227963.15, actual 227430.00 ( 1.00x) Testing distribution - Worst bias is the 19-bit window at bit 0 - 0.009% Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys Testing collisions - Expected 871784.70, actual 866342.00 ( 0.99x) Testing distribution - Worst bias is the 20-bit window at bit 9 - 0.003% [[[ Keyset 'Sparse' Tests ]]] Keyset 'Sparse' - 32-bit keys with up to 6 bits set - 1149017 keys Testing collisions - Expected 153.70, actual 118.00 ( 0.77x) Testing distribution - Worst bias is the 16-bit window at bit 14 - 0.084% Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys Testing collisions - Expected 2461.72, actual 2400.00 ( 0.97x) Testing distribution - Worst bias is the 19-bit window at bit 14 - 0.053% Keyset 'Sparse' - 48-bit keys with up to 5 bits set - 1925357 keys Testing collisions - Expected 431.55, actual 433.00 ( 1.00x) Testing distribution - Worst bias is the 18-bit window at bit 5 - 0.081% Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys Testing collisions - Expected 2069.66, actual 2034.00 ( 0.98x) Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.048% Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys Testing collisions - Expected 8026.87, actual 8110.00 ( 1.01x) Testing distribution - Worst bias is the 20-bit window at bit 22 - 0.023% Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys Testing collisions - Expected 1401.34, actual 1358.00 ( 0.97x) Testing distribution - Worst bias is the 19-bit window at bit 4 - 0.046% Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys Testing collisions - Expected 910.36, actual 966.00 ( 1.06x) Testing distribution - Worst bias is the 19-bit window at bit 27 - 0.088% Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys Testing collisions - Expected 512.50, actual 506.00 ( 0.99x) Testing distribution - Worst bias is the 18-bit window at bit 23 - 0.077% [[[ Keyset 'Combination Lowbits' Tests ]]] Keyset 'Combination' - up to 8 blocks from a set of 8 - 19173960 keys Testing collisions - Expected 42799.01, actual 42616.00 ( 1.00x) Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.023% [[[ Keyset 'Combination Highbits' Tests ]]] Keyset 'Combination' - up to 8 blocks from a set of 8 - 19173960 keys Testing collisions - Expected 42799.01, actual 42705.00 ( 1.00x) Testing distribution - Worst bias is the 20-bit window at bit 13 - 0.010% [[[ Keyset 'Combination 0x8000000' Tests ]]] Keyset 'Combination' - up to 20 blocks from a set of 2 - 2097150 keys Testing collisions - Expected 512.00, actual 503.00 ( 0.98x) Testing distribution - Worst bias is the 18-bit window at bit 31 - 0.072% [[[ Keyset 'Combination 0x0000001' Tests ]]] Keyset 'Combination' - up to 20 blocks from a set of 2 - 2097150 keys Testing collisions - Expected 512.00, actual 562.00 ( 1.10x) Testing distribution - Worst bias is the 18-bit window at bit 25 - 0.081% [[[ Keyset 'Combination Hi-Lo' Tests ]]] Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys Testing collisions - Expected 17339.30, actual 17347.00 ( 1.00x) Testing distribution - Worst bias is the 20-bit window at bit 11 - 0.023% [[[ Keyset 'Window' Tests ]]] Keyset 'Windowed' - 64-bit key, 20-bit window - 64 tests, 1048576 keys per test Window at 0 - Testing collisions - Expected 128.00, actual 142.00 ( 1.11x) Window at 1 - Testing collisions - Expected 128.00, actual 120.00 ( 0.94x) Window at 2 - Testing collisions - Expected 128.00, actual 123.00 ( 0.96x) Window at 3 - Testing collisions - Expected 128.00, actual 124.00 ( 0.97x) Window at 4 - Testing collisions - Expected 128.00, actual 126.00 ( 0.98x) Window at 5 - Testing collisions - Expected 128.00, actual 118.00 ( 0.92x) Window at 6 - Testing collisions - Expected 128.00, actual 114.00 ( 0.89x) Window at 7 - Testing collisions - Expected 128.00, actual 125.00 ( 0.98x) Window at 8 - Testing collisions - Expected 128.00, actual 139.00 ( 1.09x) Window at 9 - Testing collisions - Expected 128.00, actual 139.00 ( 1.09x) Window at 10 - Testing collisions - Expected 128.00, actual 131.00 ( 1.02x) Window at 11 - Testing collisions - Expected 128.00, actual 118.00 ( 0.92x) Window at 12 - Testing collisions - Expected 128.00, actual 137.00 ( 1.07x) Window at 13 - Testing collisions - Expected 128.00, actual 119.00 ( 0.93x) Window at 14 - Testing collisions - Expected 128.00, actual 153.00 ( 1.20x) Window at 15 - Testing collisions - Expected 128.00, actual 142.00 ( 1.11x) Window at 16 - Testing collisions - Expected 128.00, actual 138.00 ( 1.08x) Window at 17 - Testing collisions - Expected 128.00, actual 124.00 ( 0.97x) Window at 18 - Testing collisions - Expected 128.00, actual 119.00 ( 0.93x) Window at 19 - Testing collisions - Expected 128.00, actual 119.00 ( 0.93x) Window at 20 - Testing collisions - Expected 128.00, actual 131.00 ( 1.02x) Window at 21 - Testing collisions - Expected 128.00, actual 116.00 ( 0.91x) Window at 22 - Testing collisions - Expected 128.00, actual 106.00 ( 0.83x) Window at 23 - Testing collisions - Expected 128.00, actual 130.00 ( 1.02x) Window at 24 - Testing collisions - Expected 128.00, actual 140.00 ( 1.09x) Window at 25 - Testing collisions - Expected 128.00, actual 128.00 ( 1.00x) Window at 26 - Testing collisions - Expected 128.00, actual 138.00 ( 1.08x) Window at 27 - Testing collisions - Expected 128.00, actual 143.00 ( 1.12x) Window at 28 - Testing collisions - Expected 128.00, actual 91.00 ( 0.71x) Window at 29 - Testing collisions - Expected 128.00, actual 126.00 ( 0.98x) Window at 30 - Testing collisions - Expected 128.00, actual 122.00 ( 0.95x) Window at 31 - Testing collisions - Expected 128.00, actual 106.00 ( 0.83x) Window at 32 - Testing collisions - Expected 128.00, actual 110.00 ( 0.86x) Window at 33 - Testing collisions - Expected 128.00, actual 116.00 ( 0.91x) Window at 34 - Testing collisions - Expected 128.00, actual 137.00 ( 1.07x) Window at 35 - Testing collisions - Expected 128.00, actual 113.00 ( 0.88x) Window at 36 - Testing collisions - Expected 128.00, actual 150.00 ( 1.17x) Window at 37 - Testing collisions - Expected 128.00, actual 144.00 ( 1.13x) Window at 38 - Testing collisions - Expected 128.00, actual 125.00 ( 0.98x) Window at 39 - Testing collisions - Expected 128.00, actual 141.00 ( 1.10x) Window at 40 - Testing collisions - Expected 128.00, actual 106.00 ( 0.83x) Window at 41 - Testing collisions - Expected 128.00, actual 120.00 ( 0.94x) Window at 42 - Testing collisions - Expected 128.00, actual 144.00 ( 1.13x) Window at 43 - Testing collisions - Expected 128.00, actual 147.00 ( 1.15x) Window at 44 - Testing collisions - Expected 128.00, actual 131.00 ( 1.02x) Window at 45 - Testing collisions - Expected 128.00, actual 116.00 ( 0.91x) Window at 46 - Testing collisions - Expected 128.00, actual 121.00 ( 0.95x) Window at 47 - Testing collisions - Expected 128.00, actual 130.00 ( 1.02x) Window at 48 - Testing collisions - Expected 128.00, actual 131.00 ( 1.02x) Window at 49 - Testing collisions - Expected 128.00, actual 127.00 ( 0.99x) Window at 50 - Testing collisions - Expected 128.00, actual 140.00 ( 1.09x) Window at 51 - Testing collisions - Expected 128.00, actual 129.00 ( 1.01x) Window at 52 - Testing collisions - Expected 128.00, actual 119.00 ( 0.93x) Window at 53 - Testing collisions - Expected 128.00, actual 104.00 ( 0.81x) Window at 54 - Testing collisions - Expected 128.00, actual 104.00 ( 0.81x) Window at 55 - Testing collisions - Expected 128.00, actual 119.00 ( 0.93x) Window at 56 - Testing collisions - Expected 128.00, actual 139.00 ( 1.09x) Window at 57 - Testing collisions - Expected 128.00, actual 144.00 ( 1.13x) Window at 58 - Testing collisions - Expected 128.00, actual 143.00 ( 1.12x) Window at 59 - Testing collisions - Expected 128.00, actual 143.00 ( 1.12x) Window at 60 - Testing collisions - Expected 128.00, actual 142.00 ( 1.11x) Window at 61 - Testing collisions - Expected 128.00, actual 145.00 ( 1.13x) Window at 62 - Testing collisions - Expected 128.00, actual 142.00 ( 1.11x) Window at 63 - Testing collisions - Expected 128.00, actual 142.00 ( 1.11x) Window at 64 - Testing collisions - Expected 128.00, actual 142.00 ( 1.11x) [[[ Keyset 'Text' Tests ]]] Keyset 'Text' - keys of form "Foo[XXXX]Bar" - 14776336 keys Testing collisions - Expected 25418.13, actual 25044.00 ( 0.99x) Testing distribution - Worst bias is the 20-bit window at bit 2 - 0.011% Keyset 'Text' - keys of form "FooBar[XXXX]" - 14776336 keys Testing collisions - Expected 25418.13, actual 25482.00 ( 1.00x) Testing distribution - Worst bias is the 19-bit window at bit 31 - 0.016% Keyset 'Text' - keys of form "[XXXX]FooBar" - 14776336 keys Testing collisions - Expected 25418.13, actual 25374.00 ( 1.00x) Testing distribution - Worst bias is the 20-bit window at bit 17 - 0.019% [[[ Keyset 'Zeroes' Tests ]]] Keyset 'Zeroes' - 65536 keys Testing collisions - Expected 0.50, actual 1.00 ( 2.00x) !!!!! Testing distribution - Worst bias is the 13-bit window at bit 1 - 0.290% *********FAIL********* [[[ Keyset 'Seed' Tests ]]] Keyset 'Seed' - 1000000 keys Testing collisions - Expected 116.42, actual 107.00 ( 0.92x) Testing distribution - Worst bias is the 16-bit window at bit 14 - 0.106% Input vcode 0x46ec7f3b, Output vcode 0x36f74c49, Result vcode 0x00000001 Verification value is 0x00000001 - Testing took -1682.347296 seconds ------------------------------------------------------------------------------- [amul.sul@power2 src]$