blob: e1c6d34976c6a6bed2040fa10375d8603a916a12 [file] [log] [blame]
tanjent@gmail.comf3b78972012-03-01 03:38:55 +00001//-----------------------------------------------------------------------------
2// MurmurHash3 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 _MURMURHASH3_H_
6#define _MURMURHASH3_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
29void MurmurHash3_x86_32 ( const void * key, int len, uint32_t seed, void * out );
30
31void MurmurHash3_x86_128 ( const void * key, int len, uint32_t seed, void * out );
32
33void MurmurHash3_x64_128 ( const void * key, int len, uint32_t seed, void * out );
34
35//-----------------------------------------------------------------------------
36
37#endif // _MURMURHASH3_H_