Skip to content

Commit

Permalink
Merge pull request #2756 from CurtizJ/CLICKHOUSE-3785
Browse files Browse the repository at this point in the history
Clickhouse 3785 Add MurmurHash2
  • Loading branch information
alexey-milovidov committed Jul 30, 2018
2 parents 9e052b1 + b062262 commit be657c3
Show file tree
Hide file tree
Showing 12 changed files with 609 additions and 3 deletions.
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_

0 comments on commit be657c3

Please sign in to comment.