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
15typedef unsigned char uint8_t;
16typedef unsigned int uint32_t;
17typedef 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
29uint32_t MurmurHash2        ( const void * key, int len, uint32_t seed );
30uint64_t MurmurHash64A      ( const void * key, int len, uint64_t seed );
31uint64_t MurmurHash64B      ( const void * key, int len, uint64_t seed );
32uint32_t MurmurHash2A       ( const void * key, int len, uint32_t seed );
33uint32_t MurmurHashNeutral2 ( const void * key, int len, uint32_t seed );
34uint32_t MurmurHashAligned2 ( const void * key, int len, uint32_t seed );
35
36//-----------------------------------------------------------------------------
37
38#endif // _MURMURHASH2_H_
39
40