| 91 | } |
| 92 | |
| 93 | inline std::array<uint64_t, 2> hash(const uint8_t *data, int len) { |
| 94 | uint64_t hashA, hashB; |
| 95 | memcpy(&hashA, data + len - sizeof(uint64_t), sizeof(uint64_t)); |
| 96 | memcpy(&hashB, data + len - 2*sizeof(uint64_t), sizeof(uint64_t)); |
| 97 | return {{hashA, hashB}}; |
| 98 | } |
| 99 | |
| 100 | inline int64_t nthHash(uint8_t n, uint64_t hashA, uint64_t hashB, int64_t filterSize) { |
| 101 | return static_cast<int64_t>((hashA + n * hashB) % static_cast<uint64_t>(filterSize)); |
no outgoing calls
no test coverage detected