datasketches 0.2.1 → 0.2.2

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.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/lib/datasketches/version.rb +1 -1
  4. data/vendor/datasketches-cpp/CMakeLists.txt +7 -0
  5. data/vendor/datasketches-cpp/common/include/MurmurHash3.h +11 -7
  6. data/vendor/datasketches-cpp/common/include/binomial_bounds.hpp +8 -8
  7. data/vendor/datasketches-cpp/common/include/bounds_binomial_proportions.hpp +12 -15
  8. data/vendor/datasketches-cpp/common/include/common_defs.hpp +24 -0
  9. data/vendor/datasketches-cpp/common/include/conditional_forward.hpp +20 -8
  10. data/vendor/datasketches-cpp/common/include/count_zeros.hpp +2 -2
  11. data/vendor/datasketches-cpp/common/include/serde.hpp +7 -7
  12. data/vendor/datasketches-cpp/cpc/include/cpc_compressor.hpp +19 -19
  13. data/vendor/datasketches-cpp/cpc/include/cpc_compressor_impl.hpp +91 -89
  14. data/vendor/datasketches-cpp/cpc/include/cpc_sketch.hpp +14 -1
  15. data/vendor/datasketches-cpp/cpc/include/cpc_sketch_impl.hpp +121 -87
  16. data/vendor/datasketches-cpp/cpc/include/cpc_union_impl.hpp +14 -14
  17. data/vendor/datasketches-cpp/cpc/include/cpc_util.hpp +10 -10
  18. data/vendor/datasketches-cpp/cpc/include/icon_estimator.hpp +4 -4
  19. data/vendor/datasketches-cpp/cpc/include/u32_table.hpp +8 -8
  20. data/vendor/datasketches-cpp/cpc/include/u32_table_impl.hpp +14 -14
  21. data/vendor/datasketches-cpp/cpc/test/compression_test.cpp +10 -10
  22. data/vendor/datasketches-cpp/cpc/test/cpc_sketch_test.cpp +25 -0
  23. data/vendor/datasketches-cpp/cpc/test/cpc_union_test.cpp +1 -1
  24. data/vendor/datasketches-cpp/fi/include/frequent_items_sketch_impl.hpp +65 -80
  25. data/vendor/datasketches-cpp/fi/include/reverse_purge_hash_map_impl.hpp +10 -10
  26. data/vendor/datasketches-cpp/fi/test/reverse_purge_hash_map_test.cpp +2 -2
  27. data/vendor/datasketches-cpp/hll/include/AuxHashMap-internal.hpp +60 -63
  28. data/vendor/datasketches-cpp/hll/include/AuxHashMap.hpp +19 -19
  29. data/vendor/datasketches-cpp/hll/include/CompositeInterpolationXTable-internal.hpp +15 -15
  30. data/vendor/datasketches-cpp/hll/include/CompositeInterpolationXTable.hpp +3 -3
  31. data/vendor/datasketches-cpp/hll/include/CouponHashSet-internal.hpp +74 -76
  32. data/vendor/datasketches-cpp/hll/include/CouponHashSet.hpp +6 -6
  33. data/vendor/datasketches-cpp/hll/include/CouponList-internal.hpp +110 -113
  34. data/vendor/datasketches-cpp/hll/include/CouponList.hpp +13 -13
  35. data/vendor/datasketches-cpp/hll/include/CubicInterpolation-internal.hpp +2 -4
  36. data/vendor/datasketches-cpp/hll/include/HarmonicNumbers-internal.hpp +1 -1
  37. data/vendor/datasketches-cpp/hll/include/Hll4Array-internal.hpp +80 -76
  38. data/vendor/datasketches-cpp/hll/include/Hll4Array.hpp +9 -9
  39. data/vendor/datasketches-cpp/hll/include/Hll6Array-internal.hpp +26 -26
  40. data/vendor/datasketches-cpp/hll/include/Hll6Array.hpp +6 -6
  41. data/vendor/datasketches-cpp/hll/include/Hll8Array-internal.hpp +33 -33
  42. data/vendor/datasketches-cpp/hll/include/Hll8Array.hpp +6 -6
  43. data/vendor/datasketches-cpp/hll/include/HllArray-internal.hpp +205 -209
  44. data/vendor/datasketches-cpp/hll/include/HllArray.hpp +36 -36
  45. data/vendor/datasketches-cpp/hll/include/HllSketch-internal.hpp +28 -28
  46. data/vendor/datasketches-cpp/hll/include/HllSketchImpl-internal.hpp +22 -22
  47. data/vendor/datasketches-cpp/hll/include/HllSketchImpl.hpp +13 -13
  48. data/vendor/datasketches-cpp/hll/include/HllSketchImplFactory.hpp +15 -15
  49. data/vendor/datasketches-cpp/hll/include/HllUnion-internal.hpp +61 -61
  50. data/vendor/datasketches-cpp/hll/include/HllUtil.hpp +120 -127
  51. data/vendor/datasketches-cpp/hll/include/coupon_iterator-internal.hpp +9 -9
  52. data/vendor/datasketches-cpp/hll/include/coupon_iterator.hpp +5 -5
  53. data/vendor/datasketches-cpp/hll/include/hll.hpp +21 -21
  54. data/vendor/datasketches-cpp/hll/test/AuxHashMapTest.cpp +1 -1
  55. data/vendor/datasketches-cpp/hll/test/CouponHashSetTest.cpp +34 -34
  56. data/vendor/datasketches-cpp/hll/test/CouponListTest.cpp +25 -25
  57. data/vendor/datasketches-cpp/hll/test/CrossCountingTest.cpp +2 -2
  58. data/vendor/datasketches-cpp/hll/test/HllArrayTest.cpp +35 -35
  59. data/vendor/datasketches-cpp/hll/test/HllSketchTest.cpp +15 -15
  60. data/vendor/datasketches-cpp/hll/test/HllUnionTest.cpp +10 -14
  61. data/vendor/datasketches-cpp/hll/test/IsomorphicTest.cpp +3 -3
  62. data/vendor/datasketches-cpp/hll/test/ToFromByteArrayTest.cpp +4 -4
  63. data/vendor/datasketches-cpp/kll/include/kll_helper.hpp +5 -4
  64. data/vendor/datasketches-cpp/kll/include/kll_helper_impl.hpp +6 -6
  65. data/vendor/datasketches-cpp/kll/include/kll_quantile_calculator.hpp +14 -6
  66. data/vendor/datasketches-cpp/kll/include/kll_quantile_calculator_impl.hpp +39 -24
  67. data/vendor/datasketches-cpp/kll/include/kll_sketch.hpp +34 -2
  68. data/vendor/datasketches-cpp/kll/include/kll_sketch_impl.hpp +72 -62
  69. data/vendor/datasketches-cpp/kll/include/kolmogorov_smirnov.hpp +67 -0
  70. data/vendor/datasketches-cpp/kll/include/kolmogorov_smirnov_impl.hpp +78 -0
  71. data/vendor/datasketches-cpp/kll/test/CMakeLists.txt +1 -0
  72. data/vendor/datasketches-cpp/kll/test/kll_sketch_test.cpp +68 -45
  73. data/vendor/datasketches-cpp/kll/test/kolmogorov_smirnov_test.cpp +111 -0
  74. data/vendor/datasketches-cpp/python/src/hll_wrapper.cpp +4 -4
  75. data/vendor/datasketches-cpp/python/src/theta_wrapper.cpp +6 -6
  76. data/vendor/datasketches-cpp/python/src/vo_wrapper.cpp +2 -2
  77. data/vendor/datasketches-cpp/python/tests/hll_test.py +1 -1
  78. data/vendor/datasketches-cpp/python/tests/vo_test.py +3 -3
  79. data/vendor/datasketches-cpp/req/include/req_common.hpp +2 -1
  80. data/vendor/datasketches-cpp/req/include/req_compactor.hpp +4 -4
  81. data/vendor/datasketches-cpp/req/include/req_compactor_impl.hpp +26 -39
  82. data/vendor/datasketches-cpp/req/include/req_sketch.hpp +1 -1
  83. data/vendor/datasketches-cpp/req/include/req_sketch_impl.hpp +9 -9
  84. data/vendor/datasketches-cpp/req/test/req_sketch_test.cpp +52 -52
  85. data/vendor/datasketches-cpp/sampling/include/var_opt_sketch_impl.hpp +47 -56
  86. data/vendor/datasketches-cpp/sampling/include/var_opt_union_impl.hpp +34 -42
  87. data/vendor/datasketches-cpp/sampling/test/var_opt_sketch_test.cpp +6 -6
  88. data/vendor/datasketches-cpp/sampling/test/var_opt_union_test.cpp +13 -13
  89. data/vendor/datasketches-cpp/setup.py +1 -1
  90. data/vendor/datasketches-cpp/theta/include/bounds_on_ratios_in_sampled_sets.hpp +1 -1
  91. data/vendor/datasketches-cpp/theta/include/compact_theta_sketch_parser.hpp +67 -0
  92. data/vendor/datasketches-cpp/theta/include/compact_theta_sketch_parser_impl.hpp +70 -0
  93. data/vendor/datasketches-cpp/theta/include/theta_intersection.hpp +9 -4
  94. data/vendor/datasketches-cpp/theta/include/theta_intersection_impl.hpp +1 -1
  95. data/vendor/datasketches-cpp/theta/include/theta_jaccard_similarity_base.hpp +18 -14
  96. data/vendor/datasketches-cpp/theta/include/theta_sketch.hpp +42 -1
  97. data/vendor/datasketches-cpp/theta/include/theta_sketch_impl.hpp +107 -58
  98. data/vendor/datasketches-cpp/theta/include/theta_union.hpp +4 -4
  99. data/vendor/datasketches-cpp/theta/include/theta_union_base_impl.hpp +1 -1
  100. data/vendor/datasketches-cpp/theta/include/theta_union_impl.hpp +1 -1
  101. data/vendor/datasketches-cpp/theta/include/theta_update_sketch_base.hpp +2 -0
  102. data/vendor/datasketches-cpp/theta/include/theta_update_sketch_base_impl.hpp +33 -28
  103. data/vendor/datasketches-cpp/theta/test/theta_a_not_b_test.cpp +23 -1
  104. data/vendor/datasketches-cpp/theta/test/theta_intersection_test.cpp +21 -1
  105. data/vendor/datasketches-cpp/theta/test/theta_jaccard_similarity_test.cpp +58 -2
  106. data/vendor/datasketches-cpp/theta/test/theta_sketch_test.cpp +37 -1
  107. data/vendor/datasketches-cpp/theta/test/theta_union_test.cpp +22 -2
  108. data/vendor/datasketches-cpp/tuple/include/array_of_doubles_sketch_impl.hpp +47 -60
  109. data/vendor/datasketches-cpp/tuple/include/tuple_sketch_impl.hpp +51 -64
  110. data/vendor/datasketches-cpp/tuple/test/array_of_doubles_sketch_test.cpp +1 -1
  111. data/vendor/datasketches-cpp/tuple/test/tuple_a_not_b_test.cpp +17 -17
  112. data/vendor/datasketches-cpp/tuple/test/tuple_intersection_test.cpp +12 -12
  113. data/vendor/datasketches-cpp/tuple/test/tuple_jaccard_similarity_test.cpp +5 -5
  114. data/vendor/datasketches-cpp/tuple/test/tuple_sketch_allocation_test.cpp +1 -1
  115. data/vendor/datasketches-cpp/tuple/test/tuple_sketch_test.cpp +20 -20
  116. data/vendor/datasketches-cpp/tuple/test/tuple_union_test.cpp +12 -12
  117. metadata +8 -3
