blob: 6d289edee293bdca5eb125f4fabb10384ca06ec1 [file] [log] [blame]
tanjent@gmail.comf3b78972012-03-01 03:38:55 +00001//-----------------------------------------------------------------------------
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
aappleby@google.comb52816c2013-12-30 21:23:01 +000013#if defined(_MSC_VER) && (_MSC_VER < 1600)
tanjent@gmail.comf3b78972012-03-01 03:38:55 +000014
15typedef unsigned char uint8_t;
aappleby@google.comb52816c2013-12-30 21:23:01 +000016typedef unsigned int uint32_t;
tanjent@gmail.comf3b78972012-03-01 03:38:55 +000017typedef 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