solidc
Robust collection of general-purpose cross-platform C libraries and data structures designed for rapid and safe development in C
Loading...
Searching...
No Matches
hash.h
Go to the documentation of this file.
1
19#ifndef A02E572A_DD85_4D77_AC81_41037EDE290A
20#define A02E572A_DD85_4D77_AC81_41037EDE290A
21
22#include <stdbool.h>
23#include <stddef.h>
24#include <stdint.h>
25
26#ifndef XXH_INLINE_ALL
27#define XXH_INLINE_ALL
28#endif
29
30#include <xxhash.h>
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
48uint32_t solidc_djb2_hash(const void* key);
49
61uint32_t solidc_djb2a_hash(const void* key);
62
74uint32_t solidc_sdbm_hash(const void* key);
75
88uint32_t solidc_fnv1a_hash(const void* key);
89
102uint64_t solidc_fnv1a_hash64(const void* key);
103
114uint32_t solidc_elf_hash(const void* key);
115
128uint32_t solidc_crc32_hash(const void* key, size_t len);
129
144uint32_t solidc_murmur_hash(const char* key, uint32_t len, uint32_t seed);
145
163static inline uint32_t solidc_XXH32(const void* input, size_t len, uint32_t seed) { return XXH32(input, len, seed); }
164
165#ifdef __cplusplus
166}
167#endif
168
169#endif /* A02E572A_DD85_4D77_AC81_41037EDE290A */
uint32_t solidc_crc32_hash(const void *key, size_t len)
CRC32 hash function for arbitrary binary data.
Definition hash.c:110
uint32_t solidc_fnv1a_hash(const void *key)
FNV-1a 32-bit hash function for null-terminated strings.
Definition hash.c:42
uint64_t solidc_fnv1a_hash64(const void *key)
FNV-1a 64-bit hash function for null-terminated strings.
Definition hash.c:58
uint32_t solidc_elf_hash(const void *key)
ELF hash function for null-terminated strings.
Definition hash.c:74
uint32_t solidc_sdbm_hash(const void *key)
SDBM hash function for null-terminated strings.
Definition hash.c:95
uint32_t solidc_djb2a_hash(const void *key)
DJB2A hash function (XOR variant) for null-terminated strings.
Definition hash.c:26
uint32_t solidc_murmur_hash(const char *key, uint32_t len, uint32_t seed)
MurmurHash3 32-bit hash function.
Definition hash.c:128
uint32_t solidc_djb2_hash(const void *key)
DJB2 hash function for null-terminated strings.
Definition hash.c:10