#include #include uint64_t fnv1_64(const void *src, size_t len) { const unsigned char *d = (const unsigned char *)src; uint64_t h = 0xcbf29ce484222325; size_t i; for (i = 0; i < len; i++) { h *= 0x100000001b3; h ^= d[i]; } return h; } uint64_t fnv1a_64(const void *src, size_t len) { const unsigned char *d = (const unsigned char *)src; uint64_t h = 0xcbf29ce484222325; size_t i; for (i = 0; i < len; i++) { h ^= d[i]; h *= 0x100000001b3; } return h; }