Unravel Engine C++ Reference
Loading...
Searching...
No Matches
xxhash.h File Reference
#include <stddef.h>
#include <limits.h>

Go to the source code of this file.

Classes

struct  XXH32_canonical_t
 Canonical (big endian) representation of XXH32_hash_t. More...
 
struct  XXH64_canonical_t
 Canonical (big endian) representation of XXH64_hash_t. More...
 
struct  XXH128_hash_t
 The return value from 128-bit hashes. More...
 
struct  XXH128_canonical_t
 

Macros

#define XXH_CAT(A, B)
 
#define XXH_NAME2(A, B)
 
#define XXH_IPREF(Id)
 
#define XXHASH_H_5627135585666179   1
 
#define XXH_PUBLIC_API   /* do nothing */
 Marks a global symbol.
 
#define XXH_PUBLIC_API   /* do nothing */
 Marks a global symbol.
 
#define XXH_CONSTF   /* disable */
 
#define XXH_PUREF
 
#define XXH_MALLOCF
 
#define XXH_VERSION_MAJOR   0
 
#define XXH_VERSION_MINOR   8
 
#define XXH_VERSION_RELEASE   3
 
#define XXH_VERSION_NUMBER   (XXH_VERSION_MAJOR *100*100 + XXH_VERSION_MINOR *100 + XXH_VERSION_RELEASE)
 Version number, encoded as two digits each.
 
#define XXH_SCALAR   0
 Possible values for XXH_VECTOR.
 
#define XXH_SSE2   1
 
#define XXH_AVX2   2
 
#define XXH_AVX512   3
 
#define XXH_NEON   4
 
#define XXH_VSX   5
 
#define XXH_SVE   6
 
#define XXH_LSX   7
 
#define XXH_LASX   8
 
#define XXH_RVV   9
 
#define XXH3_SECRET_SIZE_MIN   136
 

Typedefs

typedef struct XXH32_state_s XXH32_state_t
 The opaque state struct for the XXH32 streaming API.
 
typedef struct XXH64_state_s XXH64_state_t
 The opaque state struct for the XXH64 streaming API.
 
typedef struct XXH3_state_s XXH3_state_t
 The opaque state struct for the XXH3 streaming API.
 
typedef unsigned long long XXH64_hash_t
 

Enumerations

enum  XXH_errorcode { XXH_OK = 0 , XXH_ERROR }
 Exit code for the streaming API. More...
 

Functions

XXH_PUBLIC_API XXH_CONSTF unsigned XXH_versionNumber (void)
 Obtains the xxHash version.
 
XXH_PUBLIC_API XXH_PUREF XXH32_hash_t XXH32 (const void *input, size_t length, XXH32_hash_t seed)
 Calculates the 32-bit hash of input using xxHash32.
 
XXH_PUBLIC_API XXH_MALLOCF XXH32_state_tXXH32_createState (void)
 Allocates an XXH32_state_t.
 
XXH_PUBLIC_API XXH_errorcode XXH32_freeState (XXH32_state_t *statePtr)
 Frees an XXH32_state_t.
 
XXH_PUBLIC_API void XXH32_copyState (XXH32_state_t *dst_state, const XXH32_state_t *src_state)
 Copies one XXH32_state_t to another.
 
XXH_PUBLIC_API XXH_errorcode XXH32_reset (XXH32_state_t *statePtr, XXH32_hash_t seed)
 Resets an XXH32_state_t to begin a new hash.
 
XXH_PUBLIC_API XXH_errorcode XXH32_update (XXH32_state_t *statePtr, const void *input, size_t length)
 Consumes a block of input to an XXH32_state_t.
 
XXH_PUBLIC_API XXH_PUREF XXH32_hash_t XXH32_digest (const XXH32_state_t *statePtr)
 Returns the calculated hash value from an XXH32_state_t.
 
XXH_PUBLIC_API void XXH32_canonicalFromHash (XXH32_canonical_t *dst, XXH32_hash_t hash)
 Converts an XXH32_hash_t to a big endian XXH32_canonical_t.
 
XXH_PUBLIC_API XXH_PUREF XXH32_hash_t XXH32_hashFromCanonical (const XXH32_canonical_t *src)
 Converts an XXH32_canonical_t to a native XXH32_hash_t.
 
XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64 (XXH_NOESCAPE const void *input, size_t length, XXH64_hash_t seed)
 Calculates the 64-bit hash of input using xxHash64.
 
XXH_PUBLIC_API XXH_MALLOCF XXH64_state_tXXH64_createState (void)
 Allocates an XXH64_state_t.
 
XXH_PUBLIC_API XXH_errorcode XXH64_freeState (XXH64_state_t *statePtr)
 Frees an XXH64_state_t.
 
XXH_PUBLIC_API void XXH64_copyState (XXH_NOESCAPE XXH64_state_t *dst_state, const XXH64_state_t *src_state)
 Copies one XXH64_state_t to another.
 
XXH_PUBLIC_API XXH_errorcode XXH64_reset (XXH_NOESCAPE XXH64_state_t *statePtr, XXH64_hash_t seed)
 Resets an XXH64_state_t to begin a new hash.
 
