14#ifndef HASHFN_UNSTABLE_H
15#define HASHFN_UNSTABLE_H
108#define FH_SIZEOF_ACCUM sizeof(uint64)
120 hs->hash = seed ^ 0x880355f21e6d1965;
127 h ^= (h >> 23) +
tweak;
128 h *= 0x2127599bf4325c37;
138 hs->hash *= 0x880355f21e6d1965;
153#ifdef WORDS_BIGENDIAN
224#define haszero64(v) \
225 (((v) - 0x0101010101010101) & ~(v) & 0x8080808080808080)
298#if SIZEOF_VOID_P >= 8
301#ifdef USE_ASSERT_CHECKING
350 return h - (h >> 32);
378 hs.hash = seed ^ (
len * 0x880355f21e6d1965);
#define PointerIsAligned(pointer, type)
#define Assert(condition)
static uint32 fasthash_reduce32(uint64 h)
static uint32 fasthash32(const char *k, size_t len, uint64 seed)
pg_attribute_no_sanitize_address() static inline size_t fasthash_accum_cstring_aligned(fasthash_state *hs
static size_t fasthash_accum_cstring(fasthash_state *hs, const char *str)
static uint64 fasthash64(const char *k, size_t len, uint64 seed)
static uint64 fasthash_mix(uint64 h, uint64 tweak)
static uint32 fasthash_final32(fasthash_state *hs, uint64 tweak)
static void fasthash_combine(fasthash_state *hs)
static void fasthash_accum(fasthash_state *hs, const char *k, size_t len)
static uint64 fasthash_final64(fasthash_state *hs, uint64 tweak)
static uint32 hash_string(const char *s)
static size_t fasthash_accum_cstring_unaligned(fasthash_state *hs, const char *str)
static void fasthash_init(fasthash_state *hs, uint64 seed)