Skip to content

Hash Functions (primarily for hashmap/sets)

include/math/hash.h View source View on GitHub
uint32_t hash_djb2(const void *key, size_t len);
uint32_t hash_sdbm(const void *key, size_t len);
uint32_t hash_fnv1a(const void *key, size_t len);
uint64_t hash_fnv1a_64_update(uint64_t hash, const void *key, size_t len);
uint64_t hash_fnv1a_64(const void *key, size_t len);
uint32_t hash_jenkins_one_at_a_time(const void *key, size_t len);
uint32_t hash_murmur3_32(const void *key, size_t len, uint32_t seed);
uint32_t hash_elf(const void *key, size_t len);
uint32_t hash_bkdr(const void *key, size_t len);
#define HASH_FNV1A_64_OFFSET_BASIS UINT64_C(14695981039346656037)
#define HASH_FNV1A_64_PRIME UINT64_C(1099511628211)