You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by le...@apache.org on 2022/02/21 22:14:10 UTC
[datasketches-java] branch RefactorKLL updated: Minor changes in code documentation as a result of review.
This is an automated email from the ASF dual-hosted git repository.
leerho pushed a commit to branch RefactorKLL
in repository https://gitbox.apache.org/repos/asf/datasketches-java.git
The following commit(s) were added to refs/heads/RefactorKLL by this push:
new e6b0207 Minor changes in code documentation as a result of review.
e6b0207 is described below
commit e6b0207d4f83f04b84813da1b0a35150944e5492
Author: Lee Rhodes <le...@users.noreply.github.com>
AuthorDate: Mon Feb 21 14:14:04 2022 -0800
Minor changes in code documentation as a result of review.
---
.../java/org/apache/datasketches/kll/BaseKllSketch.java | 2 ++
.../org/apache/datasketches/kll/KllFloatsSketch.java | 2 +-
.../java/org/apache/datasketches/kll/KllHelper.java | 17 +++++++++--------
3 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/src/main/java/org/apache/datasketches/kll/BaseKllSketch.java b/src/main/java/org/apache/datasketches/kll/BaseKllSketch.java
index a3d573c..be2335f 100644
--- a/src/main/java/org/apache/datasketches/kll/BaseKllSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/BaseKllSketch.java
@@ -124,6 +124,8 @@ abstract class BaseKllSketch {
* so there is room for least 1 more item in level zero.
* 3) There are no gaps except at the bottom, so if levels_[0] = 0,
* the sketch is exactly filled to capacity and must be compacted.
+ * 4) Sum of weights of retained items == N.
+ * 5) curTotalCap == items_.length == levels_[numLevels_].
*/
final int k_; // configured value of K
diff --git a/src/main/java/org/apache/datasketches/kll/KllFloatsSketch.java b/src/main/java/org/apache/datasketches/kll/KllFloatsSketch.java
index 1c62679..7d2639f 100644
--- a/src/main/java/org/apache/datasketches/kll/KllFloatsSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllFloatsSketch.java
@@ -766,7 +766,7 @@ public class KllFloatsSketch extends BaseKllSketch {
final int finalCapacity = result[1];
final int finalPop = result[2];
- assert finalNumLevels <= ub; // can sometimes be much bigger
+ assert finalNumLevels <= ub; // ub can sometimes be much bigger
// now we need to transfer the results back into the "self" sketch
final float[] newbuf = finalCapacity == items_.length ? items_ : new float[finalCapacity];
diff --git a/src/main/java/org/apache/datasketches/kll/KllHelper.java b/src/main/java/org/apache/datasketches/kll/KllHelper.java
index 882ebf7..d59dfc6 100644
--- a/src/main/java/org/apache/datasketches/kll/KllHelper.java
+++ b/src/main/java/org/apache/datasketches/kll/KllHelper.java
@@ -58,26 +58,27 @@ class KllHelper {
*/
static int computeTotalItemCapacity(final int k, final int m, final int numLevels) {
long total = 0;
- for (int h = 0; h < numLevels; h++) {
- total += levelCapacity(k, numLevels, h, m);
+ for (int level = 0; level < numLevels; level++) {
+ total += levelCapacity(k, numLevels, level, m);
}
return (int) total;
}
/**
* Returns the item capacity of a specific level.
- * @param k the accuracy parameter of the sketch. Maximum is 2^29.
+ * @param k the accuracy parameter of the sketch. Because of the Java limits on array sizes,
+ * the theoretical maximum value of k is 2^29. However, this implementation of the KLL sketch
+ * limits k to 2^16 -1.
* @param numLevels the number of current levels in the sketch. Maximum is 61.
- * @param height the zero-based index of a level with respect to the smallest level.
- * This varies from 0 to 60.
+ * @param level the zero-based index of a level. This varies from 0 to 60.
* @param m the minimum level width. Default is 8.
* @return the capacity of a specific level
*/
- static int levelCapacity(final int k, final int numLevels, final int height, final int m) {
+ static int levelCapacity(final int k, final int numLevels, final int level, final int m) {
assert (k <= (1 << 29));
assert (numLevels >= 1) && (numLevels <= 61);
- assert (height >= 0) && (height < numLevels);
- final int depth = numLevels - height - 1;
+ assert (level >= 0) && (level < numLevels);
+ final int depth = numLevels - level - 1;
return (int) Math.max(m, intCapAux(k, depth));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org