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