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