| 122 | } |
| 123 | |
| 124 | uint64_t uint256::GetHash(const uint256& salt) const |
| 125 | { |
| 126 | uint32_t a, b, c; |
| 127 | const uint32_t *pn = (const uint32_t*)data; |
| 128 | const uint32_t *salt_pn = (const uint32_t*)salt.data; |
| 129 | a = b = c = 0xdeadbeef + WIDTH; |
| 130 | |
| 131 | a += pn[0] ^ salt_pn[0]; |
| 132 | b += pn[1] ^ salt_pn[1]; |
| 133 | c += pn[2] ^ salt_pn[2]; |
| 134 | HashMix(a, b, c); |
| 135 | a += pn[3] ^ salt_pn[3]; |
| 136 | b += pn[4] ^ salt_pn[4]; |
| 137 | c += pn[5] ^ salt_pn[5]; |
| 138 | HashMix(a, b, c); |
| 139 | a += pn[6] ^ salt_pn[6]; |
| 140 | b += pn[7] ^ salt_pn[7]; |
| 141 | HashFinal(a, b, c); |
| 142 | |
| 143 | return ((((uint64_t)b) << 32) | c); |
| 144 | } |
no test coverage detected