Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clickhouse 3785 Add MurmurHash2 #2756

Merged
merged 10 commits into from Jul 30, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Expand Up @@ -283,6 +283,7 @@ include (cmake/find_contrib_lib.cmake)
find_contrib_lib(cityhash)
find_contrib_lib(farmhash)
find_contrib_lib(metrohash)
find_contrib_lib(murmurhash2)
find_contrib_lib(btrie)
find_contrib_lib(double-conversion)

Expand Down
4 changes: 4 additions & 0 deletions contrib/CMakeLists.txt
Expand Up @@ -45,6 +45,10 @@ if (USE_INTERNAL_UNWIND_LIBRARY)
add_subdirectory (libunwind)
endif ()

if (USE_INTERNAL_MURMURHASH2_LIBRARY)
add_subdirectory (libmurmurhash2)
endif ()

if (USE_INTERNAL_ZLIB_LIBRARY)
add_subdirectory (${INTERNAL_ZLIB_NAME})
# todo: make pull to Dead2/zlib-ng and remove:
Expand Down
6 changes: 6 additions & 0 deletions contrib/libmurmurhash2/CMakeLists.txt
@@ -0,0 +1,6 @@
add_library(murmurhash2
src/murmurhash2.cpp
include/murmurhash2.h)

target_include_directories (murmurhash2 PUBLIC include)
target_include_directories (murmurhash2 PUBLIC src)
1 change: 1 addition & 0 deletions contrib/libmurmurhash2/LICENSE
@@ -0,0 +1 @@
MurmurHash2 was written by Austin Appleby, and is placed in the publicdomain. The author hereby disclaims copyright to this source code.
6 changes: 6 additions & 0 deletions contrib/libmurmurhash2/README
@@ -0,0 +1,6 @@
Original URL: https://github.com/aappleby/smhasher

version:
commit 61a0530f28277f2e850bfc39600ce61d02b518de
author aappleby@gmail.com
date 2016-01-09T06:07:17Z
35 changes: 35 additions & 0 deletions contrib/libmurmurhash2/include/murmurhash2.h
@@ -0,0 +1,35 @@
//-----------------------------------------------------------------------------
// MurmurHash2 was written by Austin Appleby, and is placed in the public
// domain. The author hereby disclaims copyright to this source code.

#ifndef _MURMURHASH2_H_
#define _MURMURHASH2_H_

//-----------------------------------------------------------------------------
// Platform-specific functions and macros

// Microsoft Visual Studio

#if defined(_MSC_VER) && (_MSC_VER < 1600)

typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
typedef unsigned __int64 uint64_t;

// Other compilers

#else // defined(_MSC_VER)

#include <stdint.h>

#endif // !defined(_MSC_VER)

uint32_t MurmurHash2 (const void * key, int len, uint32_t seed);
uint64_t MurmurHash64A (const void * key, int len, uint64_t seed);
uint64_t MurmurHash64B (const void * key, int len, uint64_t seed);
uint32_t MurmurHash2A (const void * key, int len, uint32_t seed);
uint32_t MurmurHashNeutral2 (const void * key, int len, uint32_t seed);
uint32_t MurmurHashAligned2 (const void * key, int len, uint32_t seed);

#endif // _MURMURHASH2_H_