XXH_PUBLIC_API XXH_errorcode XXH64_update (XXH_NOESCAPE XXH64_state_t *statePtr, XXH_NOESCAPE const void *input, size_t length)
 Consumes a block of input to an XXH64_state_t.
 
XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64_digest (XXH_NOESCAPE const XXH64_state_t *statePtr)
 Returns the calculated hash value from an XXH64_state_t.
 
XXH_PUBLIC_API void XXH64_canonicalFromHash (XXH_NOESCAPE XXH64_canonical_t *dst, XXH64_hash_t hash)
 Converts an XXH64_hash_t to a big endian XXH64_canonical_t.
 
XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64_hashFromCanonical (XXH_NOESCAPE const XXH64_canonical_t *src)
 Converts an XXH64_canonical_t to a native XXH64_hash_t.
 
XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits (XXH_NOESCAPE const void *input, size_t length)
 Calculates 64-bit unseeded variant of XXH3 hash of input.
 
XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits_withSeed (XXH_NOESCAPE const void *input, size_t length, XXH64_hash_t seed)
 Calculates 64-bit seeded variant of XXH3 hash of input.
 
XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits_withSecret (XXH_NOESCAPE const void *data, size_t len, XXH_NOESCAPE const void *secret, size_t secretSize)
 Calculates 64-bit variant of XXH3 with a custom "secret".
 
XXH_PUBLIC_API XXH_MALLOCF XXH3_state_tXXH3_createState (void)
 
XXH_PUBLIC_API XXH_errorcode XXH3_freeState (XXH3_state_t *statePtr)
 
XXH_PUBLIC_API void XXH3_copyState (XXH_NOESCAPE XXH3_state_t *dst_state, XXH_NOESCAPE const XXH3_state_t *src_state)
 Copies one XXH3_state_t to another.
 
XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset (XXH_NOESCAPE XXH3_state_t *statePtr)
 Resets an XXH3_state_t to begin a new hash.
 
XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset_withSeed (XXH_NOESCAPE XXH3_state_t *statePtr, XXH64_hash_t seed)
 Resets an XXH3_state_t with 64-bit seed to begin a new hash.
 
XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset_withSecret (XXH_NOESCAPE XXH3_state_t *statePtr, XXH_NOESCAPE const void *secret, size_t secretSize)
 Resets an XXH3_state_t with secret data to begin a new hash.
 
XXH_PUBLIC_API XXH_errorcode XXH3_64bits_update (XXH_NOESCAPE XXH3_state_t *statePtr, XXH_NOESCAPE const void *input, size_t length)
 Consumes a block of input to an XXH3_state_t.
 
XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits_digest (XXH_NOESCAPE const XXH3_state_t *statePtr)
 Returns the calculated XXH3 64-bit hash value from an XXH3_state_t.
 
XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits (XXH_NOESCAPE const void *data, size_t len)
 Calculates 128-bit unseeded variant of XXH3 of data.
 
XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits_withSeed (XXH_NOESCAPE const void *data, size_t len, XXH64_hash_t seed)
 Calculates 128-bit seeded variant of XXH3 hash of data.
 
XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits_withSecret (XXH_NOESCAPE const void *data, size_t len, XXH_NOESCAPE const void *secret, size_t secretSize)
 Calculates 128-bit variant of XXH3 with a custom "secret".
 
XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset (XXH_NOESCAPE XXH3_state_t *statePtr)
 Resets an XXH3_state_t to begin a new hash.
 
XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset_withSeed (XXH_NOESCAPE XXH3_state_t *statePtr, XXH64_hash_t seed)
 Resets an XXH3_state_t with 64-bit seed to begin a new hash.
 
XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset_withSecret (XXH_NOESCAPE XXH3_state_t *statePtr, XXH_NOESCAPE const void *secret, size_t secretSize)
 Resets an XXH3_state_t with secret data to begin a new hash.
 
XXH_PUBLIC_API XXH_errorcode XXH3_128bits_update (XXH_NOESCAPE XXH3_state_t *statePtr, XXH_NOESCAPE const void *input, size_t length)
 Consumes a block of input to an XXH3_state_t.
 
XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits_digest (XXH_NOESCAPE const XXH3_state_t *statePtr)
 Returns the calculated XXH3 128-bit hash value from an XXH3_state_t.
 
XXH_PUBLIC_API XXH_PUREF int XXH128_isEqual (XXH128_hash_t h1, XXH128_hash_t h2)
 Check equality of two XXH128_hash_t values.
 
XXH_PUBLIC_API XXH_PUREF int XXH128_cmp (XXH_NOESCAPE const void *h128_1, XXH_NOESCAPE const void *h128_2)
 Compares two XXH128_hash_t.
 
XXH_PUBLIC_API void XXH128_canonicalFromHash (XXH_NOESCAPE XXH128_canonical_t *dst, XXH128_hash_t hash)
 Converts an XXH128_hash_t to a big endian XXH128_canonical_t.
 
XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH128_hashFromCanonical (XXH_NOESCAPE const XXH128_canonical_t *src)
 Converts an XXH128_canonical_t to a native XXH128_hash_t.
 

Detailed Description

xxHash prototypes and implementation

Definition in file xxhash.h.