| 80 | template void base_blob<256>::SetHex(const std::string&); |
| 81 | |
| 82 | static void inline HashMix(uint32_t& a, uint32_t& b, uint32_t& c) |
| 83 | { |
| 84 | // Taken from lookup3, by Bob Jenkins. |
| 85 | a -= c; |
| 86 | a ^= ((c << 4) | (c >> 28)); |
| 87 | c += b; |
| 88 | b -= a; |
| 89 | b ^= ((a << 6) | (a >> 26)); |
| 90 | a += c; |
| 91 | c -= b; |
| 92 | c ^= ((b << 8) | (b >> 24)); |
| 93 | b += a; |
| 94 | a -= c; |
| 95 | a ^= ((c << 16) | (c >> 16)); |
| 96 | c += b; |
| 97 | b -= a; |
| 98 | b ^= ((a << 19) | (a >> 13)); |
| 99 | a += c; |
| 100 | c -= b; |
| 101 | c ^= ((b << 4) | (b >> 28)); |
| 102 | b += a; |
| 103 | } |
| 104 | |
| 105 | static void inline HashFinal(uint32_t& a, uint32_t& b, uint32_t& c) |
| 106 | { |