This is an automated email from the ASF dual-hosted git repository.
leerho pushed a commit to branch Tuple_Theta_Extension
in repository
https://gitbox.apache.org/repos/asf/incubator-datasketches-java.git
The following commit(s) were added to refs/heads/Tuple_Theta_Extension by this
push:
new 99901ea Clean up Generic Tuple Sketches to be more consistent.
99901ea is described below
commit 99901eaa9e1a74415547c3865df984c212c0143b
Author: Lee Rhodes <[email protected]>
AuthorDate: Thu May 28 19:53:51 2020 -0700
Clean up Generic Tuple Sketches to be more consistent.
---
.../org/apache/datasketches/fdt/PostProcessor.java | 2 +-
.../datasketches/tuple/SummarySetOperations.java | 5 +-
.../java/org/apache/datasketches/tuple/Util.java | 35 +++++++-
.../tuple/adouble/DoubleSummaryFactory.java | 10 +--
.../tuple/adouble/DoubleSummarySetOperations.java | 38 ++++-----
.../aninteger/IntegerSummarySetOperations.java | 5 +-
.../tuple/strings/ArrayOfStringsSketch.java | 2 +-
.../tuple/strings/ArrayOfStringsSummary.java | 99 ++++++++--------------
.../strings/ArrayOfStringsSummaryDeserializer.java | 13 ++-
.../UpdatableSketchWithDoubleSummaryTest.java | 22 ++---
.../tuple/strings/ArrayOfStringsSummaryTest.java | 2 +-
11 files changed, 116 insertions(+), 117 deletions(-)
diff --git a/src/main/java/org/apache/datasketches/fdt/PostProcessor.java
b/src/main/java/org/apache/datasketches/fdt/PostProcessor.java
index 32ffebd..a07deeb 100644
--- a/src/main/java/org/apache/datasketches/fdt/PostProcessor.java
+++ b/src/main/java/org/apache/datasketches/fdt/PostProcessor.java
@@ -21,7 +21,7 @@ package org.apache.datasketches.fdt;
import static org.apache.datasketches.HashOperations.hashSearchOrInsert;
import static org.apache.datasketches.Util.ceilingPowerOf2;
-import static
org.apache.datasketches.tuple.strings.ArrayOfStringsSummary.stringHash;
+import static org.apache.datasketches.tuple.Util.stringHash;
import java.util.ArrayList;
import java.util.Arrays;
diff --git
a/src/main/java/org/apache/datasketches/tuple/SummarySetOperations.java
b/src/main/java/org/apache/datasketches/tuple/SummarySetOperations.java
index f1e4469..354d002 100644
--- a/src/main/java/org/apache/datasketches/tuple/SummarySetOperations.java
+++ b/src/main/java/org/apache/datasketches/tuple/SummarySetOperations.java
@@ -26,7 +26,7 @@ package org.apache.datasketches.tuple;
public interface SummarySetOperations<S extends Summary> {
/**
- * This is called when a union of two sketches is produced, and both
sketches have the same key.
+ * This is called by the union operator when both sketches have the same key.
*
* <p><b>Caution:</b> Do not modify the input Summary objects. Also do not
return them directly,
* unless they are immutable (most Summary objects are not). For mutable
Summary objects, it is
@@ -40,8 +40,7 @@ public interface SummarySetOperations<S extends Summary> {
public S union(S a, S b);
/**
- * This is called when an intersection of two sketches is produced, and both
sketches have the
- * same key.
+ * This is called by the intersection operator when both sketches have the
same key.
*
* <p><b>Caution:</b> Do not modify the input Summary objects. Also do not
return them directly,
* unless they are immutable (most Summary objects are not). For mutable
Summary objects, it is
diff --git a/src/main/java/org/apache/datasketches/tuple/Util.java
b/src/main/java/org/apache/datasketches/tuple/Util.java
index 57cf6d4..b1e9868 100644
--- a/src/main/java/org/apache/datasketches/tuple/Util.java
+++ b/src/main/java/org/apache/datasketches/tuple/Util.java
@@ -27,6 +27,7 @@ import static org.apache.datasketches.hash.MurmurHash3.hash;
import org.apache.datasketches.ResizeFactor;
import org.apache.datasketches.SketchesArgumentException;
+import org.apache.datasketches.memory.XxHash64;
/**
* Common utility functions for Tuples
@@ -34,6 +35,7 @@ import org.apache.datasketches.SketchesArgumentException;
* @author Lee Rhodes
*/
public final class Util {
+ private static final int PRIME = 0x7A3C_CA71;
/**
* Converts a <i>double</i> to a <i>long[]</i>.
@@ -85,7 +87,6 @@ public final class Util {
throw new SketchesArgumentException("Incompatible Seed Hashes. " +
seedHashA + ", "
+ seedHashB);
}
-
}
/**
@@ -103,4 +104,36 @@ public final class Util {
);
}
+ /**
+ * Concatenate array of Strings to a single String.
+ * @param strArr the given String array
+ * @return the concatenated String
+ */
+ public static String stringConcat(final String[] strArr) {
+ final int len = strArr.length;
+ final StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < len; i++) {
+ sb.append(strArr[i]);
+ if ((i + 1) < len) { sb.append(','); }
+ }
+ return sb.toString();
+ }
+
+ /**
+ * @param s the string to hash
+ * @return the hash of the string
+ */
+ public static long stringHash(final String s) {
+ return XxHash64.hashChars(s.toCharArray(), 0, s.length(), PRIME);
+ }
+
+ /**
+ * @param strArray array of Strings
+ * @return long hash of concatenated strings.
+ */
+ public static long stringArrHash(final String[] strArray) {
+ final String s = stringConcat(strArray);
+ return XxHash64.hashChars(s.toCharArray(), 0, s.length(), PRIME);
+ }
+
}
diff --git
a/src/main/java/org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.java
b/src/main/java/org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.java
index 8dd7ea7..f97e835 100644
---
a/src/main/java/org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.java
+++
b/src/main/java/org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.java
@@ -23,20 +23,14 @@ import org.apache.datasketches.tuple.SummaryFactory;
/**
* Factory for DoubleSummary.
+ *
+ * @author Lee Rhodes
*/
public final class DoubleSummaryFactory implements
SummaryFactory<DoubleSummary> {
private final DoubleSummary.Mode summaryMode_;
/**
- * Creates an instance of DoubleSummaryFactory with default mode
- */
- @Deprecated
- public DoubleSummaryFactory() {
- summaryMode_ = DoubleSummary.Mode.Sum;
- }
-
- /**
* Creates an instance of DoubleSummaryFactory with a given mode
* @param summaryMode summary mode
*/
diff --git
a/src/main/java/org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.java
b/src/main/java/org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.java
index d859883..6d0aa61 100644
---
a/src/main/java/org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.java
+++
b/src/main/java/org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.java
@@ -24,47 +24,41 @@ import
org.apache.datasketches.tuple.adouble.DoubleSummary.Mode;
/**
* Methods for defining how unions and intersections of two objects of type
DoubleSummary
- * are performed. These methods are not called directly by a user.
+ * are performed.
*/
public final class DoubleSummarySetOperations implements
SummarySetOperations<DoubleSummary> {
- private final Mode summaryMode_;
-
- //TODO see IntegerSummarySetOperations for better model
+ private final Mode unionSummaryMode_;
/**
- * Creates an instance with default mode.
+ * Intersection is not well defined or even meaningful between numeric
values.
+ * Nevertheless, this can be defined to be a different type of aggregation
for intersecting keys.
*/
- @Deprecated
- public DoubleSummarySetOperations() {
- summaryMode_ = DoubleSummary.Mode.Sum;
- }
+ private final Mode intersectionSummaryMode_;
/**
- * Creates an instance given a DoubleSummary update mode.
- * @param summaryMode DoubleSummary update mode.
+ * Creates a new instance with two modes
+ * @param unionSummaryMode for unions
+ * @param intersectionSummaryMode for intersections
*/
- public DoubleSummarySetOperations(final Mode summaryMode) {
- summaryMode_ = summaryMode;
+ public DoubleSummarySetOperations(final Mode unionSummaryMode, final Mode
intersectionSummaryMode) {
+ unionSummaryMode_ = unionSummaryMode;
+ intersectionSummaryMode_ = intersectionSummaryMode;
}
@Override
public DoubleSummary union(final DoubleSummary a, final DoubleSummary b) {
- final DoubleSummary result = new DoubleSummary(summaryMode_);
+ final DoubleSummary result = new DoubleSummary(unionSummaryMode_);
result.update(a.getValue());
result.update(b.getValue());
return result;
}
-
- /**
- * Intersection is not well defined or even meaningful between numeric
values.
- * Nevertheless, this can be defined to be just a different type of
aggregation.
- * In this case it is defined to be the same as union. It can be overridden
to
- * be a more meaningful operation.
- */
@Override
public DoubleSummary intersection(final DoubleSummary a, final DoubleSummary
b) {
- return union(a, b);
+ final DoubleSummary result = new DoubleSummary(intersectionSummaryMode_);
+ result.update(a.getValue());
+ result.update(b.getValue());
+ return result;
}
}
diff --git
a/src/main/java/org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.java
b/src/main/java/org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.java
index 2cfa118..7132a22 100644
---
a/src/main/java/org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.java
+++
b/src/main/java/org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.java
@@ -19,13 +19,12 @@
package org.apache.datasketches.tuple.aninteger;
-import static org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode;
-
import org.apache.datasketches.tuple.SummarySetOperations;
+import org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode;
/**
* Methods for defining how unions and intersections of two objects of type
IntegerSummary
- * are performed. These methods are not called directly by a user.
+ * are performed.
*
* @author Lee Rhodes
*/
diff --git
a/src/main/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.java
b/src/main/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.java
index 5657f29..3bfcbaf 100644
---
a/src/main/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.java
+++
b/src/main/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.java
@@ -19,7 +19,7 @@
package org.apache.datasketches.tuple.strings;
-import static
org.apache.datasketches.tuple.strings.ArrayOfStringsSummary.stringArrHash;
+import static org.apache.datasketches.tuple.Util.stringArrHash;
import org.apache.datasketches.ResizeFactor;
import org.apache.datasketches.memory.Memory;
diff --git
a/src/main/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.java
b/src/main/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.java
index be21bee..48cfbc6 100644
---
a/src/main/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.java
+++
b/src/main/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.java
@@ -20,33 +20,34 @@
package org.apache.datasketches.tuple.strings;
import static java.nio.charset.StandardCharsets.UTF_8;
+import static org.apache.datasketches.tuple.Util.stringArrHash;
+import static org.apache.datasketches.tuple.Util.stringConcat;
import org.apache.datasketches.SketchesArgumentException;
import org.apache.datasketches.memory.Buffer;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.WritableBuffer;
import org.apache.datasketches.memory.WritableMemory;
-import org.apache.datasketches.memory.XxHash64;
-import org.apache.datasketches.tuple.DeserializeResult;
import org.apache.datasketches.tuple.UpdatableSummary;
/**
* @author Lee Rhodes
*/
public class ArrayOfStringsSummary implements UpdatableSummary<String[]> {
- private static final int PRIME = 0x7A3C_CA71;
+
private String[] nodesArr = null;
ArrayOfStringsSummary() { //required for ArrayOfStringsSummaryFactory
nodesArr = null;
}
+ //Used by copy() and in test
ArrayOfStringsSummary(final String[] nodesArr) {
this.nodesArr = nodesArr.clone();
checkNumNodes(nodesArr.length);
}
- //used by deserialization
+ //used by fromMemory and in test
ArrayOfStringsSummary(final Memory mem) {
final Buffer buf = mem.asBuffer();
final int totBytes = buf.getInt();
@@ -63,40 +64,12 @@ public class ArrayOfStringsSummary implements
UpdatableSummary<String[]> {
this.nodesArr = nodesArr;
}
- private static class ComputeBytes {
- final byte numNodes_;
- final int[] nodeLengthsArr_;
- final byte[][] nodeBytesArr_;
- final int totBytes_;
-
- ComputeBytes(final String[] nodesArr) {
- numNodes_ = (byte) nodesArr.length;
- checkNumNodes(numNodes_);
- nodeLengthsArr_ = new int[numNodes_];
- nodeBytesArr_ = new byte[numNodes_][];
- int sumNodeBytes = 0;
- for (int i = 0; i < numNodes_; i++) {
- nodeBytesArr_[i] = nodesArr[i].getBytes(UTF_8);
- nodeLengthsArr_[i] = nodeBytesArr_[i].length;
- sumNodeBytes += nodeLengthsArr_[i];
- }
- totBytes_ = sumNodeBytes + ((numNodes_ + 1) * Integer.BYTES) + 1;
- }
- }
-
@Override
public ArrayOfStringsSummary copy() {
final ArrayOfStringsSummary nodes = new ArrayOfStringsSummary(nodesArr);
return nodes;
}
- /**
- * @return the nodes array for this summary.
- */
- public String[] getValue() {
- return nodesArr.clone();
- }
-
@Override
public byte[] toByteArray() {
final ComputeBytes cb = new ComputeBytes(nodesArr);
@@ -114,16 +87,7 @@ public class ArrayOfStringsSummary implements
UpdatableSummary<String[]> {
return out;
}
- /**
- *
- * @param mem the given memory
- * @return the DeserializeResult
- */
- public static DeserializeResult<ArrayOfStringsSummary> fromMemory(final
Memory mem) {
- final ArrayOfStringsSummary nsum = new ArrayOfStringsSummary(mem);
- final int totBytes = mem.getInt(0);
- return new DeserializeResult<>(nsum, totBytes);
- }
+ //From UpdatableSummary
@Override
public void update(final String[] value) {
@@ -133,6 +97,8 @@ public class ArrayOfStringsSummary implements
UpdatableSummary<String[]> {
//otherwise do not update.
}
+ //From Object
+
@Override
public int hashCode() {
return (int) stringArrHash(nodesArr);
@@ -149,42 +115,45 @@ public class ArrayOfStringsSummary implements
UpdatableSummary<String[]> {
}
/**
- * @param strArray array of Strings
- * @return long hash of concatenated strings.
- */
- static long stringArrHash(final String[] strArray) {
- final String s = stringConcat(strArray);
- return XxHash64.hashChars(s.toCharArray(), 0, s.length(), PRIME);
- }
-
- /**
- * @param s the string to hash
- * @return the hash of the string
+ * @return the nodes array for this summary.
*/
- public static long stringHash(final String s) {
- return XxHash64.hashChars(s.toCharArray(), 0, s.length(), PRIME);
- }
-
- static String stringConcat(final String[] strArr) {
- final int len = strArr.length;
- final StringBuilder sb = new StringBuilder();
- for (int i = 0; i < len; i++) {
- sb.append(strArr[i]);
- if ((i + 1) < len) { sb.append(','); }
- }
- return sb.toString();
+ public String[] getValue() {
+ return nodesArr.clone();
}
+ //also used in test
static void checkNumNodes(final int numNodes) {
if (numNodes > 127) {
throw new SketchesArgumentException("Number of nodes cannot exceed
127.");
}
}
+ //also used in test
static void checkInBytes(final Memory mem, final int totBytes) {
if (mem.getCapacity() < totBytes) {
throw new SketchesArgumentException("Incoming Memory has insufficient
capacity.");
}
}
+ private static class ComputeBytes {
+ final byte numNodes_;
+ final int[] nodeLengthsArr_;
+ final byte[][] nodeBytesArr_;
+ final int totBytes_;
+
+ ComputeBytes(final String[] nodesArr) {
+ numNodes_ = (byte) nodesArr.length;
+ checkNumNodes(numNodes_);
+ nodeLengthsArr_ = new int[numNodes_];
+ nodeBytesArr_ = new byte[numNodes_][];
+ int sumNodeBytes = 0;
+ for (int i = 0; i < numNodes_; i++) {
+ nodeBytesArr_[i] = nodesArr[i].getBytes(UTF_8);
+ nodeLengthsArr_[i] = nodeBytesArr_[i].length;
+ sumNodeBytes += nodeLengthsArr_[i];
+ }
+ totBytes_ = sumNodeBytes + ((numNodes_ + 1) * Integer.BYTES) + 1;
+ }
+ }
+
}
diff --git
a/src/main/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.java
b/src/main/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.java
index 8e34b21..1fb47db 100644
---
a/src/main/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.java
+++
b/src/main/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.java
@@ -30,7 +30,18 @@ public class ArrayOfStringsSummaryDeserializer implements
SummaryDeserializer<Ar
@Override
public DeserializeResult<ArrayOfStringsSummary> heapifySummary(final Memory
mem) {
- return ArrayOfStringsSummary.fromMemory(mem);
+ return ArrayOfStringsSummaryDeserializer.fromMemory(mem);
+ }
+
+ /**
+ * Also used in test.
+ * @param mem the given memory
+ * @return the DeserializeResult
+ */
+ static DeserializeResult<ArrayOfStringsSummary> fromMemory(final Memory mem)
{
+ final ArrayOfStringsSummary nsum = new ArrayOfStringsSummary(mem);
+ final int totBytes = mem.getInt(0);
+ return new DeserializeResult<>(nsum, totBytes);
}
}
diff --git
a/src/test/java/org/apache/datasketches/tuple/adouble/UpdatableSketchWithDoubleSummaryTest.java
b/src/test/java/org/apache/datasketches/tuple/adouble/UpdatableSketchWithDoubleSummaryTest.java
index 2d5e075..e60a19f 100644
---
a/src/test/java/org/apache/datasketches/tuple/adouble/UpdatableSketchWithDoubleSummaryTest.java
+++
b/src/test/java/org/apache/datasketches/tuple/adouble/UpdatableSketchWithDoubleSummaryTest.java
@@ -401,7 +401,7 @@ public class UpdatableSketchWithDoubleSummaryTest {
sketch.update(1, 1.0);
Assert.assertEquals(sketch.getRetainedEntries(), 0); // not retained due
to low sampling probability
- Union<DoubleSummary> union = new Union<>(new
DoubleSummarySetOperations(mode));
+ Union<DoubleSummary> union = new Union<>(new
DoubleSummarySetOperations(mode, mode));
union.update(sketch);
CompactSketch<DoubleSummary> result = union.getResult();
Assert.assertEquals(result.getRetainedEntries(), 0);
@@ -427,7 +427,7 @@ public class UpdatableSketchWithDoubleSummaryTest {
sketch2.update(3, 1.0);
sketch2.update(3, 1.0);
- Union<DoubleSummary> union = new Union<>(new
DoubleSummarySetOperations(mode));
+ Union<DoubleSummary> union = new Union<>(new
DoubleSummarySetOperations(mode, mode));
union.update(sketch1);
union.update(sketch2);
CompactSketch<DoubleSummary> result = union.getResult();
@@ -469,7 +469,7 @@ public class UpdatableSketchWithDoubleSummaryTest {
sketch2.update(key++, 1.0);
}
- Union<DoubleSummary> union = new Union<>(4096, new
DoubleSummarySetOperations(mode));
+ Union<DoubleSummary> union = new Union<>(4096, new
DoubleSummarySetOperations(mode, mode));
union.update(sketch1);
union.update(sketch2);
CompactSketch<DoubleSummary> result = union.getResult();
@@ -497,7 +497,7 @@ public class UpdatableSketchWithDoubleSummaryTest {
//System.out.println("theta2=" + sketch2.getTheta() + " " +
sketch2.getThetaLong());
}
- Union<DoubleSummary> union = new Union<>(4096, new
DoubleSummarySetOperations(mode));
+ Union<DoubleSummary> union = new Union<>(4096, new
DoubleSummarySetOperations(mode, mode));
union.update(sketch1);
union.update(sketch2);
CompactSketch<DoubleSummary> result = union.getResult();
@@ -511,7 +511,7 @@ public class UpdatableSketchWithDoubleSummaryTest {
UpdatableSketch<Double, DoubleSummary> sketch =
new UpdatableSketchBuilder<>(new DoubleSummaryFactory(mode)).build();
Intersection<DoubleSummary> intersection =
- new Intersection<>(new DoubleSummarySetOperations(mode));
+ new Intersection<>(new DoubleSummarySetOperations(mode, mode));
intersection.update(sketch);
CompactSketch<DoubleSummary> result = intersection.getResult();
Assert.assertEquals(result.getRetainedEntries(), 0);
@@ -528,7 +528,7 @@ public class UpdatableSketchWithDoubleSummaryTest {
(new
DoubleSummaryFactory(mode)).setSamplingProbability(0.01f).build();
sketch1.update("a", 1.0); // this happens to get rejected because of
sampling with low probability
Intersection<DoubleSummary> intersection =
- new Intersection<>(new DoubleSummarySetOperations(mode));
+ new Intersection<>(new DoubleSummarySetOperations(mode, mode));
intersection.update(sketch1);
CompactSketch<DoubleSummary> result = intersection.getResult();
Assert.assertEquals(result.getRetainedEntries(), 0);
@@ -547,7 +547,7 @@ public class UpdatableSketchWithDoubleSummaryTest {
sketch1.update(3, 1.0);
Intersection<DoubleSummary> intersection =
- new Intersection<>(new DoubleSummarySetOperations(mode));
+ new Intersection<>(new DoubleSummarySetOperations(mode, mode));
intersection.update(sketch1);
intersection.update(null);
CompactSketch<DoubleSummary> result = intersection.getResult();
@@ -569,7 +569,7 @@ public class UpdatableSketchWithDoubleSummaryTest {
Sketch<DoubleSummary> sketch2 = Sketches.createEmptySketch();
Intersection<DoubleSummary> intersection =
- new Intersection<>(new DoubleSummarySetOperations(mode));
+ new Intersection<>(new DoubleSummarySetOperations(mode, mode));
intersection.update(sketch1);
intersection.update(sketch2);
CompactSketch<DoubleSummary> result = intersection.getResult();
@@ -597,7 +597,7 @@ public class UpdatableSketchWithDoubleSummaryTest {
sketch2.update(3, 1.0);
Intersection<DoubleSummary> intersection =
- new Intersection<>(new DoubleSummarySetOperations(mode));
+ new Intersection<>(new DoubleSummarySetOperations(mode, mode));
intersection.update(sketch1);
intersection.update(sketch2);
CompactSketch<DoubleSummary> result = intersection.getResult();
@@ -638,7 +638,7 @@ public class UpdatableSketchWithDoubleSummaryTest {
}
Intersection<DoubleSummary> intersection =
- new Intersection<>(new DoubleSummarySetOperations(mode));
+ new Intersection<>(new DoubleSummarySetOperations(mode, mode));
intersection.update(sketch1);
intersection.update(sketch2);
CompactSketch<DoubleSummary> result = intersection.getResult();
@@ -675,7 +675,7 @@ public class UpdatableSketchWithDoubleSummaryTest {
}
Intersection<DoubleSummary> intersection =
- new Intersection<>(new DoubleSummarySetOperations(mode));
+ new Intersection<>(new DoubleSummarySetOperations(mode, mode));
intersection.update(sketch1);
intersection.update(sketch2);
CompactSketch<DoubleSummary> result = intersection.getResult();
diff --git
a/src/test/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryTest.java
b/src/test/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryTest.java
index ff73cbe..7df520b 100644
---
a/src/test/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryTest.java
+++
b/src/test/java/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryTest.java
@@ -51,7 +51,7 @@ public class ArrayOfStringsSummaryTest {
}
println("\nfromMemory(mem)");
- DeserializeResult<ArrayOfStringsSummary> dres =
ArrayOfStringsSummary.fromMemory(mem);
+ DeserializeResult<ArrayOfStringsSummary> dres =
ArrayOfStringsSummaryDeserializer.fromMemory(mem);
ArrayOfStringsSummary nsum3 = dres.getObject();
nodesArr = nsum3.getValue();
for (String s : nodesArr) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]