ATLAS Offline Software
Classes | Typedefs | Functions
XXH64 family
Collaboration diagram for XXH64 family:

Classes

struct  XXH64_canonical_t
 

Typedefs

typedef struct XXH64_state_s XXH64_state_t
 The opaque state struct for the XXH64 streaming API. More...
 

Functions

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. More...
 
XXH_PUBLIC_API XXH_MALLOCF XXH64_state_tXXH64_createState (void)
 
XXH_PUBLIC_API XXH_errorcode XXH64_freeState (XXH64_state_t *statePtr)
 
XXH_PUBLIC_API void XXH64_copyState (XXH_NOESCAPE XXH64_state_t *dst_state, const XXH64_state_t *src_state)
 
XXH_PUBLIC_API XXH_errorcode XXH64_reset (XXH_NOESCAPE XXH64_state_t *statePtr, XXH64_hash_t seed)
 
XXH_PUBLIC_API XXH_errorcode XXH64_update (XXH_NOESCAPE XXH64_state_t *statePtr, XXH_NOESCAPE const void *input, size_t length)
 
XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64_digest (XXH_NOESCAPE const XXH64_state_t *statePtr)
 
XXH_PUBLIC_API void XXH64_canonicalFromHash (XXH_NOESCAPE XXH64_canonical_t *dst, XXH64_hash_t hash)
 
XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64_hashFromCanonical (XXH_NOESCAPE const XXH64_canonical_t *src)
 

Detailed Description

Contains functions used in the classic 64-bit xxHash algorithm.

Note
XXH3 provides competitive speed for both 32-bit and 64-bit systems, and offers true 64/128 bit hash results. It provides better speed for systems with vector processing capabilities.

Typedef Documentation

◆ XXH64_state_t

typedef struct XXH64_state_s XXH64_state_t

The opaque state struct for the XXH64 streaming API.

See also
XXH64_state_s for details.

Definition at line 835 of file xxhash.h.

Function Documentation

◆ XXH64()

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.

This function usually runs faster on 64-bit systems, but slower on 32-bit systems (see benchmark).

Parameters
inputThe block of data to be hashed, at least length bytes in size.
lengthThe length of input, in bytes.
seedThe 64-bit seed to alter the hash's output predictably.
Precondition
The memory between input and input + length must be valid, readable, contiguous memory. However, if length is 0, input may be NULL. In C++, this also must be TriviallyCopyable.
Returns
The calculated 64-bit hash.
See also
XXH32(), XXH3_64bits_withSeed(), XXH3_128bits_withSeed(), XXH128(): Direct equivalents for the other variants of xxHash.
XXH64_createState(), XXH64_update(), XXH64_digest(): Streaming version.

◆ XXH64_canonicalFromHash()

XXH_PUBLIC_API void XXH64_canonicalFromHash ( XXH_NOESCAPE XXH64_canonical_t dst,
XXH64_hash_t  hash 
)

◆ XXH64_copyState()

XXH_PUBLIC_API void XXH64_copyState ( XXH_NOESCAPE XXH64_state_t dst_state,
const XXH64_state_t src_state 
)

◆ XXH64_createState()

XXH_PUBLIC_API XXH_MALLOCF XXH64_state_t* XXH64_createState ( void  )

◆ XXH64_digest()

◆ XXH64_freeState()

XXH_PUBLIC_API XXH_errorcode XXH64_freeState ( XXH64_state_t statePtr)

◆ XXH64_hashFromCanonical()

◆ XXH64_reset()

XXH_PUBLIC_API XXH_errorcode XXH64_reset ( XXH_NOESCAPE XXH64_state_t statePtr,
XXH64_hash_t  seed 
)

◆ XXH64_update()

XXH_PUBLIC_API XXH_errorcode XXH64_update ( XXH_NOESCAPE XXH64_state_t statePtr,
XXH_NOESCAPE const void *  input,
size_t  length 
)