|
xxHash
0.8.0
Extremely fast non-cryptographic hash function
|
Data Structures | |
| struct | XXH_dispatchFunctions_s |
| struct | XXH_dispatch128Functions_s |
Macros | |
| #define | XXH_X86DISPATCH_ALLOW_AVX |
| Disables the AVX sanity check. More... | |
| #define | XXH_HAS_INCLUDE(header) 0 |
| #define | XXH_DISPATCH_SCALAR 1 |
| Enables/dispatching the scalar code path. More... | |
| #define | XXH_DISPATCH_AVX2 0 |
| Enables/disables dispatching for AVX2. More... | |
| #define | XXH_DISPATCH_AVX512 0 |
| Enables/disables dispatching for AVX512. More... | |
| #define | XXH_debugPrint(str) ((void)0) |
| #define | NDEBUG |
| #define | XXH_INLINE_ALL |
| #define | XXH_X86DISPATCH |
| #define | XXH_I_ATT(intel, att) "{" att "|" intel "}\n\t" |
| #define | XXH_SSE2_CPUID_MASK (1 << 26) |
| #define | XXH_OSXSAVE_CPUID_MASK ((1 << 26) | (1 << 27)) |
| #define | XXH_AVX2_CPUID_MASK (1 << 5) |
| #define | XXH_AVX2_XGETBV_MASK ((1 << 2) | (1 << 1)) |
| #define | XXH_AVX512F_CPUID_MASK (1 << 16) |
| #define | XXH_AVX512F_XGETBV_MASK ((7 << 5) | (1 << 2) | (1 << 1)) |
| #define | XXH_DEFINE_DISPATCH_FUNCS(suffix, target) |
| Defines the various dispatch functions. More... | |
| #define | XXH_NB_DISPATCHES 4 |
Typedefs | |
| typedef XXH64_hash_t(* | XXH3_dispatchx86_hashLong64_default )(const void *restrict, size_t) |
| typedef XXH64_hash_t(* | XXH3_dispatchx86_hashLong64_withSeed )(const void *restrict, size_t, XXH64_hash_t) |
| typedef XXH64_hash_t(* | XXH3_dispatchx86_hashLong64_withSecret )(const void *restrict, size_t, const void *restrict, size_t) |
| typedef XXH_errorcode(* | XXH3_dispatchx86_update )(XXH3_state_t *, const void *, size_t) |
| typedef XXH128_hash_t(* | XXH3_dispatchx86_hashLong128_default )(const void *restrict, size_t) |
| typedef XXH128_hash_t(* | XXH3_dispatchx86_hashLong128_withSeed )(const void *restrict, size_t, XXH64_hash_t) |
| typedef XXH128_hash_t(* | XXH3_dispatchx86_hashLong128_withSecret )(const void *restrict, size_t, const void *restrict, size_t) |
Functions | |
| static void | XXH_cpuid (xxh_u32 eax, xxh_u32 ecx, xxh_u32 *abcd) |
| Runs CPUID. More... | |
| static int | XXH_featureTest (void) |
| Returns the best XXH3 implementation. More... | |
| static void | XXH_setDispatch (void) |
| Runs a CPUID check and sets the correct dispatch tables. More... | |
| static XXH64_hash_t | XXH3_hashLong_64b_defaultSecret_selection (const void *input, size_t len, XXH64_hash_t seed64, const xxh_u8 *secret, size_t secretLen) |
| XXH64_hash_t | XXH3_64bits_dispatch (const void *input, size_t len) |
| static XXH64_hash_t | XXH3_hashLong_64b_withSeed_selection (const void *input, size_t len, XXH64_hash_t seed64, const xxh_u8 *secret, size_t secretLen) |
| XXH64_hash_t | XXH3_64bits_withSeed_dispatch (const void *input, size_t len, XXH64_hash_t seed) |
| static XXH64_hash_t | XXH3_hashLong_64b_withSecret_selection (const void *input, size_t len, XXH64_hash_t seed64, const xxh_u8 *secret, size_t secretLen) |
| XXH64_hash_t | XXH3_64bits_withSecret_dispatch (const void *input, size_t len, const void *secret, size_t secretLen) |
| XXH_errorcode | XXH3_64bits_update_dispatch (XXH3_state_t *state, const void *input, size_t len) |
| static XXH128_hash_t | XXH3_hashLong_128b_defaultSecret_selection (const void *input, size_t len, XXH64_hash_t seed64, const void *secret, size_t secretLen) |
| XXH128_hash_t | XXH3_128bits_dispatch (const void *input, size_t len) |
| static XXH128_hash_t | XXH3_hashLong_128b_withSeed_selection (const void *input, size_t len, XXH64_hash_t seed64, const void *secret, size_t secretLen) |
| XXH128_hash_t | XXH3_128bits_withSeed_dispatch (const void *input, size_t len, XXH64_hash_t seed) |
| static XXH128_hash_t | XXH3_hashLong_128b_withSecret_selection (const void *input, size_t len, XXH64_hash_t seed64, const void *secret, size_t secretLen) |
| XXH128_hash_t | XXH3_128bits_withSecret_dispatch (const void *input, size_t len, const void *secret, size_t secretLen) |
| XXH_errorcode | XXH3_128bits_update_dispatch (XXH3_state_t *state, const void *input, size_t len) |
Variables | |
| static const XXH_dispatchFunctions_s | XXH_kDispatch [XXH_NB_DISPATCHES] |
| Table of dispatchers for XXH3_64bits(). More... | |
| static XXH_dispatchFunctions_s | XXH_g_dispatch = { NULL, NULL, NULL, NULL } |
| The selected dispatch table for XXH3_64bits(). More... | |
| static const XXH_dispatch128Functions_s | XXH_kDispatch128 [XXH_NB_DISPATCHES] |
| Table of dispatchers for XXH3_128bits(). More... | |
| static XXH_dispatch128Functions_s | XXH_g_dispatch128 = { NULL, NULL, NULL, NULL } |
| The selected dispatch table for XXH3_64bits(). More... | |
Automatic dispatcher code for the XXH3 family on x86-based targets.
Optional add-on.
Compile this file with the default flags for your target. Do not compile with flags like -mavx*, -march=native, or /arch:AVX*, there will be an error. See XXH_X86DISPATCH_ALLOW_AVX for details.
1.8.5