@@ -64,7 +64,7 @@ TEST_CASE("tuple sketch with test allocator: estimation mode", "[tuple_sketch]")
64
64
  REQUIRE(count == update_sketch.get_num_retained());
65
65
 
66
66
  update_sketch.trim();
67
- REQUIRE(update_sketch.get_num_retained() == (1 << update_sketch.get_lg_k()));
67
+ REQUIRE(update_sketch.get_num_retained() == (1U << update_sketch.get_lg_k()));
68
68
 
69
69
  auto compact_sketch = update_sketch.compact();
70
70
  REQUIRE(!compact_sketch.is_empty());
@@ -40,7 +40,7 @@ namespace datasketches {
40
40
 
41
41
  TEST_CASE("tuple sketch float: builder", "[tuple_sketch]") {
42
42
  auto builder = update_tuple_sketch<float>::builder();
43
- builder.set_lg_k(10).set_p(0.5).set_resize_factor(theta_constants::resize_factor::X2).set_seed(123);
43
+ builder.set_lg_k(10).set_p(0.5f).set_resize_factor(theta_constants::resize_factor::X2).set_seed(123);
44
44
  auto sketch = builder.build();
45
45
  REQUIRE(sketch.get_lg_k() == 10);
46
46
  REQUIRE(sketch.get_theta() == 0.5);
@@ -74,9 +74,9 @@ TEST_CASE("tuple sketch float: empty", "[tuple_sketch]") {
74
74
 
75
75
  TEST_CASE("tuple sketch float: exact mode", "[tuple_sketch]") {
76
76
  auto update_sketch = update_tuple_sketch<float>::builder().build();
77
- update_sketch.update(1, 1);
78
- update_sketch.update(2, 2);
79
- update_sketch.update(1, 1);
77
+ update_sketch.update(1, 1.0f);
78
+ update_sketch.update(2, 2.0f);
79
+ update_sketch.update(1, 1.0f);
80
80
  // std::cout << update_sketch.to_string(true);
81
81
  REQUIRE(!update_sketch.is_empty());
82
82
  REQUIRE(!update_sketch.is_estimation_mode());
@@ -167,11 +167,11 @@ using max_float_update_tuple_sketch = update_tuple_sketch<float, float, max_valu
167
167
 
168
168
  TEST_CASE("tuple sketch: float, custom policy", "[tuple_sketch]") {
169
169
  auto update_sketch = max_float_update_tuple_sketch::builder(max_value_policy<float>(5)).build();
170
- update_sketch.update(1, 1);
171
- update_sketch.update(1, 2);
172
- update_sketch.update(2, 10);
173
- update_sketch.update(3, 3);
174
- update_sketch.update(3, 7);
170
+ update_sketch.update(1, 1.0f);
171
+ update_sketch.update(1, 2.0f);
172
+ update_sketch.update(2, 10.0f);
173
+ update_sketch.update(3, 3.0f);
174
+ update_sketch.update(3, 7.0f);
175
175
  // std::cout << update_sketch.to_string(true);
176
176
  int count = 0;
177
177
  float sum = 0;
@@ -212,37 +212,37 @@ TEST_CASE("tuple sketch: tuple of doubles", "[tuple_sketch]") {
212
212
  TEST_CASE("tuple sketch: float, update with different types of keys", "[tuple_sketch]") {
213
213
  auto sketch = update_tuple_sketch<float>::builder().build();
214
214
 
215
- sketch.update(static_cast<uint64_t>(1), 1);
215
+ sketch.update(static_cast<uint64_t>(1), 1.0f);
216
216
  REQUIRE(sketch.get_num_retained() == 1);
217
217
 
218
- sketch.update(static_cast<int64_t>(1), 1);
218
+ sketch.update(static_cast<int64_t>(1), 1.0f);
219
219
  REQUIRE(sketch.get_num_retained() == 1);
220
220
 
221
- sketch.update(static_cast<uint32_t>(1), 1);
221
+ sketch.update(static_cast<uint32_t>(1), 1.0f);
222
222
  REQUIRE(sketch.get_num_retained() == 1);
223
223
 
224
- sketch.update(static_cast<int32_t>(1), 1);
224
+ sketch.update(static_cast<int32_t>(1), 1.0f);
225
225
  REQUIRE(sketch.get_num_retained() == 1);
226
226
 
227
- sketch.update(static_cast<uint16_t>(1), 1);
227
+ sketch.update(static_cast<uint16_t>(1), 1.0f);
228
228
  REQUIRE(sketch.get_num_retained() == 1);
229
229
 
230
- sketch.update(static_cast<int16_t>(1), 1);
230
+ sketch.update(static_cast<int16_t>(1), 1.0f);
231
231
  REQUIRE(sketch.get_num_retained() == 1);
232
232
 
233
- sketch.update(static_cast<uint8_t>(1), 1);
233
+ sketch.update(static_cast<uint8_t>(1), 1.0f);
234
234
  REQUIRE(sketch.get_num_retained() == 1);
235
235
 
236
- sketch.update(static_cast<int8_t>(1), 1);
236
+ sketch.update(static_cast<int8_t>(1), 1.0f);
237
237
  REQUIRE(sketch.get_num_retained() == 1);
238
238
 
239
- sketch.update(1.0, 1);
239
+ sketch.update(1.0, 1.0f);
240
240
  REQUIRE(sketch.get_num_retained() == 2);
241
241
 
242
- sketch.update(static_cast<float>(1), 1);
242
+ sketch.update(static_cast<float>(1), 1.0f);
243
243
  REQUIRE(sketch.get_num_retained() == 2);
244
244
 
245
- sketch.update("a", 1);
245
+ sketch.update("a", 1.0f);
246
246
  REQUIRE(sketch.get_num_retained() == 3);
247
247
  }
248
248
 
@@ -51,9 +51,9 @@ TEST_CASE("tupe_union float: empty theta sketch", "[tuple union]") {
51
51
  }
52
52
 
53
53
  TEST_CASE("tuple_union float: non-empty no retained entries", "[tuple union]") {
54
- auto update_sketch = update_tuple_sketch<float>::builder().set_p(0.001).build();
54
+ auto update_sketch = update_tuple_sketch<float>::builder().set_p(0.001f).build();
55
55
  // std::cout << update_sketch.to_string();
56
- update_sketch.update(1, 1);
56
+ update_sketch.update(1, 1.0f);
57
57
  REQUIRE(!update_sketch.is_empty());
58
58
  REQUIRE(update_sketch.get_num_retained() == 0);
59
59
  auto u = tuple_union<float>::builder().build();
@@ -69,12 +69,12 @@ TEST_CASE("tuple_union float: non-empty no retained entries", "[tuple union]") {
69
69
 
70
70
  TEST_CASE("tuple_union float: simple case", "[tuple union]") {
71
71
  auto update_sketch1 = update_tuple_sketch<float>::builder().build();
72
- update_sketch1.update(1, 1);
73
- update_sketch1.update(2, 1);
72
+ update_sketch1.update(1, 1.0f);
73
+ update_sketch1.update(2, 1.0f);
74
74
 
75
75
  auto update_sketch2 = update_tuple_sketch<float>::builder().build();
76
- update_sketch2.update(1, 1);
77
- update_sketch2.update(3, 1);
76
+ update_sketch2.update(1, 1.0f);
77
+ update_sketch2.update(3, 1.0f);
78
78
 
79
79
  auto u = tuple_union<float>::builder().build();
80
80
  u.update(update_sketch1);
@@ -86,11 +86,11 @@ TEST_CASE("tuple_union float: simple case", "[tuple union]") {
86
86
  TEST_CASE("tuple_union float: exact mode half overlap", "[tuple union]") {
87
87
  auto update_sketch1 = update_tuple_sketch<float>::builder().build();
88
88
  int value = 0;
89
- for (int i = 0; i < 1000; ++i) update_sketch1.update(value++, 1);
89
+ for (int i = 0; i < 1000; ++i) update_sketch1.update(value++, 1.0f);
90
90
 
91
91
  auto update_sketch2 = update_tuple_sketch<float>::builder().build();
92
92
  value = 500;
93
- for (int i = 0; i < 1000; ++i) update_sketch2.update(value++, 1);
93
+ for (int i = 0; i < 1000; ++i) update_sketch2.update(value++, 1.0f);
94
94
 
95
95
  { // unordered
96
96
  auto u = tuple_union<float>::builder().build();
@@ -115,11 +115,11 @@ TEST_CASE("tuple_union float: exact mode half overlap", "[tuple union]") {
115
115
  TEST_CASE("tuple_union float: estimation mode half overlap", "[tuple union]") {
116
116
  auto update_sketch1 = update_tuple_sketch<float>::builder().build();
117
117
  int value = 0;
118
- for (int i = 0; i < 10000; ++i) update_sketch1.update(value++, 1);
118
+ for (int i = 0; i < 10000; ++i) update_sketch1.update(value++, 1.0f);
119
119
 
120
120
  auto update_sketch2 = update_tuple_sketch<float>::builder().build();
121
121
  value = 5000;
122
- for (int i = 0; i < 10000; ++i) update_sketch2.update(value++, 1);
122
+ for (int i = 0; i < 10000; ++i) update_sketch2.update(value++, 1.0f);
123
123
 
124
124
  { // unordered
125
125
  auto u = tuple_union<float>::builder().build();
@@ -143,7 +143,7 @@ TEST_CASE("tuple_union float: estimation mode half overlap", "[tuple union]") {
143
143
 
144
144
  TEST_CASE("tuple_union float: seed mismatch", "[tuple union]") {
145
145
  auto update_sketch = update_tuple_sketch<float>::builder().build();
146
- update_sketch.update(1, 1); // non-empty should not be ignored
146
+ update_sketch.update(1, 1.0f); // non-empty should not be ignored
147
147
 
148
148
  auto u = tuple_union<float>::builder().set_seed(123).build();
149
149
  REQUIRE_THROWS_AS(u.update(update_sketch), std::invalid_argument);
@@ -154,7 +154,7 @@ TEST_CASE("tuple_union float: full overlap with theta sketch", "[tuple union]")
154
154
 
155
155
  // tuple update
156
156
  auto update_tuple = update_tuple_sketch<float>::builder().build();
157
- for (unsigned i = 0; i < 10; ++i) update_tuple.update(i, 1);
157
+ for (unsigned i = 0; i < 10; ++i) update_tuple.update(i, 1.0f);
158
158
  u.update(update_tuple);
159
159
 
160
160
  // tuple compact
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.2.1
4
+ version: 0.2.2
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-05-23 00:00:00.000000000 Z
11
+ date: 2021-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rice
@@ -160,12 +160,15 @@ files:
160
160
  - vendor/datasketches-cpp/kll/include/kll_quantile_calculator_impl.hpp
161
161
  - vendor/datasketches-cpp/kll/include/kll_sketch.hpp
162
162
  - vendor/datasketches-cpp/kll/include/kll_sketch_impl.hpp
163
+ - vendor/datasketches-cpp/kll/include/kolmogorov_smirnov.hpp
164
+ - vendor/datasketches-cpp/kll/include/kolmogorov_smirnov_impl.hpp
163
165
  - vendor/datasketches-cpp/kll/test/CMakeLists.txt
164
166
  - vendor/datasketches-cpp/kll/test/kll_sketch_custom_type_test.cpp
165
167
  - vendor/datasketches-cpp/kll/test/kll_sketch_float_one_item_v1.sk
166
168
  - vendor/datasketches-cpp/kll/test/kll_sketch_from_java.sk
167
169
  - vendor/datasketches-cpp/kll/test/kll_sketch_test.cpp
168
170
  - vendor/datasketches-cpp/kll/test/kll_sketch_validation.cpp
171
+ - vendor/datasketches-cpp/kll/test/kolmogorov_smirnov_test.cpp
169
172
  - vendor/datasketches-cpp/pyproject.toml
170
173
  - vendor/datasketches-cpp/python/CMakeLists.txt
171
174
  - vendor/datasketches-cpp/python/README.md
@@ -226,6 +229,8 @@ files:
226
229
  - vendor/datasketches-cpp/theta/CMakeLists.txt
227
230
  - vendor/datasketches-cpp/theta/include/bounds_on_ratios_in_sampled_sets.hpp
228
231
  - vendor/datasketches-cpp/theta/include/bounds_on_ratios_in_theta_sketched_sets.hpp
232
+ - vendor/datasketches-cpp/theta/include/compact_theta_sketch_parser.hpp
233
+ - vendor/datasketches-cpp/theta/include/compact_theta_sketch_parser_impl.hpp
229
234
  - vendor/datasketches-cpp/theta/include/theta_a_not_b.hpp
230
235
  - vendor/datasketches-cpp/theta/include/theta_a_not_b_impl.hpp
231
236
  - vendor/datasketches-cpp/theta/include/theta_comparators.hpp
@@ -308,7 +313,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
308
313
  - !ruby/object:Gem::Version
309
314
  version: '0'
310
315
  requirements: []
311
- rubygems_version: 3.2.3
316
+ rubygems_version: 3.2.22
312
317
  signing_key:
313
318
  specification_version: 4
314
319
  summary: Sketch data structures for Ruby