Go to the documentation of this file.
28 #ifndef _AKMURMURHASH_H_
29 #define _AKMURMURHASH_H_
36 #define MURMUR3_SEED ( 0x41545731 )
37 #define MURMUR3_C1 ( 0xcc9e2d51 )
38 #define MURMUR3_C2 ( 0x1b873593 )
39 #define MURMUR3_C3 ( 0xe6546b64 )
43 uValue ^= uValue >> 16;
45 uValue ^= uValue >> 13;
47 uValue ^= uValue >> 16;
52 uValue ^= uValue >> 33;
53 uValue *= 0xff51afd7ed558ccd;
54 uValue ^= uValue >> 33;
55 uValue *= 0xc4ceb9fe1a85ec53;
56 uValue ^= uValue >> 33;
76 switch ( uSize & 3 ) {
77 case 3: uK1 ^= pBytesTail[ 2 ] << 16;
78 case 2: uK1 ^= pBytesTail[ 1 ] << 8;
79 case 1: uK1 ^= pBytesTail[ 0 ];
90 #endif // _AKMURMURHASH_H_
AkForceInline AkUInt32 AkHashMurMurMix32(AkUInt32 uValue)
AkForceInline AkUInt32 ROTL32(AkUInt32 x, AkUInt32 r)
AkForceInline void AkHashMurMur32(AkUInt32 *pHash, const void *pData, size_t uSize)
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