#include <stddef.h>
Go to the source code of this file.
Classes | |
struct | XXH32_canonical_t |
struct | XXH64_canonical_t |
Macros | |
#define | XXH_PUBLIC_API /* do nothing */ |
#define | XXH_VERSION_MAJOR 0 |
#define | XXH_VERSION_MINOR 6 |
#define | XXH_VERSION_NUMBER (XXH_VERSION_MAJOR *100*100 + XXH_VERSION_MINOR *100 + XXH_VERSION_RELEASE) |
#define | XXH_VERSION_RELEASE 2 |
Typedefs | |
typedef unsigned int | XXH32_hash_t |
typedef struct XXH32_state_s | XXH32_state_t |
typedef unsigned long long | XXH64_hash_t |
typedef struct XXH64_state_s | XXH64_state_t |
Enumerations | |
enum | XXH_errorcode { XXH_OK =0, XXH_ERROR, XXH_OK =0, XXH_ERROR } |
#define XXH_PUBLIC_API /* do nothing */ |
XXH_PRIVATE_API This is useful to include xxhash functions in static
mode in order to inline them, and remove their symbol from the public list. Methodology : #define XXH_PRIVATE_API #include "xxhash.h" xxhash.c
is automatically included. It's not useful to compile and link it as a separate module.
Definition at line 108 of file lz4/xxhash.h.
#define XXH_VERSION_MAJOR 0 |
XXH_NAMESPACE, aka Namespace Emulation :
If you want to include and expose xxHash functions from within your own library, but also want to avoid symbol collisions with other libraries which may also include xxHash,
you can use XXH_NAMESPACE, to automatically prefix any public symbol from xxhash library with the value of XXH_NAMESPACE (therefore, avoid NULL and numeric values).
Note that no change is required within the calling program as long as it includes xxhash.h
: regular symbol name will be automatically translated by this header.
Definition at line 150 of file lz4/xxhash.h.
#define XXH_VERSION_MINOR 6 |
Definition at line 151 of file lz4/xxhash.h.
#define XXH_VERSION_NUMBER (XXH_VERSION_MAJOR *100*100 + XXH_VERSION_MINOR *100 + XXH_VERSION_RELEASE) |
Definition at line 153 of file lz4/xxhash.h.
#define XXH_VERSION_RELEASE 2 |
Definition at line 152 of file lz4/xxhash.h.
typedef unsigned int XXH32_hash_t |
Definition at line 160 of file lz4/xxhash.h.
typedef struct XXH32_state_s XXH32_state_t |
Definition at line 170 of file lz4/xxhash.h.
typedef unsigned long long XXH64_hash_t |
Definition at line 218 of file lz4/xxhash.h.
typedef struct XXH64_state_s XXH64_state_t |
Definition at line 228 of file lz4/xxhash.h.
enum XXH_errorcode |
Enumerator | |
---|---|
XXH_OK | |
XXH_ERROR | |
XXH_OK | |
XXH_ERROR |
Definition at line 79 of file lz4/xxhash.h.
XXH_PUBLIC_API XXH32_hash_t XXH32 | ( | const void * | input, |
size_t | length, | ||
unsigned int | seed | ||
) |
XXH32() : Calculate the 32-bits hash of sequence "length" bytes stored at memory address "input". The memory between input & input+length must be valid (allocated and read-accessible). "seed" can be used to alter the result predictably. Speed on Core 2 Duo @ 3 GHz (single thread, SMHasher benchmark) : 5.4 GB/s
Definition at line 321 of file lz4/xxhash.c.
XXH_PUBLIC_API void XXH32_canonicalFromHash | ( | XXH32_canonical_t * | dst, |
XXH32_hash_t | hash | ||
) |
Default XXH result types are basic unsigned 32 and 64 bits. The canonical representation follows human-readable write convention, aka big-endian (large digits first). These functions allow transformation of hash result into and from its canonical format. This way, hash values can be written into a file or buffer, and remain comparable across different systems and programs.
Definition at line 504 of file lz4/xxhash.c.
XXH_PUBLIC_API void XXH32_copyState | ( | XXH32_state_t * | dst_state, |
const XXH32_state_t * | src_state | ||
) |
Definition at line 361 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH32_state_t* XXH32_createState | ( | void | ) |
Definition at line 351 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH32_hash_t XXH32_digest | ( | const XXH32_state_t * | statePtr | ) |
Definition at line 485 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH_errorcode XXH32_freeState | ( | XXH32_state_t * | statePtr | ) |
Definition at line 355 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH32_hash_t XXH32_hashFromCanonical | ( | const XXH32_canonical_t * | src | ) |
Definition at line 511 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH_errorcode XXH32_reset | ( | XXH32_state_t * | statePtr, |
unsigned int | seed | ||
) |
Definition at line 366 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH_errorcode XXH32_update | ( | XXH32_state_t * | statePtr, |
const void * | input, | ||
size_t | length | ||
) |
Definition at line 437 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH64_hash_t XXH64 | ( | const void * | input, |
size_t | length, | ||
unsigned long long | seed | ||
) |
XXH64() : Calculate the 64-bits hash of sequence of length "len" stored at memory address "input". "seed" can be used to alter the result predictably. This function runs faster on 64-bits systems, but slower on 32-bits systems (see benchmark).
Definition at line 693 of file lz4/xxhash.c.
XXH_PUBLIC_API void XXH64_canonicalFromHash | ( | XXH64_canonical_t * | dst, |
XXH64_hash_t | hash | ||
) |
Definition at line 877 of file lz4/xxhash.c.
XXH_PUBLIC_API void XXH64_copyState | ( | XXH64_state_t * | dst_state, |
const XXH64_state_t * | src_state | ||
) |
Definition at line 731 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH64_state_t* XXH64_createState | ( | void | ) |
Definition at line 721 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH64_hash_t XXH64_digest | ( | const XXH64_state_t * | statePtr | ) |
Definition at line 864 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH_errorcode XXH64_freeState | ( | XXH64_state_t * | statePtr | ) |
Definition at line 725 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical | ( | const XXH64_canonical_t * | src | ) |
Definition at line 884 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH_errorcode XXH64_reset | ( | XXH64_state_t * | statePtr, |
unsigned long long | seed | ||
) |
Definition at line 736 of file lz4/xxhash.c.
XXH_PUBLIC_API XXH_errorcode XXH64_update | ( | XXH64_state_t * | statePtr, |
const void * | input, | ||
size_t | length | ||
) |
Definition at line 803 of file lz4/xxhash.c.
XXH_PUBLIC_API unsigned XXH_versionNumber | ( | void | ) |
Definition at line 244 of file lz4/xxhash.c.