File: 0001_system-murmurhash

package info (click to toggle)
chuffed 0.13.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,508 kB
  • sloc: cpp: 42,407; makefile: 107
file content (92 lines) | stat: -rw-r--r-- 2,329 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,6 +38,7 @@
 set(CMAKE_CXX_STANDARD 11)
 
 find_package(Threads)
+find_package(PkgConfig REQUIRED)
 
 include_directories(${CMAKE_BINARY_DIR})
 include_directories(${CMAKE_SOURCE_DIR})
@@ -67,13 +68,7 @@
 
 # ------------- Murmur Hash 3 -------------
 
-add_library(thirdparty_murmur OBJECT
-  thirdparty/MurmurHash3/MurmurHash3.cpp
-  thirdparty/MurmurHash3/MurmurHash3.h
-)
-set_target_properties(thirdparty_murmur PROPERTIES
-  CXX_CLANG_TIDY ""
-)
+pkg_check_modules(MURMURHASH3 REQUIRED libmurmurhash)
 
 # ------------- Main Chuffed Definition -------------
 
@@ -190,7 +185,6 @@
   ${VAR_IMPACT_SOURCES}
 
   $<TARGET_OBJECTS:thirdparty_cp_profiler>
-  $<TARGET_OBJECTS:thirdparty_murmur>
 )
 
 if(CP_PROFILER)
@@ -256,7 +250,7 @@
 )
 
 add_executable(fzn-chuffed chuffed/flatzinc/fzn-chuffed.cpp)
-target_link_libraries(fzn-chuffed chuffed_fzn chuffed ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(fzn-chuffed chuffed_fzn chuffed ${CMAKE_THREAD_LIBS_INIT} ${MURMURHASH3_LIBRARIES})
 
 # ------------- Chuffed Examples -------------
 
--- a/chuffed/mdd/circutil.h
+++ b/chuffed/mdd/circutil.h
@@ -37,7 +37,7 @@
 	struct hash {
 		unsigned int operator()(const S& s) const {
 			uint32_t ret;
-			MurmurHash3_x86_32(&s, sizeof(S), SEED, &ret);
+			lmmh_x86_32(&s, sizeof(S), SEED, &ret);
 			return ret;
 		}
 	};
--- a/chuffed/mdd/opcache.cpp
+++ b/chuffed/mdd/opcache.cpp
@@ -3,7 +3,7 @@
 #include <climits>
 #include <cstdlib>
 
-#include <thirdparty/MurmurHash3/MurmurHash3.h>
+#include <murmurhash.h>
 
 #define USE_MURMURHASH
 
@@ -39,7 +39,7 @@
 #else
 	uint32_t ret;
 	cache_sig sig = {(unsigned int)op, a, b};
-	MurmurHash3_x86_32(&sig, sizeof(cache_sig), 5381, &ret);
+	lmmh_x86_32(&sig, sizeof(cache_sig), 5381, &ret);
 	return ret % tablesz;
 #endif
 }
--- a/chuffed/mdd/weighted_dfa.cpp
+++ b/chuffed/mdd/weighted_dfa.cpp
@@ -3,7 +3,7 @@
 #include <algorithm>
 #include <cstring>
 
-#include <thirdparty/MurmurHash3/MurmurHash3.h>
+#include <murmurhash.h>
 
 #define OPCACHE_SZ 100000
 
@@ -230,6 +230,6 @@
 	hash = ((hash << 5) + hash) + a1->var;
 	hash = ((hash << 5) + hash) + a1->sz;
 	uint32_t ret;
-	MurmurHash3_x86_32(&(a1->edges), sizeof(EInfo) * a1->sz, hash, &ret);
+	lmmh_x86_32(&(a1->edges), sizeof(EInfo) * a1->sz, hash, &ret);
 	return ret;
 }