datasketches 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|