From a0b86ee3cd4f01bd36a5f4e426f4df0d335cd943 Mon Sep 17 00:00:00 2001 From: AlexanderSaydakov Date: Wed, 29 Jan 2025 12:05:30 -0800 Subject: [PATCH] cleanup --- .../java/org/apache/datasketches/theta/CompactSketch.java | 7 +++++-- .../datasketches/theta/DirectCompactCompressedSketch.java | 3 ++- .../org/apache/datasketches/theta/DirectCompactSketch.java | 5 ----- .../org/apache/datasketches/theta/HeapCompactSketch.java | 5 ----- .../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 688ad2746..7a366fe0b 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 @@ private static CompactSketch wrap(final Memory srcMem, final long seed, final bo 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 boolean isCompact() { 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 d7e05ca2e..6c83add87 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 @@ public boolean isOrdered() { 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 1714d2161..baedad179 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 @@ public int getCurrentBytes() { 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 f394e9303..2572ce5d5 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 @@ public int getCurrentBytes() { 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 b743302a5..d5f37de96 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 org.apache.datasketches.memory.Memory; -/** - * @author Lee Rhodes +/* + * This is to uncompress serial version 4 sketch incrementally */ class MemoryCompactCompressedHashIterator implements HashIterator { private Memory mem;