This is an automated email from the ASF dual-hosted git repository. alsay pushed a commit to branch compressed_iterator in repository https://gitbox.apache.org/repos/asf/datasketches-java.git
commit a0b86ee3cd4f01bd36a5f4e426f4df0d335cd943 Author: AlexanderSaydakov <[email protected]> AuthorDate: Wed Jan 29 12:05:30 2025 -0800 cleanup --- src/main/java/org/apache/datasketches/theta/CompactSketch.java | 7 +++++-- .../apache/datasketches/theta/DirectCompactCompressedSketch.java | 3 ++- .../java/org/apache/datasketches/theta/DirectCompactSketch.java | 5 ----- src/main/java/org/apache/datasketches/theta/HeapCompactSketch.java | 5 ----- .../datasketches/theta/MemoryCompactCompressedHashIterator.java | 4 ++-- 5 files changed, 9 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/apache/datasketches/theta/CompactSketch.java b/src/main/java/org/apache/datasketches/theta/CompactSketch.java index 688ad274..7a366fe0 100644 --- a/src/main/java/org/apache/datasketches/theta/CompactSketch.java +++ b/src/main/java/org/apache/datasketches/theta/CompactSketch.java @@ -188,8 +188,6 @@ public abstract class CompactSketch extends Sketch { final short seedHash = ThetaUtil.computeSeedHash(seed); if (serVer == 4) { - // not wrapping the compressed format since currently we cannot take advantage of - // decompression during iteration because set operations reach into memory directly return DirectCompactCompressedSketch.wrapInstance(srcMem, enforceSeed ? seedHash : (short) extractSeedHash(srcMem)); } @@ -251,6 +249,11 @@ public abstract class CompactSketch extends Sketch { return true; } + @Override + public double getEstimate() { + return Sketch.estimate(getThetaLong(), getRetainedEntries()); + } + /** * gets the sketch as a compressed byte array * @return the sketch as a compressed byte array diff --git a/src/main/java/org/apache/datasketches/theta/DirectCompactCompressedSketch.java b/src/main/java/org/apache/datasketches/theta/DirectCompactCompressedSketch.java index d7e05ca2..6c83add8 100644 --- a/src/main/java/org/apache/datasketches/theta/DirectCompactCompressedSketch.java +++ b/src/main/java/org/apache/datasketches/theta/DirectCompactCompressedSketch.java @@ -118,7 +118,8 @@ class DirectCompactCompressedSketch extends DirectCompactSketch { public HashIterator iterator() { return new MemoryCompactCompressedHashIterator( mem_, - (extractPreLongs(mem_) > 1 ? 16 : 8) + extractNumEntriesBytesV4(mem_), + (extractPreLongs(mem_) > 1 ? START_PACKED_DATA_ESTIMATION_MODE : START_PACKED_DATA_EXACT_MODE) + + extractNumEntriesBytesV4(mem_), extractEntryBitsV4(mem_), getRetainedEntries() ); diff --git a/src/main/java/org/apache/datasketches/theta/DirectCompactSketch.java b/src/main/java/org/apache/datasketches/theta/DirectCompactSketch.java index 1714d216..baedad17 100644 --- a/src/main/java/org/apache/datasketches/theta/DirectCompactSketch.java +++ b/src/main/java/org/apache/datasketches/theta/DirectCompactSketch.java @@ -84,11 +84,6 @@ class DirectCompactSketch extends CompactSketch { return (preLongs + curCount) << 3; } - @Override - public double getEstimate() { - return Sketch.estimate(getThetaLong(), getRetainedEntries()); - } - @Override public int getRetainedEntries(final boolean valid) { //compact is always valid if (otherCheckForSingleItem(mem_)) { return 1; } diff --git a/src/main/java/org/apache/datasketches/theta/HeapCompactSketch.java b/src/main/java/org/apache/datasketches/theta/HeapCompactSketch.java index f394e930..2572ce5d 100644 --- a/src/main/java/org/apache/datasketches/theta/HeapCompactSketch.java +++ b/src/main/java/org/apache/datasketches/theta/HeapCompactSketch.java @@ -87,11 +87,6 @@ class HeapCompactSketch extends CompactSketch { return (preLongs_ + curCount_) << 3; } - @Override - public double getEstimate() { - return Sketch.estimate(thetaLong_, curCount_); - } - @Override public int getRetainedEntries(final boolean valid) { return curCount_; diff --git a/src/main/java/org/apache/datasketches/theta/MemoryCompactCompressedHashIterator.java b/src/main/java/org/apache/datasketches/theta/MemoryCompactCompressedHashIterator.java index b743302a..d5f37de9 100644 --- a/src/main/java/org/apache/datasketches/theta/MemoryCompactCompressedHashIterator.java +++ b/src/main/java/org/apache/datasketches/theta/MemoryCompactCompressedHashIterator.java @@ -23,8 +23,8 @@ import static org.apache.datasketches.theta.PreambleUtil.wholeBytesToHoldBits; import org.apache.datasketches.memory.Memory; -/** - * @author Lee Rhodes +/* + * This is to uncompress serial version 4 sketch incrementally */ class MemoryCompactCompressedHashIterator implements HashIterator { private Memory mem; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
