1 //----------------------------------------------------------------------------- 2 // MurmurHash2 was written by Austin Appleby, and is placed in the public 3 // domain. The author hereby disclaims copyright to this source code. 4 5 #ifndef _MURMURHASH2_H_ 6 #define _MURMURHASH2_H_ 7 8 //----------------------------------------------------------------------------- 9 // Platform-specific functions and macros 10 11 // Microsoft Visual Studio 12 13 #if defined(_MSC_VER) && (_MSC_VER < 1600) 14 15 typedef unsigned char uint8_t; 16 typedef unsigned int uint32_t; 17 typedef unsigned __int64 uint64_t; 18 19 // Other compilers 20 21 #else // defined(_MSC_VER) 22 23 #include <stdint.h> 24 25 #endif // !defined(_MSC_VER) 26 27 //----------------------------------------------------------------------------- 28 29 uint32_t MurmurHash2 ( const void * key, int len, uint32_t seed ); 30 uint64_t MurmurHash64A ( const void * key, int len, uint64_t seed ); 31 uint64_t MurmurHash64B ( const void * key, int len, uint64_t seed ); 32 uint32_t MurmurHash2A ( const void * key, int len, uint32_t seed ); 33 uint32_t MurmurHashNeutral2 ( const void * key, int len, uint32_t seed ); 34 uint32_t MurmurHashAligned2 ( const void * key, int len, uint32_t seed ); 35 36 //----------------------------------------------------------------------------- 37 38 #endif // _MURMURHASH2_H_ 39 40