[amul.sul@power2 src]$ ./SMHasher hash_combine64 ------------------------------------------------------------------------------- --- Testing hash_combine64 (test hash combine 64 pg function.) [[[ Sanity Tests ]]] Verification value 0x3B439A64 : Passed! Running sanity check 1..........PASS Running sanity check 2..........PASS [[[ Differential Tests ]]] Testing 8303632 up-to-5-bit differentials in 64-bit keys -> 64 bit hashes. 1000 reps, 8303632000 total tests, expecting 0.00 random collisions.......... 0 total collisions, of which 0 single collisions were ignored Testing 11017632 up-to-4-bit differentials in 128-bit keys -> 64 bit hashes. 1000 reps, 11017632000 total tests, expecting 0.00 random collisions.......... 0 total collisions, of which 0 single collisions were ignored Testing 2796416 up-to-3-bit differentials in 256-bit keys -> 64 bit hashes. 1000 reps, 2796416000 total tests, expecting 0.00 random collisions.......... 0 total collisions, of which 0 single collisions were ignored [[[ Avalanche Tests ]]] Testing 32-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.742667% Testing 40-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.684667% Testing 48-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.570667% Testing 56-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.726667% Testing 64-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.666667% Testing 72-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.659333% Testing 80-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.666000% Testing 88-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.712000% Testing 96-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.632667% Testing 104-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.646000% Testing 112-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.746000% Testing 120-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.692667% Testing 128-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.684000% Testing 136-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.758667% Testing 144-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.725333% Testing 152-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.776000% [[[ Keyset 'Cyclic' Tests ]]] Keyset 'Cyclic' - 8 cycles of 8 bytes - 10000000 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 6 - 0.039% Keyset 'Cyclic' - 8 cycles of 9 bytes - 10000000 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 30 - 0.043% Keyset 'Cyclic' - 8 cycles of 10 bytes - 10000000 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 25 - 0.032% Keyset 'Cyclic' - 8 cycles of 11 bytes - 10000000 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 42 - 0.033% Keyset 'Cyclic' - 8 cycles of 12 bytes - 10000000 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 19-bit window at bit 18 - 0.017% [[[ Keyset 'TwoBytes' Tests ]]] Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 16-bit window at bit 55 - 0.127% Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 15 - 0.065% Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 14 - 0.023% Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 11 - 0.006% Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 52 - 0.003% [[[ Keyset 'Sparse' Tests ]]] Keyset 'Sparse' - 32-bit keys with up to 6 bits set - 1149017 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 17-bit window at bit 46 - 0.106% Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 19-bit window at bit 24 - 0.049% Keyset 'Sparse' - 48-bit keys with up to 5 bits set - 1925357 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.084% Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 19-bit window at bit 11 - 0.047% Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 18 - 0.036% Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 19-bit window at bit 25 - 0.053% Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 19-bit window at bit 3 - 0.087% Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 18-bit window at bit 17 - 0.093% [[[ Keyset 'Combination Lowbits' Tests ]]] Keyset 'Combination' - up to 8 blocks from a set of 8 - 19173960 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 50 - 0.013% [[[ Keyset 'Combination Highbits' Tests ]]] Keyset 'Combination' - up to 8 blocks from a set of 8 - 19173960 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 55 - 0.020% [[[ Keyset 'Combination 0x8000000' Tests ]]] Keyset 'Combination' - up to 20 blocks from a set of 2 - 2097150 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 18-bit window at bit 7 - 0.067% [[[ Keyset 'Combination 0x0000001' Tests ]]] Keyset 'Combination' - up to 20 blocks from a set of 2 - 2097150 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 18-bit window at bit 32 - 0.058% [[[ Keyset 'Combination Hi-Lo' Tests ]]] Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 4 - 0.036% [[[ Keyset 'Window' Tests ]]] Keyset 'Windowed' - 128-bit key, 20-bit window - 128 tests, 1048576 keys per test Window at 0 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 1 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 2 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 3 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 4 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 5 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 6 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 7 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 8 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 9 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 10 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 11 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 12 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 13 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 14 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 15 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 16 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 17 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 18 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 19 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 20 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 21 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 22 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 23 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 24 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 25 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 26 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 27 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 28 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 29 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 30 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 31 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 32 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 33 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 34 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 35 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 36 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 37 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 38 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 39 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 40 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 41 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 42 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 43 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 44 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 45 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 46 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 47 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 48 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 49 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 50 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 51 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 52 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 53 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 54 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 55 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 56 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 57 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 58 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 59 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 60 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 61 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 62 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 63 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 64 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 65 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 66 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 67 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 68 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 69 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 70 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 71 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 72 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 73 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 74 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 75 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 76 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 77 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 78 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 79 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 80 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 81 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 82 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 83 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 84 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 85 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 86 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 87 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 88 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 89 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 90 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 91 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 92 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 93 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 94 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 95 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 96 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 97 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 98 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 99 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 100 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 101 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 102 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 103 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 104 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 105 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 106 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 107 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 108 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 109 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 110 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 111 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 112 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 113 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 114 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 115 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 116 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 117 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 118 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 119 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 120 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 121 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 122 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 123 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 124 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 125 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 126 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 127 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Window at 128 - Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) [[[ Keyset 'Text' Tests ]]] Keyset 'Text' - keys of form "Foo[XXXX]Bar" - 14776336 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 19 - 0.023% Keyset 'Text' - keys of form "FooBar[XXXX]" - 14776336 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 5 - 0.018% Keyset 'Text' - keys of form "[XXXX]FooBar" - 14776336 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 20-bit window at bit 27 - 0.025% [[[ Keyset 'Zeroes' Tests ]]] Keyset 'Zeroes' - 65536 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 13-bit window at bit 24 - 0.708% [[[ Keyset 'Seed' Tests ]]] Keyset 'Seed' - 1000000 keys Testing collisions - Expected 0.00, actual 0.00 ( 0.00x) Testing distribution - Worst bias is the 17-bit window at bit 57 - 0.142% Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001 Verification value is 0x00000001 - Testing took 1522.120000 seconds ------------------------------------------------------------------------------- [amul.sul@power2 src]$