datasketches 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/ext/datasketches/cpc_wrapper.cpp +12 -13
- data/ext/datasketches/ext.cpp +1 -1
- data/ext/datasketches/ext.h +4 -0
- data/ext/datasketches/extconf.rb +1 -1
- data/ext/datasketches/fi_wrapper.cpp +6 -8
- data/ext/datasketches/hll_wrapper.cpp +13 -14
- data/ext/datasketches/kll_wrapper.cpp +28 -76
- data/ext/datasketches/theta_wrapper.cpp +27 -41
- data/ext/datasketches/vo_wrapper.cpp +4 -6
- data/lib/datasketches/version.rb +1 -1
- data/vendor/datasketches-cpp/CMakeLists.txt +1 -0
- data/vendor/datasketches-cpp/README.md +4 -4
- data/vendor/datasketches-cpp/common/include/MurmurHash3.h +7 -0
- data/vendor/datasketches-cpp/common/include/memory_operations.hpp +12 -0
- data/vendor/datasketches-cpp/common/test/CMakeLists.txt +24 -0
- data/vendor/datasketches-cpp/common/test/integration_test.cpp +77 -0
- data/vendor/datasketches-cpp/common/test/test_allocator.hpp +9 -1
- data/vendor/datasketches-cpp/cpc/include/cpc_common.hpp +3 -0
- data/vendor/datasketches-cpp/cpc/include/cpc_compressor.hpp +2 -2
- data/vendor/datasketches-cpp/cpc/include/cpc_compressor_impl.hpp +28 -19
- data/vendor/datasketches-cpp/cpc/include/cpc_sketch.hpp +8 -5
- data/vendor/datasketches-cpp/cpc/include/cpc_sketch_impl.hpp +19 -14
- data/vendor/datasketches-cpp/cpc/include/cpc_union.hpp +2 -2
- data/vendor/datasketches-cpp/cpc/include/cpc_union_impl.hpp +6 -6
- data/vendor/datasketches-cpp/cpc/include/cpc_util.hpp +0 -6
- data/vendor/datasketches-cpp/cpc/include/icon_estimator.hpp +3 -3
- data/vendor/datasketches-cpp/cpc/include/u32_table.hpp +3 -3
- data/vendor/datasketches-cpp/cpc/include/u32_table_impl.hpp +9 -9
- data/vendor/datasketches-cpp/cpc/test/CMakeLists.txt +1 -0
- data/vendor/datasketches-cpp/cpc/test/cpc_sketch_allocation_test.cpp +237 -0
- data/vendor/datasketches-cpp/fi/include/frequent_items_sketch.hpp +15 -10
- data/vendor/datasketches-cpp/fi/include/frequent_items_sketch_impl.hpp +40 -28
- data/vendor/datasketches-cpp/fi/include/reverse_purge_hash_map.hpp +19 -13
- data/vendor/datasketches-cpp/fi/include/reverse_purge_hash_map_impl.hpp +140 -124
- data/vendor/datasketches-cpp/fi/test/frequent_items_sketch_custom_type_test.cpp +15 -12
- data/vendor/datasketches-cpp/fi/test/reverse_purge_hash_map_test.cpp +3 -3
- data/vendor/datasketches-cpp/hll/CMakeLists.txt +3 -0
- data/vendor/datasketches-cpp/hll/include/AuxHashMap-internal.hpp +32 -57
- data/vendor/datasketches-cpp/hll/include/AuxHashMap.hpp +9 -8
- data/vendor/datasketches-cpp/hll/include/CompositeInterpolationXTable.hpp +2 -2
- data/vendor/datasketches-cpp/hll/include/CouponHashSet-internal.hpp +34 -48
- data/vendor/datasketches-cpp/hll/include/CouponHashSet.hpp +10 -10
- data/vendor/datasketches-cpp/hll/include/CouponList-internal.hpp +45 -77
- data/vendor/datasketches-cpp/hll/include/CouponList.hpp +11 -12
- data/vendor/datasketches-cpp/hll/include/CubicInterpolation.hpp +2 -2
- data/vendor/datasketches-cpp/hll/include/HarmonicNumbers.hpp +2 -2
- data/vendor/datasketches-cpp/hll/include/Hll4Array-internal.hpp +15 -14
- data/vendor/datasketches-cpp/hll/include/Hll4Array.hpp +1 -1
- data/vendor/datasketches-cpp/hll/include/Hll6Array-internal.hpp +10 -21
- data/vendor/datasketches-cpp/hll/include/Hll6Array.hpp +2 -3
- data/vendor/datasketches-cpp/hll/include/Hll8Array-internal.hpp +10 -21
- data/vendor/datasketches-cpp/hll/include/Hll8Array.hpp +2 -3
- data/vendor/datasketches-cpp/hll/include/HllArray-internal.hpp +28 -55
- data/vendor/datasketches-cpp/hll/include/HllArray.hpp +8 -8
- data/vendor/datasketches-cpp/hll/include/HllSketch-internal.hpp +9 -11
- data/vendor/datasketches-cpp/hll/include/HllSketchImpl.hpp +2 -1
- data/vendor/datasketches-cpp/hll/include/HllSketchImplFactory.hpp +34 -31
- data/vendor/datasketches-cpp/hll/include/HllUnion-internal.hpp +3 -28
- data/vendor/datasketches-cpp/hll/include/HllUtil.hpp +1 -1
- data/vendor/datasketches-cpp/hll/include/RelativeErrorTables.hpp +1 -1
- data/vendor/datasketches-cpp/hll/include/hll.hpp +6 -34
- data/vendor/datasketches-cpp/hll/test/AuxHashMapTest.cpp +7 -7
- data/vendor/datasketches-cpp/hll/test/CouponHashSetTest.cpp +2 -2
- data/vendor/datasketches-cpp/hll/test/CouponListTest.cpp +3 -3
- data/vendor/datasketches-cpp/hll/test/HllArrayTest.cpp +2 -2
- data/vendor/datasketches-cpp/hll/test/HllSketchTest.cpp +46 -50
- data/vendor/datasketches-cpp/kll/include/kll_quantile_calculator.hpp +1 -1
- data/vendor/datasketches-cpp/kll/include/kll_quantile_calculator_impl.hpp +3 -3
- data/vendor/datasketches-cpp/kll/include/kll_sketch.hpp +10 -3
- data/vendor/datasketches-cpp/kll/include/kll_sketch_impl.hpp +93 -75
- data/vendor/datasketches-cpp/kll/test/kll_sketch_custom_type_test.cpp +11 -10
- data/vendor/datasketches-cpp/kll/test/kll_sketch_test.cpp +45 -42
- data/vendor/datasketches-cpp/python/CMakeLists.txt +2 -0
- data/vendor/datasketches-cpp/python/README.md +6 -3
- data/vendor/datasketches-cpp/python/src/datasketches.cpp +2 -0
- data/vendor/datasketches-cpp/python/src/hll_wrapper.cpp +0 -2
- data/vendor/datasketches-cpp/python/src/kll_wrapper.cpp +3 -1
- data/vendor/datasketches-cpp/python/src/req_wrapper.cpp +246 -0
- data/vendor/datasketches-cpp/python/src/theta_wrapper.cpp +36 -26
- data/vendor/datasketches-cpp/python/tests/hll_test.py +0 -1
- data/vendor/datasketches-cpp/python/tests/kll_test.py +3 -3
- data/vendor/datasketches-cpp/python/tests/req_test.py +126 -0
- data/vendor/datasketches-cpp/python/tests/theta_test.py +28 -3
- data/vendor/datasketches-cpp/req/CMakeLists.txt +60 -0
- data/vendor/datasketches-cpp/{tuple/include/theta_a_not_b_experimental_impl.hpp → req/include/req_common.hpp} +17 -8
- data/vendor/datasketches-cpp/req/include/req_compactor.hpp +137 -0
- data/vendor/datasketches-cpp/req/include/req_compactor_impl.hpp +501 -0
- data/vendor/datasketches-cpp/req/include/req_quantile_calculator.hpp +69 -0
- data/vendor/datasketches-cpp/req/include/req_quantile_calculator_impl.hpp +60 -0
- data/vendor/datasketches-cpp/req/include/req_sketch.hpp +395 -0
- data/vendor/datasketches-cpp/req/include/req_sketch_impl.hpp +810 -0
- data/vendor/datasketches-cpp/req/test/CMakeLists.txt +43 -0
- data/vendor/datasketches-cpp/req/test/req_float_empty_from_java.sk +0 -0
- data/vendor/datasketches-cpp/req/test/req_float_estimation_from_java.sk +0 -0
- data/vendor/datasketches-cpp/req/test/req_float_exact_from_java.sk +0 -0
- data/vendor/datasketches-cpp/req/test/req_float_raw_items_from_java.sk +0 -0
- data/vendor/datasketches-cpp/req/test/req_float_single_item_from_java.sk +0 -0
- data/vendor/datasketches-cpp/req/test/req_sketch_custom_type_test.cpp +128 -0
- data/vendor/datasketches-cpp/req/test/req_sketch_test.cpp +494 -0
- data/vendor/datasketches-cpp/sampling/include/var_opt_sketch.hpp +10 -9
- data/vendor/datasketches-cpp/sampling/include/var_opt_sketch_impl.hpp +82 -70
- data/vendor/datasketches-cpp/sampling/include/var_opt_union.hpp +5 -5
- data/vendor/datasketches-cpp/sampling/include/var_opt_union_impl.hpp +7 -7
- data/vendor/datasketches-cpp/sampling/test/CMakeLists.txt +1 -0
- data/vendor/datasketches-cpp/sampling/test/var_opt_allocation_test.cpp +96 -0
- data/vendor/datasketches-cpp/sampling/test/var_opt_union_test.cpp +0 -31
- data/vendor/datasketches-cpp/setup.py +5 -3
- data/vendor/datasketches-cpp/theta/CMakeLists.txt +30 -3
- data/vendor/datasketches-cpp/{tuple → theta}/include/bounds_on_ratios_in_sampled_sets.hpp +2 -1
- data/vendor/datasketches-cpp/{tuple → theta}/include/bounds_on_ratios_in_theta_sketched_sets.hpp +1 -1
- data/vendor/datasketches-cpp/theta/include/theta_a_not_b.hpp +12 -29
- data/vendor/datasketches-cpp/theta/include/theta_a_not_b_impl.hpp +5 -46
- data/vendor/datasketches-cpp/{tuple → theta}/include/theta_comparators.hpp +0 -0
- data/vendor/datasketches-cpp/{tuple → theta}/include/theta_constants.hpp +2 -0
- data/vendor/datasketches-cpp/{tuple → theta}/include/theta_helpers.hpp +0 -0
- data/vendor/datasketches-cpp/theta/include/theta_intersection.hpp +22 -29
- data/vendor/datasketches-cpp/{tuple → theta}/include/theta_intersection_base.hpp +0 -0
- data/vendor/datasketches-cpp/{tuple → theta}/include/theta_intersection_base_impl.hpp +0 -0
- data/vendor/datasketches-cpp/theta/include/theta_intersection_impl.hpp +8 -90
- data/vendor/datasketches-cpp/{tuple/test/theta_union_experimental_test.cpp → theta/include/theta_jaccard_similarity.hpp} +11 -18
- data/vendor/datasketches-cpp/{tuple/include/jaccard_similarity.hpp → theta/include/theta_jaccard_similarity_base.hpp} +6 -22
- data/vendor/datasketches-cpp/{tuple → theta}/include/theta_set_difference_base.hpp +0 -0
- data/vendor/datasketches-cpp/{tuple → theta}/include/theta_set_difference_base_impl.hpp +5 -0
- data/vendor/datasketches-cpp/theta/include/theta_sketch.hpp +132 -266
- data/vendor/datasketches-cpp/theta/include/theta_sketch_impl.hpp +200 -650
- data/vendor/datasketches-cpp/theta/include/theta_union.hpp +27 -60
- data/vendor/datasketches-cpp/{tuple → theta}/include/theta_union_base.hpp +1 -1
- data/vendor/datasketches-cpp/{tuple → theta}/include/theta_union_base_impl.hpp +5 -0
- data/vendor/datasketches-cpp/theta/include/theta_union_impl.hpp +13 -69
- data/vendor/datasketches-cpp/{tuple → theta}/include/theta_update_sketch_base.hpp +3 -19
- data/vendor/datasketches-cpp/{tuple → theta}/include/theta_update_sketch_base_impl.hpp +6 -1
- data/vendor/datasketches-cpp/theta/test/CMakeLists.txt +1 -0
- data/vendor/datasketches-cpp/{tuple → theta}/test/theta_jaccard_similarity_test.cpp +2 -3
- data/vendor/datasketches-cpp/theta/test/theta_sketch_test.cpp +37 -234
- data/vendor/datasketches-cpp/tuple/CMakeLists.txt +3 -35
- data/vendor/datasketches-cpp/tuple/include/tuple_jaccard_similarity.hpp +38 -0
- data/vendor/datasketches-cpp/tuple/include/tuple_sketch.hpp +28 -13
- data/vendor/datasketches-cpp/tuple/include/tuple_sketch_impl.hpp +6 -6
- data/vendor/datasketches-cpp/tuple/test/CMakeLists.txt +1 -6
- data/vendor/datasketches-cpp/tuple/test/tuple_a_not_b_test.cpp +1 -4
- data/vendor/datasketches-cpp/tuple/test/tuple_intersection_test.cpp +1 -4
- data/vendor/datasketches-cpp/tuple/test/tuple_jaccard_similarity_test.cpp +2 -1
- data/vendor/datasketches-cpp/tuple/test/tuple_sketch_allocation_test.cpp +2 -2
- data/vendor/datasketches-cpp/tuple/test/tuple_union_test.cpp +1 -4
- metadata +43 -34
- data/vendor/datasketches-cpp/tuple/include/theta_a_not_b_experimental.hpp +0 -53
- data/vendor/datasketches-cpp/tuple/include/theta_intersection_experimental.hpp +0 -78
- data/vendor/datasketches-cpp/tuple/include/theta_intersection_experimental_impl.hpp +0 -43
- data/vendor/datasketches-cpp/tuple/include/theta_sketch_experimental.hpp +0 -393
- data/vendor/datasketches-cpp/tuple/include/theta_sketch_experimental_impl.hpp +0 -481
- data/vendor/datasketches-cpp/tuple/include/theta_union_experimental.hpp +0 -88
- data/vendor/datasketches-cpp/tuple/include/theta_union_experimental_impl.hpp +0 -47
- data/vendor/datasketches-cpp/tuple/test/theta_a_not_b_experimental_test.cpp +0 -250
- data/vendor/datasketches-cpp/tuple/test/theta_compact_empty_from_java.sk +0 -0
- data/vendor/datasketches-cpp/tuple/test/theta_compact_estimation_from_java.sk +0 -0
- data/vendor/datasketches-cpp/tuple/test/theta_compact_single_item_from_java.sk +0 -0
- data/vendor/datasketches-cpp/tuple/test/theta_intersection_experimental_test.cpp +0 -224
- data/vendor/datasketches-cpp/tuple/test/theta_sketch_experimental_test.cpp +0 -247
|
@@ -29,7 +29,7 @@ target_include_directories(tuple
|
|
|
29
29
|
$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>
|
|
30
30
|
)
|
|
31
31
|
|
|
32
|
-
target_link_libraries(tuple INTERFACE common)
|
|
32
|
+
target_link_libraries(tuple INTERFACE common theta)
|
|
33
33
|
target_compile_features(tuple INTERFACE cxx_std_11)
|
|
34
34
|
|
|
35
35
|
set(tuple_HEADERS "")
|
|
@@ -37,23 +37,11 @@ list(APPEND tuple_HEADERS "include/tuple_sketch.hpp;include/tuple_sketch_impl.hp
|
|
|
37
37
|
list(APPEND tuple_HEADERS "include/tuple_union.hpp;include/tuple_union_impl.hpp")
|
|
38
38
|
list(APPEND tuple_HEADERS "include/tuple_intersection.hpp;include/tuple_intersection_impl.hpp")
|
|
39
39
|
list(APPEND tuple_HEADERS "include/tuple_a_not_b.hpp;include/tuple_a_not_b_impl.hpp")
|
|
40
|
+
list(APPEND tuple_HEADERS "include/tuple_jaccard_similarity.hpp")
|
|
40
41
|
list(APPEND tuple_HEADERS "include/array_of_doubles_sketch.hpp;include/array_of_doubles_sketch_impl.hpp")
|
|
41
42
|
list(APPEND tuple_HEADERS "include/array_of_doubles_union.hpp;include/array_of_doubles_union_impl.hpp")
|
|
42
43
|
list(APPEND tuple_HEADERS "include/array_of_doubles_intersection.hpp;include/array_of_doubles_intersection_impl.hpp")
|
|
43
44
|
list(APPEND tuple_HEADERS "include/array_of_doubles_a_not_b.hpp;include/array_of_doubles_a_not_b_impl.hpp")
|
|
44
|
-
list(APPEND tuple_HEADERS "include/theta_update_sketch_base.hpp;include/theta_update_sketch_base_impl.hpp")
|
|
45
|
-
list(APPEND tuple_HEADERS "include/theta_union_base.hpp;include/theta_union_base_impl.hpp")
|
|
46
|
-
list(APPEND tuple_HEADERS "include/theta_intersection_base.hpp;include/theta_intersection_base_impl.hpp")
|
|
47
|
-
list(APPEND tuple_HEADERS "include/theta_set_difference_base.hpp;include/theta_set_difference_base_impl.hpp")
|
|
48
|
-
list(APPEND tuple_HEADERS "include/theta_sketch_experimental.hpp;include/theta_sketch_experimental_impl.hpp")
|
|
49
|
-
list(APPEND tuple_HEADERS "include/theta_union_experimental.hpp;include/theta_union_experimental_impl.hpp")
|
|
50
|
-
list(APPEND tuple_HEADERS "include/theta_intersection_experimental.hpp;include/theta_intersection_experimental_impl.hpp")
|
|
51
|
-
list(APPEND tuple_HEADERS "include/theta_a_not_b_experimental.hpp;include/theta_a_not_b_experimental_impl.hpp")
|
|
52
|
-
list(APPEND tuple_HEADERS "include/bounds_on_ratios_in_sampled_sets.hpp")
|
|
53
|
-
list(APPEND tuple_HEADERS "include/bounds_on_ratios_in_theta_sketched_sets.hpp")
|
|
54
|
-
list(APPEND tuple_HEADERS "include/jaccard_similarity.hpp")
|
|
55
|
-
list(APPEND tuple_HEADERS "include/theta_comparators.hpp")
|
|
56
|
-
list(APPEND tuple_HEADERS "include/theta_cnstants.hpp")
|
|
57
45
|
|
|
58
46
|
install(TARGETS tuple
|
|
59
47
|
EXPORT ${PROJECT_NAME}
|
|
@@ -72,6 +60,7 @@ target_sources(tuple
|
|
|
72
60
|
${CMAKE_CURRENT_SOURCE_DIR}/include/tuple_intersection_impl.hpp
|
|
73
61
|
${CMAKE_CURRENT_SOURCE_DIR}/include/tuple_a_not_b.hpp
|
|
74
62
|
${CMAKE_CURRENT_SOURCE_DIR}/include/tuple_a_not_b_impl.hpp
|
|
63
|
+
${CMAKE_CURRENT_SOURCE_DIR}/include/tuple_jaccard_similarity.hpp
|
|
75
64
|
${CMAKE_CURRENT_SOURCE_DIR}/include/array_of_doubles_sketch.hpp
|
|
76
65
|
${CMAKE_CURRENT_SOURCE_DIR}/include/array_of_doubles_sketch_impl.hpp
|
|
77
66
|
${CMAKE_CURRENT_SOURCE_DIR}/include/array_of_doubles_union.hpp
|
|
@@ -80,25 +69,4 @@ target_sources(tuple
|
|
|
80
69
|
${CMAKE_CURRENT_SOURCE_DIR}/include/array_of_doubles_intersection_impl.hpp
|
|
81
70
|
${CMAKE_CURRENT_SOURCE_DIR}/include/array_of_doubles_a_not_b.hpp
|
|
82
71
|
${CMAKE_CURRENT_SOURCE_DIR}/include/array_of_doubles_a_not_b_impl.hpp
|
|
83
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_update_sketch_base.hpp
|
|
84
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_update_sketch_base_impl.hpp
|
|
85
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_union_base.hpp
|
|
86
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_union_base_impl.hpp
|
|
87
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_intersection_base.hpp
|
|
88
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_intersection_base_impl.hpp
|
|
89
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_set_difference_base.hpp
|
|
90
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_set_difference_base_impl.hpp
|
|
91
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_sketch_experimental.hpp
|
|
92
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_sketch_experimental_impl.hpp
|
|
93
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_union_experimental.hpp
|
|
94
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_union_experimental_impl.hpp
|
|
95
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_intersection_experimental.hpp
|
|
96
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_intersection_experimental_impl.hpp
|
|
97
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_a_not_b_experimental.hpp
|
|
98
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_a_not_b_experimental_impl.hpp
|
|
99
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/bounds_on_ratios_in_sampled_sets.hpp
|
|
100
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/bounds_on_ratios_in_theta_sketched_sets.hpp
|
|
101
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/jaccard_similarity.hpp
|
|
102
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_comparators.hpp
|
|
103
|
-
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_constants.hpp
|
|
104
72
|
)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
+
* or more contributor license agreements. See the NOTICE file
|
|
4
|
+
* distributed with this work for additional information
|
|
5
|
+
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
+
* to you under the Apache License, Version 2.0 (the
|
|
7
|
+
* "License"); you may not use this file except in compliance
|
|
8
|
+
* with the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing,
|
|
13
|
+
* software distributed under the License is distributed on an
|
|
14
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
+
* KIND, either express or implied. See the License for the
|
|
16
|
+
* specific language governing permissions and limitations
|
|
17
|
+
* under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
#ifndef TUPLE_JACCARD_SIMILARITY_HPP_
|
|
21
|
+
#define TUPLE_JACCARD_SIMILARITY_HPP_
|
|
22
|
+
|
|
23
|
+
#include "theta_jaccard_similarity_base.hpp"
|
|
24
|
+
#include "tuple_union.hpp"
|
|
25
|
+
#include "tuple_intersection.hpp"
|
|
26
|
+
|
|
27
|
+
namespace datasketches {
|
|
28
|
+
|
|
29
|
+
template<
|
|
30
|
+
typename Summary,
|
|
31
|
+
typename IntersectionPolicy,
|
|
32
|
+
typename UnionPolicy = default_union_policy<Summary>,
|
|
33
|
+
typename Allocator = std::allocator<Summary>>
|
|
34
|
+
using tuple_jaccard_similarity = jaccard_similarity_base<tuple_union<Summary, UnionPolicy, Allocator>, tuple_intersection<Summary, IntersectionPolicy, Allocator>, pair_extract_key<uint64_t, Summary>>;
|
|
35
|
+
|
|
36
|
+
} /* namespace datasketches */
|
|
37
|
+
|
|
38
|
+
# endif
|
|
@@ -31,7 +31,17 @@ namespace datasketches {
|
|
|
31
31
|
template<typename S, typename A> class tuple_sketch;
|
|
32
32
|
template<typename S, typename U, typename P, typename A> class update_tuple_sketch;
|
|
33
33
|
template<typename S, typename A> class compact_tuple_sketch;
|
|
34
|
-
template<typename A> class
|
|
34
|
+
template<typename A> class theta_sketch_alloc;
|
|
35
|
+
|
|
36
|
+
template<typename K, typename V>
|
|
37
|
+
struct pair_extract_key {
|
|
38
|
+
K& operator()(std::pair<K, V>& entry) const {
|
|
39
|
+
return entry.first;
|
|
40
|
+
}
|
|
41
|
+
const K& operator()(const std::pair<K, V>& entry) const {
|
|
42
|
+
return entry.first;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
35
45
|
|
|
36
46
|
template<
|
|
37
47
|
typename Summary,
|
|
@@ -143,7 +153,8 @@ public:
|
|
|
143
153
|
virtual const_iterator end() const = 0;
|
|
144
154
|
|
|
145
155
|
protected:
|
|
146
|
-
|
|
156
|
+
using ostrstream = std::basic_ostringstream<char, std::char_traits<char>, AllocChar<Allocator>>;
|
|
157
|
+
virtual void print_specifics(ostrstream& os) const = 0;
|
|
147
158
|
|
|
148
159
|
static uint16_t get_seed_hash(uint64_t seed);
|
|
149
160
|
|
|
@@ -333,7 +344,8 @@ protected:
|
|
|
333
344
|
// for builder
|
|
334
345
|
update_tuple_sketch(uint8_t lg_cur_size, uint8_t lg_nom_size, resize_factor rf, uint64_t theta, uint64_t seed, const Policy& policy, const Allocator& allocator);
|
|
335
346
|
|
|
336
|
-
|
|
347
|
+
using ostrstream = typename Base::ostrstream;
|
|
348
|
+
virtual void print_specifics(ostrstream& os) const;
|
|
337
349
|
};
|
|
338
350
|
|
|
339
351
|
// compact sketch
|
|
@@ -372,7 +384,7 @@ public:
|
|
|
372
384
|
compact_tuple_sketch& operator=(const compact_tuple_sketch&) = default;
|
|
373
385
|
compact_tuple_sketch& operator=(compact_tuple_sketch&&) = default;
|
|
374
386
|
|
|
375
|
-
compact_tuple_sketch(const
|
|
387
|
+
compact_tuple_sketch(const theta_sketch_alloc<AllocU64>& other, const Summary& summary, bool ordered = true);
|
|
376
388
|
|
|
377
389
|
virtual Allocator get_allocator() const;
|
|
378
390
|
virtual bool is_empty() const;
|
|
@@ -444,22 +456,25 @@ protected:
|
|
|
444
456
|
// for deserialize
|
|
445
457
|
class deleter_of_summaries {
|
|
446
458
|
public:
|
|
447
|
-
deleter_of_summaries(uint32_t num, bool destroy
|
|
448
|
-
|
|
449
|
-
void
|
|
459
|
+
deleter_of_summaries(uint32_t num, bool destroy, const Allocator& allocator):
|
|
460
|
+
allocator_(allocator), num_(num), destroy_(destroy) {}
|
|
461
|
+
void set_destroy(bool destroy) { destroy_ = destroy; }
|
|
462
|
+
void operator() (Summary* ptr) {
|
|
450
463
|
if (ptr != nullptr) {
|
|
451
|
-
if (
|
|
452
|
-
for (uint32_t i = 0; i <
|
|
464
|
+
if (destroy_) {
|
|
465
|
+
for (uint32_t i = 0; i < num_; ++i) ptr[i].~Summary();
|
|
453
466
|
}
|
|
454
|
-
|
|
467
|
+
allocator_.deallocate(ptr, num_);
|
|
455
468
|
}
|
|
456
469
|
}
|
|
457
470
|
private:
|
|
458
|
-
|
|
459
|
-
|
|
471
|
+
Allocator allocator_;
|
|
472
|
+
uint32_t num_;
|
|
473
|
+
bool destroy_;
|
|
460
474
|
};
|
|
461
475
|
|
|
462
|
-
|
|
476
|
+
using ostrstream = typename Base::ostrstream;
|
|
477
|
+
virtual void print_specifics(ostrstream& os) const;
|
|
463
478
|
|
|
464
479
|
};
|
|
465
480
|
|
|
@@ -53,7 +53,7 @@ double tuple_sketch<S, A>::get_upper_bound(uint8_t num_std_devs) const {
|
|
|
53
53
|
|
|
54
54
|
template<typename S, typename A>
|
|
55
55
|
string<A> tuple_sketch<S, A>::to_string(bool detail) const {
|
|
56
|
-
|
|
56
|
+
ostrstream os;
|
|
57
57
|
os << "### Tuple sketch summary:" << std::endl;
|
|
58
58
|
os << " num retained entries : " << get_num_retained() << std::endl;
|
|
59
59
|
os << " seed hash : " << get_seed_hash() << std::endl;
|
|
@@ -238,7 +238,7 @@ compact_tuple_sketch<S, A> update_tuple_sketch<S, U, P, A>::compact(bool ordered
|
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
template<typename S, typename U, typename P, typename A>
|
|
241
|
-
void update_tuple_sketch<S, U, P, A>::print_specifics(
|
|
241
|
+
void update_tuple_sketch<S, U, P, A>::print_specifics(ostrstream& os) const {
|
|
242
242
|
os << " lg nominal size : " << (int) map_.lg_nom_size_ << std::endl;
|
|
243
243
|
os << " lg current size : " << (int) map_.lg_cur_size_ << std::endl;
|
|
244
244
|
os << " resize factor : " << (1 << map_.rf_) << std::endl;
|
|
@@ -279,7 +279,7 @@ entries_(std::move(other.entries_))
|
|
|
279
279
|
{}
|
|
280
280
|
|
|
281
281
|
template<typename S, typename A>
|
|
282
|
-
compact_tuple_sketch<S, A>::compact_tuple_sketch(const
|
|
282
|
+
compact_tuple_sketch<S, A>::compact_tuple_sketch(const theta_sketch_alloc<AllocU64>& other, const S& summary, bool ordered):
|
|
283
283
|
is_empty_(other.is_empty()),
|
|
284
284
|
is_ordered_(other.is_ordered() || ordered),
|
|
285
285
|
seed_hash_(other.get_seed_hash()),
|
|
@@ -470,7 +470,7 @@ compact_tuple_sketch<S, A> compact_tuple_sketch<S, A>::deserialize(std::istream&
|
|
|
470
470
|
std::vector<Entry, AllocEntry> entries(alloc);
|
|
471
471
|
if (!is_empty) {
|
|
472
472
|
entries.reserve(num_entries);
|
|
473
|
-
std::unique_ptr<S, deleter_of_summaries> summary(alloc.allocate(1), deleter_of_summaries(1, false));
|
|
473
|
+
std::unique_ptr<S, deleter_of_summaries> summary(alloc.allocate(1), deleter_of_summaries(1, false, allocator));
|
|
474
474
|
for (size_t i = 0; i < num_entries; ++i) {
|
|
475
475
|
uint64_t key;
|
|
476
476
|
is.read(reinterpret_cast<char*>(&key), sizeof(uint64_t));
|
|
@@ -533,7 +533,7 @@ compact_tuple_sketch<S, A> compact_tuple_sketch<S, A>::deserialize(const void* b
|
|
|
533
533
|
std::vector<Entry, AllocEntry> entries(alloc);
|
|
534
534
|
if (!is_empty) {
|
|
535
535
|
entries.reserve(num_entries);
|
|
536
|
-
std::unique_ptr<S, deleter_of_summaries> summary(alloc.allocate(1), deleter_of_summaries(1, false));
|
|
536
|
+
std::unique_ptr<S, deleter_of_summaries> summary(alloc.allocate(1), deleter_of_summaries(1, false, allocator));
|
|
537
537
|
for (size_t i = 0; i < num_entries; ++i) {
|
|
538
538
|
uint64_t key;
|
|
539
539
|
ptr += copy_from_mem(ptr, &key, sizeof(key));
|
|
@@ -567,7 +567,7 @@ auto compact_tuple_sketch<S, A>::end() const -> const_iterator {
|
|
|
567
567
|
}
|
|
568
568
|
|
|
569
569
|
template<typename S, typename A>
|
|
570
|
-
void compact_tuple_sketch<S, A>::print_specifics(
|
|
570
|
+
void compact_tuple_sketch<S, A>::print_specifics(ostrstream&) const {}
|
|
571
571
|
|
|
572
572
|
// builder
|
|
573
573
|
|
|
@@ -43,11 +43,6 @@ target_sources(tuple_test
|
|
|
43
43
|
tuple_union_test.cpp
|
|
44
44
|
tuple_intersection_test.cpp
|
|
45
45
|
tuple_a_not_b_test.cpp
|
|
46
|
-
array_of_doubles_sketch_test.cpp
|
|
47
|
-
theta_sketch_experimental_test.cpp
|
|
48
|
-
theta_union_experimental_test.cpp
|
|
49
|
-
theta_intersection_experimental_test.cpp
|
|
50
|
-
theta_a_not_b_experimental_test.cpp
|
|
51
|
-
theta_jaccard_similarity_test.cpp
|
|
52
46
|
tuple_jaccard_similarity_test.cpp
|
|
47
|
+
array_of_doubles_sketch_test.cpp
|
|
53
48
|
)
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
#include <catch.hpp>
|
|
23
23
|
#include <tuple_a_not_b.hpp>
|
|
24
|
-
#include <
|
|
24
|
+
#include <theta_sketch.hpp>
|
|
25
25
|
|
|
26
26
|
namespace datasketches {
|
|
27
27
|
|
|
@@ -102,9 +102,6 @@ TEST_CASE("tuple a-not-b: exact mode half overlap", "[tuple_a_not_b]") {
|
|
|
102
102
|
REQUIRE(result.get_estimate() == 500.0);
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
// needed until promotion of experimental to replace existing theta sketch
|
|
106
|
-
using update_theta_sketch = update_theta_sketch_experimental<>;
|
|
107
|
-
|
|
108
105
|
TEST_CASE("mixed a-not-b: exact mode half overlap", "[tuple_a_not_b]") {
|
|
109
106
|
auto a = update_tuple_sketch<float>::builder().build();
|
|
110
107
|
int value = 0;
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
#include <catch.hpp>
|
|
23
23
|
#include <tuple_intersection.hpp>
|
|
24
|
-
#include <
|
|
24
|
+
#include <theta_sketch.hpp>
|
|
25
25
|
|
|
26
26
|
namespace datasketches {
|
|
27
27
|
|
|
@@ -136,9 +136,6 @@ TEST_CASE("tuple intersection: exact mode disjoint", "[tuple_intersection]") {
|
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
// needed until promotion of experimental to replace existing theta sketch
|
|
140
|
-
using update_theta_sketch = update_theta_sketch_experimental<>;
|
|
141
|
-
|
|
142
139
|
TEST_CASE("mixed intersection: exact mode half overlap", "[tuple_intersection]") {
|
|
143
140
|
auto sketch1 = update_tuple_sketch<float>::builder().build();
|
|
144
141
|
int value = 0;
|
|
@@ -51,7 +51,7 @@ TEST_CASE("tuple sketch with test allocator: estimation mode", "[tuple_sketch]")
|
|
|
51
51
|
test_allocator_total_bytes = 0;
|
|
52
52
|
test_allocator_net_allocations = 0;
|
|
53
53
|
{
|
|
54
|
-
auto update_sketch = update_tuple_sketch_test::builder().build();
|
|
54
|
+
auto update_sketch = update_tuple_sketch_test::builder(test_type_replace_policy(), test_allocator<test_type>(0)).build();
|
|
55
55
|
for (int i = 0; i < 10000; ++i) update_sketch.update(i, 1);
|
|
56
56
|
for (int i = 0; i < 10000; ++i) update_sketch.update(i, 2);
|
|
57
57
|
REQUIRE(!update_sketch.is_empty());
|
|
@@ -77,7 +77,7 @@ TEST_CASE("tuple sketch with test allocator: estimation mode", "[tuple_sketch]")
|
|
|
77
77
|
REQUIRE(count == update_sketch.get_num_retained());
|
|
78
78
|
|
|
79
79
|
auto bytes = compact_sketch.serialize(0, test_type_serde());
|
|
80
|
-
auto deserialized_sketch = compact_tuple_sketch_test::deserialize(bytes.data(), bytes.size(), DEFAULT_SEED, test_type_serde());
|
|
80
|
+
auto deserialized_sketch = compact_tuple_sketch_test::deserialize(bytes.data(), bytes.size(), DEFAULT_SEED, test_type_serde(), test_allocator<test_type>(0));
|
|
81
81
|
REQUIRE(deserialized_sketch.get_estimate() == compact_sketch.get_estimate());
|
|
82
82
|
|
|
83
83
|
// update sketch copy
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
#include <catch.hpp>
|
|
23
23
|
#include <tuple_union.hpp>
|
|
24
|
-
#include <
|
|
24
|
+
#include <theta_sketch.hpp>
|
|
25
25
|
|
|
26
26
|
namespace datasketches {
|
|
27
27
|
|
|
@@ -37,9 +37,6 @@ TEST_CASE("tuple_union float: empty", "[tuple union]") {
|
|
|
37
37
|
REQUIRE(result.get_estimate() == 0);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
// needed until promotion of experimental to replace existing theta sketch
|
|
41
|
-
using update_theta_sketch = update_theta_sketch_experimental<>;
|
|
42
|
-
|
|
43
40
|
TEST_CASE("tupe_union float: empty theta sketch", "[tuple union]") {
|
|
44
41
|
auto update_sketch = update_theta_sketch::builder().build();
|
|
45
42
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: datasketches
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Kane
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-05-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rice
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 4.0.2
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 4.0.2
|
|
27
27
|
description:
|
|
28
28
|
email: andrew@chartkick.com
|
|
29
29
|
executables: []
|
|
@@ -37,6 +37,7 @@ files:
|
|
|
37
37
|
- README.md
|
|
38
38
|
- ext/datasketches/cpc_wrapper.cpp
|
|
39
39
|
- ext/datasketches/ext.cpp
|
|
40
|
+
- ext/datasketches/ext.h
|
|
40
41
|
- ext/datasketches/extconf.rb
|
|
41
42
|
- ext/datasketches/fi_wrapper.cpp
|
|
42
43
|
- ext/datasketches/hll_wrapper.cpp
|
|
@@ -65,6 +66,7 @@ files:
|
|
|
65
66
|
- vendor/datasketches-cpp/common/test/CMakeLists.txt
|
|
66
67
|
- vendor/datasketches-cpp/common/test/catch.hpp
|
|
67
68
|
- vendor/datasketches-cpp/common/test/catch_runner.cpp
|
|
69
|
+
- vendor/datasketches-cpp/common/test/integration_test.cpp
|
|
68
70
|
- vendor/datasketches-cpp/common/test/test_allocator.cpp
|
|
69
71
|
- vendor/datasketches-cpp/common/test/test_allocator.hpp
|
|
70
72
|
- vendor/datasketches-cpp/common/test/test_runner.cpp
|
|
@@ -86,6 +88,7 @@ files:
|
|
|
86
88
|
- vendor/datasketches-cpp/cpc/include/u32_table_impl.hpp
|
|
87
89
|
- vendor/datasketches-cpp/cpc/test/CMakeLists.txt
|
|
88
90
|
- vendor/datasketches-cpp/cpc/test/compression_test.cpp
|
|
91
|
+
- vendor/datasketches-cpp/cpc/test/cpc_sketch_allocation_test.cpp
|
|
89
92
|
- vendor/datasketches-cpp/cpc/test/cpc_sketch_test.cpp
|
|
90
93
|
- vendor/datasketches-cpp/cpc/test/cpc_union_test.cpp
|
|
91
94
|
- vendor/datasketches-cpp/fi/CMakeLists.txt
|
|
@@ -177,6 +180,7 @@ files:
|
|
|
177
180
|
- vendor/datasketches-cpp/python/src/fi_wrapper.cpp
|
|
178
181
|
- vendor/datasketches-cpp/python/src/hll_wrapper.cpp
|
|
179
182
|
- vendor/datasketches-cpp/python/src/kll_wrapper.cpp
|
|
183
|
+
- vendor/datasketches-cpp/python/src/req_wrapper.cpp
|
|
180
184
|
- vendor/datasketches-cpp/python/src/theta_wrapper.cpp
|
|
181
185
|
- vendor/datasketches-cpp/python/src/vector_of_kll.cpp
|
|
182
186
|
- vendor/datasketches-cpp/python/src/vo_wrapper.cpp
|
|
@@ -185,9 +189,26 @@ files:
|
|
|
185
189
|
- vendor/datasketches-cpp/python/tests/fi_test.py
|
|
186
190
|
- vendor/datasketches-cpp/python/tests/hll_test.py
|
|
187
191
|
- vendor/datasketches-cpp/python/tests/kll_test.py
|
|
192
|
+
- vendor/datasketches-cpp/python/tests/req_test.py
|
|
188
193
|
- vendor/datasketches-cpp/python/tests/theta_test.py
|
|
189
194
|
- vendor/datasketches-cpp/python/tests/vector_of_kll_test.py
|
|
190
195
|
- vendor/datasketches-cpp/python/tests/vo_test.py
|
|
196
|
+
- vendor/datasketches-cpp/req/CMakeLists.txt
|
|
197
|
+
- vendor/datasketches-cpp/req/include/req_common.hpp
|
|
198
|
+
- vendor/datasketches-cpp/req/include/req_compactor.hpp
|
|
199
|
+
- vendor/datasketches-cpp/req/include/req_compactor_impl.hpp
|
|
200
|
+
- vendor/datasketches-cpp/req/include/req_quantile_calculator.hpp
|
|
201
|
+
- vendor/datasketches-cpp/req/include/req_quantile_calculator_impl.hpp
|
|
202
|
+
- vendor/datasketches-cpp/req/include/req_sketch.hpp
|
|
203
|
+
- vendor/datasketches-cpp/req/include/req_sketch_impl.hpp
|
|
204
|
+
- vendor/datasketches-cpp/req/test/CMakeLists.txt
|
|
205
|
+
- vendor/datasketches-cpp/req/test/req_float_empty_from_java.sk
|
|
206
|
+
- vendor/datasketches-cpp/req/test/req_float_estimation_from_java.sk
|
|
207
|
+
- vendor/datasketches-cpp/req/test/req_float_exact_from_java.sk
|
|
208
|
+
- vendor/datasketches-cpp/req/test/req_float_raw_items_from_java.sk
|
|
209
|
+
- vendor/datasketches-cpp/req/test/req_float_single_item_from_java.sk
|
|
210
|
+
- vendor/datasketches-cpp/req/test/req_sketch_custom_type_test.cpp
|
|
211
|
+
- vendor/datasketches-cpp/req/test/req_sketch_test.cpp
|
|
191
212
|
- vendor/datasketches-cpp/sampling/CMakeLists.txt
|
|
192
213
|
- vendor/datasketches-cpp/sampling/include/var_opt_sketch.hpp
|
|
193
214
|
- vendor/datasketches-cpp/sampling/include/var_opt_sketch_impl.hpp
|
|
@@ -195,6 +216,7 @@ files:
|
|
|
195
216
|
- vendor/datasketches-cpp/sampling/include/var_opt_union_impl.hpp
|
|
196
217
|
- vendor/datasketches-cpp/sampling/test/CMakeLists.txt
|
|
197
218
|
- vendor/datasketches-cpp/sampling/test/binaries_from_java.txt
|
|
219
|
+
- vendor/datasketches-cpp/sampling/test/var_opt_allocation_test.cpp
|
|
198
220
|
- vendor/datasketches-cpp/sampling/test/var_opt_sketch_test.cpp
|
|
199
221
|
- vendor/datasketches-cpp/sampling/test/var_opt_union_test.cpp
|
|
200
222
|
- vendor/datasketches-cpp/sampling/test/varopt_sketch_long_sampling.sk
|
|
@@ -202,20 +224,36 @@ files:
|
|
|
202
224
|
- vendor/datasketches-cpp/sampling/test/varopt_union_double_sampling.sk
|
|
203
225
|
- vendor/datasketches-cpp/setup.py
|
|
204
226
|
- vendor/datasketches-cpp/theta/CMakeLists.txt
|
|
227
|
+
- vendor/datasketches-cpp/theta/include/bounds_on_ratios_in_sampled_sets.hpp
|
|
228
|
+
- vendor/datasketches-cpp/theta/include/bounds_on_ratios_in_theta_sketched_sets.hpp
|
|
205
229
|
- vendor/datasketches-cpp/theta/include/theta_a_not_b.hpp
|
|
206
230
|
- vendor/datasketches-cpp/theta/include/theta_a_not_b_impl.hpp
|
|
231
|
+
- vendor/datasketches-cpp/theta/include/theta_comparators.hpp
|
|
232
|
+
- vendor/datasketches-cpp/theta/include/theta_constants.hpp
|
|
233
|
+
- vendor/datasketches-cpp/theta/include/theta_helpers.hpp
|
|
207
234
|
- vendor/datasketches-cpp/theta/include/theta_intersection.hpp
|
|
235
|
+
- vendor/datasketches-cpp/theta/include/theta_intersection_base.hpp
|
|
236
|
+
- vendor/datasketches-cpp/theta/include/theta_intersection_base_impl.hpp
|
|
208
237
|
- vendor/datasketches-cpp/theta/include/theta_intersection_impl.hpp
|
|
238
|
+
- vendor/datasketches-cpp/theta/include/theta_jaccard_similarity.hpp
|
|
239
|
+
- vendor/datasketches-cpp/theta/include/theta_jaccard_similarity_base.hpp
|
|
240
|
+
- vendor/datasketches-cpp/theta/include/theta_set_difference_base.hpp
|
|
241
|
+
- vendor/datasketches-cpp/theta/include/theta_set_difference_base_impl.hpp
|
|
209
242
|
- vendor/datasketches-cpp/theta/include/theta_sketch.hpp
|
|
210
243
|
- vendor/datasketches-cpp/theta/include/theta_sketch_impl.hpp
|
|
211
244
|
- vendor/datasketches-cpp/theta/include/theta_union.hpp
|
|
245
|
+
- vendor/datasketches-cpp/theta/include/theta_union_base.hpp
|
|
246
|
+
- vendor/datasketches-cpp/theta/include/theta_union_base_impl.hpp
|
|
212
247
|
- vendor/datasketches-cpp/theta/include/theta_union_impl.hpp
|
|
248
|
+
- vendor/datasketches-cpp/theta/include/theta_update_sketch_base.hpp
|
|
249
|
+
- vendor/datasketches-cpp/theta/include/theta_update_sketch_base_impl.hpp
|
|
213
250
|
- vendor/datasketches-cpp/theta/test/CMakeLists.txt
|
|
214
251
|
- vendor/datasketches-cpp/theta/test/theta_a_not_b_test.cpp
|
|
215
252
|
- vendor/datasketches-cpp/theta/test/theta_compact_empty_from_java.sk
|
|
216
253
|
- vendor/datasketches-cpp/theta/test/theta_compact_estimation_from_java.sk
|
|
217
254
|
- vendor/datasketches-cpp/theta/test/theta_compact_single_item_from_java.sk
|
|
218
255
|
- vendor/datasketches-cpp/theta/test/theta_intersection_test.cpp
|
|
256
|
+
- vendor/datasketches-cpp/theta/test/theta_jaccard_similarity_test.cpp
|
|
219
257
|
- vendor/datasketches-cpp/theta/test/theta_sketch_test.cpp
|
|
220
258
|
- vendor/datasketches-cpp/theta/test/theta_union_test.cpp
|
|
221
259
|
- vendor/datasketches-cpp/theta/test/theta_update_empty_from_java.sk
|
|
@@ -229,32 +267,11 @@ files:
|
|
|
229
267
|
- vendor/datasketches-cpp/tuple/include/array_of_doubles_sketch_impl.hpp
|
|
230
268
|
- vendor/datasketches-cpp/tuple/include/array_of_doubles_union.hpp
|
|
231
269
|
- vendor/datasketches-cpp/tuple/include/array_of_doubles_union_impl.hpp
|
|
232
|
-
- vendor/datasketches-cpp/tuple/include/bounds_on_ratios_in_sampled_sets.hpp
|
|
233
|
-
- vendor/datasketches-cpp/tuple/include/bounds_on_ratios_in_theta_sketched_sets.hpp
|
|
234
|
-
- vendor/datasketches-cpp/tuple/include/jaccard_similarity.hpp
|
|
235
|
-
- vendor/datasketches-cpp/tuple/include/theta_a_not_b_experimental.hpp
|
|
236
|
-
- vendor/datasketches-cpp/tuple/include/theta_a_not_b_experimental_impl.hpp
|
|
237
|
-
- vendor/datasketches-cpp/tuple/include/theta_comparators.hpp
|
|
238
|
-
- vendor/datasketches-cpp/tuple/include/theta_constants.hpp
|
|
239
|
-
- vendor/datasketches-cpp/tuple/include/theta_helpers.hpp
|
|
240
|
-
- vendor/datasketches-cpp/tuple/include/theta_intersection_base.hpp
|
|
241
|
-
- vendor/datasketches-cpp/tuple/include/theta_intersection_base_impl.hpp
|
|
242
|
-
- vendor/datasketches-cpp/tuple/include/theta_intersection_experimental.hpp
|
|
243
|
-
- vendor/datasketches-cpp/tuple/include/theta_intersection_experimental_impl.hpp
|
|
244
|
-
- vendor/datasketches-cpp/tuple/include/theta_set_difference_base.hpp
|
|
245
|
-
- vendor/datasketches-cpp/tuple/include/theta_set_difference_base_impl.hpp
|
|
246
|
-
- vendor/datasketches-cpp/tuple/include/theta_sketch_experimental.hpp
|
|
247
|
-
- vendor/datasketches-cpp/tuple/include/theta_sketch_experimental_impl.hpp
|
|
248
|
-
- vendor/datasketches-cpp/tuple/include/theta_union_base.hpp
|
|
249
|
-
- vendor/datasketches-cpp/tuple/include/theta_union_base_impl.hpp
|
|
250
|
-
- vendor/datasketches-cpp/tuple/include/theta_union_experimental.hpp
|
|
251
|
-
- vendor/datasketches-cpp/tuple/include/theta_union_experimental_impl.hpp
|
|
252
|
-
- vendor/datasketches-cpp/tuple/include/theta_update_sketch_base.hpp
|
|
253
|
-
- vendor/datasketches-cpp/tuple/include/theta_update_sketch_base_impl.hpp
|
|
254
270
|
- vendor/datasketches-cpp/tuple/include/tuple_a_not_b.hpp
|
|
255
271
|
- vendor/datasketches-cpp/tuple/include/tuple_a_not_b_impl.hpp
|
|
256
272
|
- vendor/datasketches-cpp/tuple/include/tuple_intersection.hpp
|
|
257
273
|
- vendor/datasketches-cpp/tuple/include/tuple_intersection_impl.hpp
|
|
274
|
+
- vendor/datasketches-cpp/tuple/include/tuple_jaccard_similarity.hpp
|
|
258
275
|
- vendor/datasketches-cpp/tuple/include/tuple_sketch.hpp
|
|
259
276
|
- vendor/datasketches-cpp/tuple/include/tuple_sketch_impl.hpp
|
|
260
277
|
- vendor/datasketches-cpp/tuple/include/tuple_union.hpp
|
|
@@ -266,14 +283,6 @@ files:
|
|
|
266
283
|
- vendor/datasketches-cpp/tuple/test/aod_2_compact_exact_from_java.sk
|
|
267
284
|
- vendor/datasketches-cpp/tuple/test/aod_3_compact_empty_from_java.sk
|
|
268
285
|
- vendor/datasketches-cpp/tuple/test/array_of_doubles_sketch_test.cpp
|
|
269
|
-
- vendor/datasketches-cpp/tuple/test/theta_a_not_b_experimental_test.cpp
|
|
270
|
-
- vendor/datasketches-cpp/tuple/test/theta_compact_empty_from_java.sk
|
|
271
|
-
- vendor/datasketches-cpp/tuple/test/theta_compact_estimation_from_java.sk
|
|
272
|
-
- vendor/datasketches-cpp/tuple/test/theta_compact_single_item_from_java.sk
|
|
273
|
-
- vendor/datasketches-cpp/tuple/test/theta_intersection_experimental_test.cpp
|
|
274
|
-
- vendor/datasketches-cpp/tuple/test/theta_jaccard_similarity_test.cpp
|
|
275
|
-
- vendor/datasketches-cpp/tuple/test/theta_sketch_experimental_test.cpp
|
|
276
|
-
- vendor/datasketches-cpp/tuple/test/theta_union_experimental_test.cpp
|
|
277
286
|
- vendor/datasketches-cpp/tuple/test/tuple_a_not_b_test.cpp
|
|
278
287
|
- vendor/datasketches-cpp/tuple/test/tuple_intersection_test.cpp
|
|
279
288
|
- vendor/datasketches-cpp/tuple/test/tuple_jaccard_similarity_test.cpp
|