murmurhash3.h revision d514b0f3
1d514b0f3Smrg// Source: http://code.google.com/p/smhasher/wiki/MurmurHash3 2d514b0f3Smrg 3d514b0f3Smrg//----------------------------------------------------------------------------- 4d514b0f3Smrg// MurmurHash3 was written by Austin Appleby, and is placed in the public 5d514b0f3Smrg// domain. The author hereby disclaims copyright to this source code. 6d514b0f3Smrg 7d514b0f3Smrg#ifndef _MURMURHASH3_H_ 8d514b0f3Smrg#define _MURMURHASH3_H_ 9d514b0f3Smrg 10d514b0f3Smrg//----------------------------------------------------------------------------- 11d514b0f3Smrg// Platform-specific functions and macros 12d514b0f3Smrg 13d514b0f3Smrg// Microsoft Visual Studio 14d514b0f3Smrg 15d514b0f3Smrg#if defined(_MSC_VER) 16d514b0f3Smrg 17d514b0f3Smrgtypedef unsigned char uint8_t; 18d514b0f3Smrgtypedef unsigned long uint32_t; 19d514b0f3Smrgtypedef unsigned __int64 uint64_t; 20d514b0f3Smrg 21d514b0f3Smrg// Other compilers 22d514b0f3Smrg 23d514b0f3Smrg#else // defined(_MSC_VER) 24d514b0f3Smrg 25d514b0f3Smrg#include <stdint.h> 26d514b0f3Smrg 27d514b0f3Smrg#endif // !defined(_MSC_VER) 28d514b0f3Smrg 29d514b0f3Smrg//----------------------------------------------------------------------------- 30d514b0f3Smrg 31d514b0f3Smrgvoid MurmurHash3_x86_32 ( const void * key, int len, uint32_t seed, void * out ); 32d514b0f3Smrg 33d514b0f3Smrgvoid MurmurHash3_x86_128 ( const void * key, int len, uint32_t seed, void * out ); 34d514b0f3Smrg 35d514b0f3Smrgvoid MurmurHash3_x64_128 ( const void * key, int len, uint32_t seed, void * out ); 36d514b0f3Smrg 37d514b0f3Smrg//----------------------------------------------------------------------------- 38d514b0f3Smrg 39d514b0f3Smrg#endif // _MURMURHASH3_H_ 40