Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MurmurHash3.hpp
1 // @HEADER
2 // *****************************************************************************
3 // Tpetra: Templated Linear Algebra Services Package
4 //
5 // Copyright 2008 NTESS and the Tpetra contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 //-----------------------------------------------------------------------------
11 // MurmurHash3 was written by Austin Appleby, and is placed in the public
12 // domain. The author hereby disclaims copyright to this source code.
13 
14 #ifndef _MURMURHASH3_H_
15 #define _MURMURHASH3_H_
16 
17 //-----------------------------------------------------------------------------
18 // Platform-specific functions and macros
19 
20 // Microsoft Visual Studio
21 
22 #if defined(_MSC_VER) && (_MSC_VER < 1600)
23 
24 typedef unsigned char uint8_t;
25 typedef unsigned int uint32_t;
26 typedef unsigned __int64 uint64_t;
27 
28 // Other compilers
29 
30 #else // defined(_MSC_VER)
31 
32 #include <stdint.h> // C99 assumption ?
33 
34 #endif // !defined(_MSC_VER)
35 
36 namespace Tpetra
37 {
38 
39 namespace Details
40 {
41 //-----------------------------------------------------------------------------
42 
43 void MurmurHash3_x86_32 ( const void * key, int len, uint32_t seed, void * out );
44 
45 void MurmurHash3_x86_128 ( const void * key, int len, uint32_t seed, void * out );
46 
47 void MurmurHash3_x64_128 ( const void * key, int len, uint32_t seed, void * out );
48 
49 }
50 
51 }
52 
53 //-----------------------------------------------------------------------------
54 
55 
56 #endif // _MURMURHASH3_H_