Go to the documentation of this file.
27 #ifndef _AKMURMURHASH_H_
28 #define _AKMURMURHASH_H_
35 #define MURMUR3_SEED ( 0x41545731 )
36 #define MURMUR3_C1 ( 0xcc9e2d51 )
37 #define MURMUR3_C2 ( 0x1b873593 )
38 #define MURMUR3_C3 ( 0xe6546b64 )
42 uValue ^= uValue >> 16;
44 uValue ^= uValue >> 13;
46 uValue ^= uValue >> 16;
51 uValue ^= uValue >> 33;
52 uValue *= 0xff51afd7ed558ccd;
53 uValue ^= uValue >> 33;
54 uValue *= 0xc4ceb9fe1a85ec53;
55 uValue ^= uValue >> 33;
75 switch ( uSize & 3 ) {
76 case 3: uK1 ^= pBytesTail[ 2 ] << 16;
77 case 2: uK1 ^= pBytesTail[ 1 ] << 8;
78 case 1: uK1 ^= pBytesTail[ 0 ];
89 #endif // _AKMURMURHASH_H_
AkForceInline AkUInt32 AkHashMurMurMix32(AkUInt32 uValue)
uint8_t AkUInt8
Unsigned 8-bit integer.
AkForceInline AkUInt32 ROTL32(AkUInt32 x, AkUInt32 r)
int32_t AkInt32
Signed 32-bit integer.
AkForceInline void AkHashMurMur32(AkUInt32 *pHash, const void *pData, size_t uSize)
uint64_t AkUInt64
Unsigned 64-bit integer.
uint32_t AkUInt32
Unsigned 32-bit integer.
AkForceInline AkUInt64 AkHashMurMurMix64(AkUInt64 uValue)
Tell us about your project. We're here to help.
Register your project and we'll help you get started with no strings attached!
Get started with Wwise