Tpetra parallel linear algebra Version of the Day
Loading...
Searching...
No Matches
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
24typedef unsigned char uint8_t;
25typedef unsigned int uint32_t;
26typedef 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
36namespace Tpetra {
37
38namespace Details {
39//-----------------------------------------------------------------------------
40
41void MurmurHash3_x86_32(const void* key, int len, uint32_t seed, void* out);
42
43void MurmurHash3_x86_128(const void* key, int len, uint32_t seed, void* out);
44
45void MurmurHash3_x64_128(const void* key, int len, uint32_t seed, void* out);
46
47} // namespace Details
48
49} // namespace Tpetra
50
51//-----------------------------------------------------------------------------
52
53#endif // _MURMURHASH3_H_
Implementation details of Tpetra.
Namespace Tpetra contains the class and methods constituting the Tpetra library.