datasketches 0.4.0 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/datasketches/version.rb +1 -1
- data/vendor/datasketches-cpp/density/include/density_sketch_impl.hpp +1 -1
- data/vendor/datasketches-cpp/kll/include/kll_helper_impl.hpp +4 -2
- data/vendor/datasketches-cpp/sampling/include/ebpps_sample_impl.hpp +5 -1
- data/vendor/datasketches-cpp/version.cfg.in +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9131edb6c019db8cd0dbb98aaf1321ba213efe5911ea17dd37f4e2a6cd8e7125
|
4
|
+
data.tar.gz: dc60612514895814bb7e920d8e66029b10abb820a6a6617e6426cc725482d6e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b030673f22e3c02c7a1805a9c8378e305b4878c18c4c92c3cdccaa54ea2ea9a87871b6a858563a02be510f6371bfe1c34e76386ccad975da05a6bd09071c5ee9
|
7
|
+
data.tar.gz: 11b1cbd76b5e47547b54ef39c195a2d9caa2a1a2a7ec3b8ed33be87b0e98adfa6cbef1ac8e6f5af6d4b57390731b10949f13620b4f916e15b7c73a449dfdfaa5
|
data/CHANGELOG.md
CHANGED
data/lib/datasketches/version.rb
CHANGED
@@ -144,7 +144,7 @@ void density_sketch<T, K, A>::compact_level(unsigned height) {
|
|
144
144
|
auto& level = levels_[height];
|
145
145
|
std::vector<bool> bits(level.size());
|
146
146
|
bits[0] = random_utils::random_bit();
|
147
|
-
std::
|
147
|
+
std::shuffle(level.begin(), level.end(), random_utils::rand);
|
148
148
|
for (unsigned i = 1; i < level.size(); ++i) {
|
149
149
|
T delta = 0;
|
150
150
|
for (unsigned j = 0; j < i; ++j) {
|
@@ -230,7 +230,8 @@ kll_helper::compress_result kll_helper::general_compress(uint16_t k, uint8_t m,
|
|
230
230
|
// move level over as is
|
231
231
|
// make sure we are not moving data upwards
|
232
232
|
if (raw_beg < out_levels[current_level]) throw std::logic_error("wrong move");
|
233
|
-
|
233
|
+
if (raw_beg != out_levels[current_level])
|
234
|
+
std::move(items + raw_beg, items + raw_lim, items + out_levels[current_level]);
|
234
235
|
out_levels[current_level + 1] = out_levels[current_level] + raw_pop;
|
235
236
|
} else {
|
236
237
|
// The sketch is too full AND this level is too full, so we compact it
|
@@ -243,7 +244,8 @@ kll_helper::compress_result kll_helper::general_compress(uint16_t k, uint8_t m,
|
|
243
244
|
const auto half_adj_pop = adj_pop / 2;
|
244
245
|
|
245
246
|
if (odd_pop) { // move one guy over
|
246
|
-
|
247
|
+
if (out_levels[current_level] != raw_beg)
|
248
|
+
items[out_levels[current_level]] = std::move(items[raw_beg]);
|
247
249
|
out_levels[current_level + 1] = out_levels[current_level] + 1;
|
248
250
|
} else { // even number of items
|
249
251
|
out_levels[current_level + 1] = out_levels[current_level];
|
@@ -178,7 +178,11 @@ string<A> ebpps_sample<T ,A>::to_string() const {
|
|
178
178
|
uint32_t idx = 0;
|
179
179
|
for (const T& item : data_)
|
180
180
|
oss << "\t" << idx++ << ":\t" << item << std::endl;
|
181
|
-
oss << " partial: "
|
181
|
+
oss << " partial: ";
|
182
|
+
if (bool(partial_item_))
|
183
|
+
oss << (*partial_item_) << std::endl;
|
184
|
+
else
|
185
|
+
oss << "NULL" << std::endl;
|
182
186
|
|
183
187
|
return oss.str();
|
184
188
|
}
|
@@ -1 +1 @@
|
|
1
|
-
5.0.
|
1
|
+
5.0.2
|
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.
|
4
|
+
version: 0.4.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:
|
11
|
+
date: 2024-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rice
|
@@ -324,7 +324,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
324
324
|
- !ruby/object:Gem::Version
|
325
325
|
version: '0'
|
326
326
|
requirements: []
|
327
|
-
rubygems_version: 3.
|
327
|
+
rubygems_version: 3.5.3
|
328
328
|
signing_key:
|
329
329
|
specification_version: 4
|
330
330
|
summary: Sketch data structures for Ruby
|