--- /dev/null
+/* Lifted from https://stackoverflow.com/a/13326345/2786866 */
+
+#include "hash64.h"
+
+uint64_t hash64(void *data, size_t size)
+{
+ uint64_t mix = 0, mulp = 2654435789;
+ for (int i = 0; i < size; i++)
+ mix += (((uint8_t *)data)[i] * mulp) ^ (mix >> 23);
+ return mix ^ (mix << 37);
+}