1 /* Lifted from https://stackoverflow.com/a/13326345/2786866 */
5 uint64_t hash64(void *data, size_t size)
7 uint64_t mix = 0, mulp = 2654435789;
8 for (int i = 0; i < size; i++)
9 mix += (((uint8_t *)data)[i] * mulp) ^ (mix >> 23);
10 return mix ^ (mix << 37);