69 #ifndef XXHASH_H_5627135585666179
70 #define XXHASH_H_5627135585666179 1
72 #if defined (__cplusplus)
99 #if defined(XXH_INLINE_ALL) || defined(XXH_PRIVATE_API)
100 # ifndef XXH_STATIC_LINKING_ONLY
101 # define XXH_STATIC_LINKING_ONLY
103 # if defined(__GNUC__)
104 # define XXH_PUBLIC_API static __inline __attribute__((unused))
105 # elif defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) )
106 # define XXH_PUBLIC_API static inline
107 # elif defined(_MSC_VER)
108 # define XXH_PUBLIC_API static __inline
111 # define XXH_PUBLIC_API static
114 # if defined(WIN32) && defined(_MSC_VER) && (defined(XXH_IMPORT) || defined(XXH_EXPORT))
116 # define XXH_PUBLIC_API __declspec(dllexport)
118 # define XXH_PUBLIC_API __declspec(dllimport)
121 # define XXH_PUBLIC_API
138 #undef XXH_PUBLIC_API // SideFX modification
139 #define XXH_PUBLIC_API UT_API // SideFX modification
140 #define XXH_NAMESPACE UT_ // SideFX modification
143 # define XXH_CAT(A,B) A##B
144 # define XXH_NAME2(A,B) XXH_CAT(A,B)
145 # define XXH_versionNumber XXH_NAME2(XXH_NAMESPACE, XXH_versionNumber)
146 # define XXH32 XXH_NAME2(XXH_NAMESPACE, XXH32)
147 # define XXH32_createState XXH_NAME2(XXH_NAMESPACE, XXH32_createState)
148 # define XXH32_freeState XXH_NAME2(XXH_NAMESPACE, XXH32_freeState)
149 # define XXH32_reset XXH_NAME2(XXH_NAMESPACE, XXH32_reset)
150 # define XXH32_update XXH_NAME2(XXH_NAMESPACE, XXH32_update)
151 # define XXH32_digest XXH_NAME2(XXH_NAMESPACE, XXH32_digest)
152 # define XXH32_copyState XXH_NAME2(XXH_NAMESPACE, XXH32_copyState)
153 # define XXH32_canonicalFromHash XXH_NAME2(XXH_NAMESPACE, XXH32_canonicalFromHash)
154 # define XXH32_hashFromCanonical XXH_NAME2(XXH_NAMESPACE, XXH32_hashFromCanonical)
155 # define XXH64 XXH_NAME2(XXH_NAMESPACE, XXH64)
156 # define XXH64_createState XXH_NAME2(XXH_NAMESPACE, XXH64_createState)
157 # define XXH64_freeState XXH_NAME2(XXH_NAMESPACE, XXH64_freeState)
158 # define XXH64_reset XXH_NAME2(XXH_NAMESPACE, XXH64_reset)
159 # define XXH64_update XXH_NAME2(XXH_NAMESPACE, XXH64_update)
160 # define XXH64_digest XXH_NAME2(XXH_NAMESPACE, XXH64_digest)
161 # define XXH64_copyState XXH_NAME2(XXH_NAMESPACE, XXH64_copyState)
162 # define XXH64_canonicalFromHash XXH_NAME2(XXH_NAMESPACE, XXH64_canonicalFromHash)
163 # define XXH64_hashFromCanonical XXH_NAME2(XXH_NAMESPACE, XXH64_hashFromCanonical)
170 #define XXH_VERSION_MAJOR 0
171 #define XXH_VERSION_MINOR 7
172 #define XXH_VERSION_RELEASE 1
173 #define XXH_VERSION_NUMBER (XXH_VERSION_MAJOR *100*100 + XXH_VERSION_MINOR *100 + XXH_VERSION_RELEASE)
180 #if !defined (__VMS) \
181 && (defined (__cplusplus) \
182 || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) ) )
240 #ifndef XXH_NO_LONG_LONG
244 #if !defined (__VMS) \
245 && (defined (__cplusplus) \
246 || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) ) )
280 #ifdef XXH_STATIC_LINKING_ONLY
293 struct XXH32_state_s {
294 XXH32_hash_t total_len_32;
295 XXH32_hash_t large_len;
300 XXH32_hash_t mem32[4];
301 XXH32_hash_t memsize;
302 XXH32_hash_t reserved;
305 #ifndef XXH_NO_LONG_LONG
306 struct XXH64_state_s {
307 XXH64_hash_t total_len;
312 XXH64_hash_t mem64[4];
313 XXH32_hash_t memsize;
314 XXH32_hash_t reserved[2];
323 #ifndef XXH_NO_LONG_LONG
375 # define XXH3_64bits XXH_NAME2(XXH_NAMESPACE, XXH3_64bits)
376 # define XXH3_64bits_withSecret XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_withSecret)
377 # define XXH3_64bits_withSeed XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_withSeed)
379 # define XXH3_createState XXH_NAME2(XXH_NAMESPACE, XXH3_createState)
380 # define XXH3_freeState XXH_NAME2(XXH_NAMESPACE, XXH3_freeState)
381 # define XXH3_copyState XXH_NAME2(XXH_NAMESPACE, XXH3_copyState)
383 # define XXH3_64bits_reset XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset)
384 # define XXH3_64bits_reset_withSeed XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset_withSeed)
385 # define XXH3_64bits_reset_withSecret XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset_withSecret)
386 # define XXH3_64bits_update XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_update)
387 # define XXH3_64bits_digest XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_digest)
404 #define XXH3_SECRET_SIZE_MIN 136
405 XXH_PUBLIC_API XXH64_hash_t XXH3_64bits_withSecret(
const void*
data,
size_t len,
const void* secret,
size_t secretSize);
417 #if defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
418 # include <stdalign.h>
419 # define XXH_ALIGN(n) alignas(n)
420 #elif defined(__GNUC__)
421 # define XXH_ALIGN(n) __attribute__ ((aligned(n)))
422 #elif defined(_MSC_VER)
423 # define XXH_ALIGN(n) __declspec(align(n))
425 # define XXH_ALIGN(n)
428 typedef struct XXH3_state_s XXH3_state_t;
430 #define XXH3_SECRET_DEFAULT_SIZE 192
431 #define XXH3_INTERNALBUFFER_SIZE 256
432 struct XXH3_state_s {
433 XXH_ALIGN(64) XXH64_hash_t acc[8];
434 XXH_ALIGN(64)
char customSecret[XXH3_SECRET_DEFAULT_SIZE];
435 XXH_ALIGN(64)
char buffer[XXH3_INTERNALBUFFER_SIZE];
437 XXH32_hash_t bufferedSize;
438 XXH32_hash_t nbStripesPerBlock;
439 XXH32_hash_t nbStripesSoFar;
440 XXH32_hash_t reserved32;
441 XXH32_hash_t reserved32_2;
442 XXH32_hash_t secretLimit;
443 XXH64_hash_t totalLen;
445 XXH64_hash_t reserved64;
455 XXH_PUBLIC_API void XXH3_copyState(XXH3_state_t* dst_state,
const XXH3_state_t* src_state);
479 # define XXH128 XXH_NAME2(XXH_NAMESPACE, XXH128)
480 # define XXH3_128bits XXH_NAME2(XXH_NAMESPACE, XXH3_128bits)
481 # define XXH3_128bits_withSeed XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_withSeed)
482 # define XXH3_128bits_withSecret XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_withSecret)
484 # define XXH3_128bits_reset XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset)
485 # define XXH3_128bits_reset_withSeed XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset_withSeed)
486 # define XXH3_128bits_reset_withSecret XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset_withSecret)
487 # define XXH3_128bits_update XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_update)
488 # define XXH3_128bits_digest XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_digest)
490 # define XXH128_isEqual XXH_NAME2(XXH_NAMESPACE, XXH128_isEqual)
491 # define XXH128_cmp XXH_NAME2(XXH_NAMESPACE, XXH128_cmp)
492 # define XXH128_canonicalFromHash XXH_NAME2(XXH_NAMESPACE, XXH128_canonicalFromHash)
493 # define XXH128_hashFromCanonical XXH_NAME2(XXH_NAMESPACE, XXH128_hashFromCanonical)
504 XXH_PUBLIC_API XXH128_hash_t XXH3_128bits_withSecret(
const void*
data,
size_t len,
const void* secret,
size_t secretSize);
511 XXH_PUBLIC_API XXH128_hash_t XXH3_128bits_digest (
const XXH3_state_t* statePtr);
518 XXH_PUBLIC_API int XXH128_isEqual(XXH128_hash_t h1, XXH128_hash_t h2);
524 XXH_PUBLIC_API int XXH128_cmp(
const void* h128_1,
const void* h128_2);
528 typedef struct {
unsigned char digest[16]; } XXH128_canonical_t;
529 XXH_PUBLIC_API void XXH128_canonicalFromHash(XXH128_canonical_t*
dst, XXH128_hash_t hash);
530 XXH_PUBLIC_API XXH128_hash_t XXH128_hashFromCanonical(
const XXH128_canonical_t*
src);
539 #if defined(XXH_INLINE_ALL) || defined(XXH_PRIVATE_API)
548 #if defined (__cplusplus)
unsigned long long XXH64_hash_t
GLenum GLenum GLenum input
#define XXH64_hashFromCanonical
#define XXH32_hashFromCanonical
#define XXH64_createState
GLfloat GLfloat GLfloat v2
struct XXH64_state_s XXH64_state_t
#define XXH32_createState
GLfloat GLfloat GLfloat GLfloat v3
#define XXH64_canonicalFromHash
struct XXH32_state_s XXH32_state_t
unsigned int XXH32_hash_t
#define XXH_versionNumber
GLuint GLsizei GLsizei * length
#define XXH32_canonicalFromHash