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]

Reply via email to