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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: deea49b435964ffbdc1d453f513af8b694a5b81bce8777d48fe3988d7476a538
4
- data.tar.gz: e59c962f8fe1c0b5175a4ef0b076d8e19756de874d0ec300dd91c08f829f73c6
3
+ metadata.gz: 9131edb6c019db8cd0dbb98aaf1321ba213efe5911ea17dd37f4e2a6cd8e7125
4
+ data.tar.gz: dc60612514895814bb7e920d8e66029b10abb820a6a6617e6426cc725482d6e2
5
5
  SHA512:
6
- metadata.gz: 542d7d5976324498d58dc5aeebc66bb9c0fafbe32544a44f0618cb78f2d5957dae947325128075e4c963811adcfa8566acffa280a9c82c23fdbd787d327410be
7
- data.tar.gz: c052d36c667fa9b9638f682e3b71969f1f74009db50a50bf38682adb13122ec1ab6829613ce626233fe06cf787c6d2c473c3359ca183dc565ac1dc3eefa637b9
6
+ metadata.gz: b030673f22e3c02c7a1805a9c8378e305b4878c18c4c92c3cdccaa54ea2ea9a87871b6a858563a02be510f6371bfe1c34e76386ccad975da05a6bd09071c5ee9
7
+ data.tar.gz: 11b1cbd76b5e47547b54ef39c195a2d9caa2a1a2a7ec3b8ed33be87b0e98adfa6cbef1ac8e6f5af6d4b57390731b10949f13620b4f916e15b7c73a449dfdfaa5
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## 0.4.2 (2024-01-13)
2
+
3
+ - Updated DataSketches to 5.0.2
4
+
5
+ ## 0.4.1 (2023-12-23)
6
+
7
+ - Updated DataSketches to 5.0.1
8
+
1
9
  ## 0.4.0 (2023-11-13)
2
10
 
3
11
  - Updated DataSketches to 5.0.0
@@ -1,3 +1,3 @@
1
1
  module DataSketches
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.2"
3
3
  end
@@ -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::random_shuffle(level.begin(), level.end());
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
- std::move(items + raw_beg, items + raw_lim, items + out_levels[current_level]);
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
- items[out_levels[current_level]] = std::move(items[raw_beg]);
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: " << (bool(partial_item_) ? (*partial_item_) : "NULL") << std::endl;
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.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.0
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: 2023-11-14 00:00:00.000000000 Z
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.4.10
327
+ rubygems_version: 3.5.3
328
328
  signing_key:
329
329
  specification_version: 4
330
330
  summary: Sketch data structures for Ruby