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