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 2024/04/03 01:16:39 UTC

(datasketches-java) 07/14: changes from 496

This is an automated email from the ASF dual-hosted git repository.

leerho pushed a commit to branch vectorized_kll_updates
in repository https://gitbox.apache.org/repos/asf/datasketches-java.git

commit 8523eb079b9e2957d9dbddbb22cb03fafdd7cc8d
Author: Lee Rhodes <le...@gmail.com>
AuthorDate: Fri Mar 29 12:22:43 2024 -0700

    changes from 496
---
 .../kll/KllDirectCompactItemsSketch.java           |  2 +-
 .../datasketches/kll/KllDirectDoublesSketch.java   | 16 ++++---
 .../datasketches/kll/KllDirectFloatsSketch.java    |  4 +-
 .../apache/datasketches/kll/KllDoublesHelper.java  | 12 ++---
 .../apache/datasketches/kll/KllDoublesSketch.java  | 36 +++++++++------
 .../apache/datasketches/kll/KllFloatsHelper.java   |  2 +-
 .../datasketches/kll/KllHeapDoublesSketch.java     | 10 +++--
 .../datasketches/kll/KllHeapFloatsSketch.java      |  2 +-
 .../datasketches/kll/KllHeapItemsSketch.java       |  4 +-
 .../org/apache/datasketches/kll/KllHelper.java     |  1 +
 .../apache/datasketches/kll/KllItemsHelper.java    |  2 +-
 .../org/apache/datasketches/kll/KllSketch.java     |  2 +-
 .../kll/KllDirectDoublesSketchTest.java            | 12 ++---
 .../kll/KllDirectFloatsSketchTest.java             |  2 +-
 .../datasketches/kll/KllDoublesSketchTest.java     | 52 +++++++++++++++++++++-
 .../datasketches/kll/KllItemsSketchTest.java       | 20 ++++-----
 16 files changed, 120 insertions(+), 59 deletions(-)

diff --git a/src/main/java/org/apache/datasketches/kll/KllDirectCompactItemsSketch.java b/src/main/java/org/apache/datasketches/kll/KllDirectCompactItemsSketch.java
index bf4c49fa..d5a364da 100644
--- a/src/main/java/org/apache/datasketches/kll/KllDirectCompactItemsSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllDirectCompactItemsSketch.java
@@ -235,7 +235,7 @@ final class KllDirectCompactItemsSketch<T> extends KllItemsSketch<T> {
   }
 
   @Override
-  void incN() {
+  void incN(final int increment) {
     throw new SketchesArgumentException(UNSUPPORTED_MSG);
   }
 
diff --git a/src/main/java/org/apache/datasketches/kll/KllDirectDoublesSketch.java b/src/main/java/org/apache/datasketches/kll/KllDirectDoublesSketch.java
index 21128ef0..4f951c51 100644
--- a/src/main/java/org/apache/datasketches/kll/KllDirectDoublesSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllDirectDoublesSketch.java
@@ -284,9 +284,9 @@ class KllDirectDoublesSketch extends KllDoublesSketch {
   }
 
   @Override
-  void incN() {
+  void incN(final int increment) {
     if (readOnly) { throw new SketchesArgumentException(TGT_IS_READ_ONLY_MSG); }
-    setMemoryN(wmem, getMemoryN(wmem) + 1);
+    setMemoryN(wmem, getMemoryN(wmem) + increment);
   }
 
   @Override
@@ -316,6 +316,13 @@ class KllDirectDoublesSketch extends KllDoublesSketch {
     wmem.putDouble(offset, item);
   }
 
+  @Override
+  void setDoubleItemsArrayAt(final int index, final double[] items, final int srcOffset, final int length) {
+    if (readOnly) { throw new SketchesArgumentException(TGT_IS_READ_ONLY_MSG); }
+    final int offset = DATA_START_ADR + getLevelsArrSizeBytes(sketchStructure) + (index + 2) * ITEM_BYTES;
+    wmem.putDoubleArray(offset, items, srcOffset, length);
+  }
+
   @Override
   void setLevelZeroSorted(final boolean sorted) {
     if (readOnly) { throw new SketchesArgumentException(TGT_IS_READ_ONLY_MSG); }
@@ -369,9 +376,4 @@ class KllDirectDoublesSketch extends KllDoublesSketch {
     }
   }
 
-  @Override  //VECTOR UPDATE NOT SUPPORTED
-  void addN(final int numItems) {
-    throw new UnsupportedOperationException(UNSUPPORTED_MSG);
-  }
-
 }
diff --git a/src/main/java/org/apache/datasketches/kll/KllDirectFloatsSketch.java b/src/main/java/org/apache/datasketches/kll/KllDirectFloatsSketch.java
index 9f611e9b..c9be0687 100644
--- a/src/main/java/org/apache/datasketches/kll/KllDirectFloatsSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllDirectFloatsSketch.java
@@ -284,9 +284,9 @@ class KllDirectFloatsSketch extends KllFloatsSketch {
   }
 
   @Override
-  void incN() {
+  void incN(final int increment) {
     if (readOnly) { throw new SketchesArgumentException(TGT_IS_READ_ONLY_MSG); }
-    setMemoryN(wmem, getMemoryN(wmem) + 1);
+    setMemoryN(wmem, getMemoryN(wmem) + increment);
   }
 
   @Override
diff --git a/src/main/java/org/apache/datasketches/kll/KllDoublesHelper.java b/src/main/java/org/apache/datasketches/kll/KllDoublesHelper.java
index dd6fc87f..07a5b137 100644
--- a/src/main/java/org/apache/datasketches/kll/KllDoublesHelper.java
+++ b/src/main/java/org/apache/datasketches/kll/KllDoublesHelper.java
@@ -323,7 +323,7 @@ final class KllDoublesHelper {
       freeSpace = dblSk.levelsArr[0];
       assert (freeSpace > 0);
     }
-    dblSk.incN();
+    dblSk.incN(1);
     dblSk.setLevelZeroSorted(false);
     final int nextPos = freeSpace - 1;
     dblSk.setLevelsArrayAt(0, nextPos);
@@ -343,8 +343,8 @@ final class KllDoublesHelper {
   }
 
   //called only from KllDoublesSketch for VECTOR UPDATE
-  static void updateDouble(final KllDoublesSketch dblSk,
-      final double[] items, final int offset, final int length) {
+  static void updateDouble(final KllDoublesSketch dblSk, final double[] items, 
+                           final int offset, final int length) {
     dblSk.updateMinMax(items, offset, length);
     int count = 0;
     while (count < length) {
@@ -356,11 +356,11 @@ final class KllDoublesHelper {
       assert (freeSpace > 0);
       final int numItemsToCopy = Math.min(spaceNeeded, freeSpace);
       final int dstOffset = freeSpace - numItemsToCopy;
-      System.arraycopy(items, offset + count, dblSk.getDoubleItemsArray(), dstOffset, numItemsToCopy);
-      count += numItemsToCopy;
-      dblSk.addN(numItemsToCopy);
+      dblSk.incN(numItemsToCopy);
       dblSk.setLevelZeroSorted(false);
       dblSk.setLevelsArrayAt(0, dstOffset);
+      dblSk.setDoubleItemsArrayAt(dstOffset, items, offset + count, numItemsToCopy);
+      count += numItemsToCopy;
       //System.out.println(dblSk.toString(true, true));
     }
   }
diff --git a/src/main/java/org/apache/datasketches/kll/KllDoublesSketch.java b/src/main/java/org/apache/datasketches/kll/KllDoublesSketch.java
index c48682f0..5828cf72 100644
--- a/src/main/java/org/apache/datasketches/kll/KllDoublesSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllDoublesSketch.java
@@ -351,10 +351,9 @@ public abstract class KllDoublesSketch extends KllSketch implements QuantilesDou
    * @param length the number of items
    */
   public void update(final double[] items, final int offset, final int length) {
-    if (this instanceof KllDirectDoublesSketch) {
-      throw new UnsupportedOperationException(UNSUPPORTED_MSG);
-    }
+    //TODO will this work for direct?
     if (readOnly) { throw new SketchesArgumentException(TGT_IS_READ_ONLY_MSG); }
+    if (length == 0) { return; }
     boolean hasNaN = false;
     boolean allNaNs = true;
     for (int i = 0; i < length; i++) {
@@ -365,8 +364,7 @@ public abstract class KllDoublesSketch extends KllSketch implements QuantilesDou
     if (allNaNs) { return; }
     else if (!hasNaN) { // fast path
       KllDoublesHelper.updateDouble(this, items, offset, length);
-    }
-    else {
+    } else {
       for (int i = 0; i < length; i++) {
         final double v = items[offset + i];
         if (!Double.isNaN(v)) {
@@ -379,15 +377,6 @@ public abstract class KllDoublesSketch extends KllSketch implements QuantilesDou
 
   //restricted
 
-  abstract void addN(int numItems);
-
-  void updateMinMax(final double[] items, final int offset, final int length) {
-    final int end = offset + length;
-    for (int i = offset; i < end; i++) {
-      updateMinMax(items[i]);
-    }
-  }
-
   // END VECTOR UPDATE
 
   /**
@@ -445,6 +434,8 @@ public abstract class KllDoublesSketch extends KllSketch implements QuantilesDou
 
   abstract void setDoubleItemsArrayAt(int index, double item);
 
+  abstract void setDoubleItemsArrayAt(int index, double[] items, int offset, int length);
+
   abstract void setMaxItem(double item);
 
   abstract void setMinItem(double item);
@@ -459,6 +450,23 @@ public abstract class KllDoublesSketch extends KllSketch implements QuantilesDou
     }
   }
 
+  void updateMinMax(final double[] items, final int offset, final int length) {
+    double min = items[offset];
+    double max = min;
+    for (int i = 1; i < length; i++) {
+      final double v = items[offset + i];
+      min = Math.min(min, v);
+      max = Math.max(max, v);
+    }
+    if (isEmpty()) {
+      setMinItem(min);
+      setMaxItem(max);
+    } else {
+      setMinItem(Math.min(getMinItem(), min));
+      setMaxItem(Math.max(getMaxItem(), max));
+    }
+  }
+
   private final DoublesSketchSortedView refreshSortedView() {
     if (doublesSV == null) {
       final CreateSortedView csv = new CreateSortedView();
diff --git a/src/main/java/org/apache/datasketches/kll/KllFloatsHelper.java b/src/main/java/org/apache/datasketches/kll/KllFloatsHelper.java
index 53f1e35f..1a71c344 100644
--- a/src/main/java/org/apache/datasketches/kll/KllFloatsHelper.java
+++ b/src/main/java/org/apache/datasketches/kll/KllFloatsHelper.java
@@ -323,7 +323,7 @@ final class KllFloatsHelper {
       freeSpace = fltSk.levelsArr[0];
       assert (freeSpace > 0);
     }
-    fltSk.incN();
+    fltSk.incN(1);
     fltSk.setLevelZeroSorted(false);
     final int nextPos = freeSpace - 1;
     fltSk.setLevelsArrayAt(0, nextPos);
diff --git a/src/main/java/org/apache/datasketches/kll/KllHeapDoublesSketch.java b/src/main/java/org/apache/datasketches/kll/KllHeapDoublesSketch.java
index 7ded5c79..b23b5763 100644
--- a/src/main/java/org/apache/datasketches/kll/KllHeapDoublesSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllHeapDoublesSketch.java
@@ -198,9 +198,6 @@ final class KllHeapDoublesSketch extends KllDoublesSketch {
 
   //restricted
 
-  @Override //VECTOR UPDATE
-  void addN(final int numItems) { n += numItems; }
-  
   @Override
   double[] getDoubleItemsArray() { return doubleItems; }
 
@@ -258,7 +255,7 @@ final class KllHeapDoublesSketch extends KllDoublesSketch {
   }
 
   @Override
-  void incN() { n++; }
+  void incN(final int increment) { n += increment; }
 
   @Override
   void incNumLevels() {
@@ -274,6 +271,11 @@ final class KllHeapDoublesSketch extends KllDoublesSketch {
   @Override
   void setDoubleItemsArrayAt(final int index, final double item) { this.doubleItems[index] = item; }
 
+  @Override
+  void setDoubleItemsArrayAt(final int index, final double[] items, final int offset, final int length) {
+    System.arraycopy(items, offset, doubleItems, index, length);
+  }
+
   @Override
   void setLevelZeroSorted(final boolean sorted) { this.isLevelZeroSorted = sorted; }
 
diff --git a/src/main/java/org/apache/datasketches/kll/KllHeapFloatsSketch.java b/src/main/java/org/apache/datasketches/kll/KllHeapFloatsSketch.java
index cc39cce7..cafefde7 100644
--- a/src/main/java/org/apache/datasketches/kll/KllHeapFloatsSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllHeapFloatsSketch.java
@@ -255,7 +255,7 @@ final class KllHeapFloatsSketch extends KllFloatsSketch {
   }
 
   @Override
-  void incN() { n++; }
+  void incN(final int increment) { n += increment; }
 
   @Override
   void incNumLevels() {
diff --git a/src/main/java/org/apache/datasketches/kll/KllHeapItemsSketch.java b/src/main/java/org/apache/datasketches/kll/KllHeapItemsSketch.java
index 83ba7790..e58516fd 100644
--- a/src/main/java/org/apache/datasketches/kll/KllHeapItemsSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllHeapItemsSketch.java
@@ -266,9 +266,7 @@ final class KllHeapItemsSketch<T> extends KllItemsSketch<T> {
   }
 
   @Override
-  void incN() {
-    n++;
-  }
+  void incN(final int increment) { n += increment; }
 
   @Override
   boolean isLevelZeroSorted() {
diff --git a/src/main/java/org/apache/datasketches/kll/KllHelper.java b/src/main/java/org/apache/datasketches/kll/KllHelper.java
index 6b7d1138..9161f28e 100644
--- a/src/main/java/org/apache/datasketches/kll/KllHelper.java
+++ b/src/main/java/org/apache/datasketches/kll/KllHelper.java
@@ -688,6 +688,7 @@ final class KllHelper {
       itmSk.setMaxItem(maxItem);
       itmSk.setItemsArray(myNewItemsArr);
     }
+
   }
 
   /**
diff --git a/src/main/java/org/apache/datasketches/kll/KllItemsHelper.java b/src/main/java/org/apache/datasketches/kll/KllItemsHelper.java
index b79f30a0..00b8c7d3 100644
--- a/src/main/java/org/apache/datasketches/kll/KllItemsHelper.java
+++ b/src/main/java/org/apache/datasketches/kll/KllItemsHelper.java
@@ -325,7 +325,7 @@ final class KllItemsHelper {
       freeSpace = itmSk.levelsArr[0];
       assert (freeSpace > 0);
     }
-    itmSk.incN();
+    itmSk.incN(1);
     itmSk.setLevelZeroSorted(false);
     final int nextPos = freeSpace - 1;
     itmSk.setLevelsArrayAt(0, nextPos);
diff --git a/src/main/java/org/apache/datasketches/kll/KllSketch.java b/src/main/java/org/apache/datasketches/kll/KllSketch.java
index 2d7385f6..4ce15aba 100644
--- a/src/main/java/org/apache/datasketches/kll/KllSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllSketch.java
@@ -434,7 +434,7 @@ public abstract class KllSketch implements QuantilesAPI {
    */
   abstract WritableMemory getWritableMemory();
 
-  abstract void incN();
+  abstract void incN(int increment);
 
   abstract void incNumLevels();
 
diff --git a/src/test/java/org/apache/datasketches/kll/KllDirectDoublesSketchTest.java b/src/test/java/org/apache/datasketches/kll/KllDirectDoublesSketchTest.java
index b5ec618b..996b57ce 100644
--- a/src/test/java/org/apache/datasketches/kll/KllDirectDoublesSketchTest.java
+++ b/src/test/java/org/apache/datasketches/kll/KllDirectDoublesSketchTest.java
@@ -616,13 +616,13 @@ public class KllDirectDoublesSketchTest {
     boolean bool = true;
     KllDoublesSketch sk = KllDoublesSketch.newHeapInstance(k);
     KllDoublesSketch sk2 = KllDoublesSketch.wrap(Memory.wrap(sk.toByteArray()));
-    try { sk2.incN();                            fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.incN(1);                           fail(); } catch (SketchesArgumentException e) { }
     try { sk2.incNumLevels();                    fail(); } catch (SketchesArgumentException e) { }
-    try { sk2.setDoubleItemsArray(dblArr);      fail(); } catch (SketchesArgumentException e) { }
-    try { sk2.setDoubleItemsArrayAt(idx, dblV); fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.setDoubleItemsArray(dblArr);       fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.setDoubleItemsArrayAt(idx, dblV);  fail(); } catch (SketchesArgumentException e) { }
     try { sk2.setLevelZeroSorted(bool);          fail(); } catch (SketchesArgumentException e) { }
-    try { sk2.setMaxItem(dblV);           fail(); } catch (SketchesArgumentException e) { }
-    try { sk2.setMinItem(dblV);           fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.setMaxItem(dblV);                  fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.setMinItem(dblV);                  fail(); } catch (SketchesArgumentException e) { }
     try { sk2.setMinK(idx);                      fail(); } catch (SketchesArgumentException e) { }
     try { sk2.setN(idx);                         fail(); } catch (SketchesArgumentException e) { }
     try { sk2.setNumLevels(idx);                 fail(); } catch (SketchesArgumentException e) { }
@@ -672,7 +672,7 @@ public class KllDirectDoublesSketchTest {
     return ddsk;
   }
 
-  private final static boolean enablePrinting = true;
+  private final static boolean enablePrinting = false;
 
   /**
    * @param o the Object to println
diff --git a/src/test/java/org/apache/datasketches/kll/KllDirectFloatsSketchTest.java b/src/test/java/org/apache/datasketches/kll/KllDirectFloatsSketchTest.java
index 3013e629..8ab61edd 100644
--- a/src/test/java/org/apache/datasketches/kll/KllDirectFloatsSketchTest.java
+++ b/src/test/java/org/apache/datasketches/kll/KllDirectFloatsSketchTest.java
@@ -616,7 +616,7 @@ public class KllDirectFloatsSketchTest {
     boolean bool = true;
     KllFloatsSketch sk = KllFloatsSketch.newHeapInstance(k);
     KllFloatsSketch sk2 = KllFloatsSketch.wrap(Memory.wrap(sk.toByteArray()));
-    try { sk2.incN();                          fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.incN(1);                         fail(); } catch (SketchesArgumentException e) { }
     try { sk2.incNumLevels();                  fail(); } catch (SketchesArgumentException e) { }
     try { sk2.setFloatItemsArray(fltArr);      fail(); } catch (SketchesArgumentException e) { }
     try { sk2.setFloatItemsArrayAt(idx, fltV); fail(); } catch (SketchesArgumentException e) { }
diff --git a/src/test/java/org/apache/datasketches/kll/KllDoublesSketchTest.java b/src/test/java/org/apache/datasketches/kll/KllDoublesSketchTest.java
index 2539101c..5620006b 100644
--- a/src/test/java/org/apache/datasketches/kll/KllDoublesSketchTest.java
+++ b/src/test/java/org/apache/datasketches/kll/KllDoublesSketchTest.java
@@ -187,6 +187,56 @@ public class KllDoublesSketchTest {
     }
   }
 
+  @Test
+  public void vectorizedUpdates() {
+    final int trials = 1000;
+    final int M = 1000;
+    final int N = 1000;
+    final long startTime = System.currentTimeMillis();
+    for (int t = 0; t < trials; t++) {
+      final KllDoublesSketch sketch = KllDoublesSketch.newHeapInstance();
+      final double[] values = new double[N];
+      for (int m = 0; m < M; m++) {
+        for (int n = 0; n < N; n++) {
+          values[n] = m * N + n;
+        }
+        sketch.update(values, 0, N);
+      }
+      assertEquals(sketch.getN(), M * N);
+      assertEquals(sketch.getMinItem(), 0.0);
+      assertEquals(sketch.getMaxItem(), M * N - 1.0);
+      assertEquals(sketch.getQuantile(0.5), M * N / 2.0, M * N * PMF_EPS_FOR_K_256);
+    }
+    final long endTime = System.currentTimeMillis();
+    System.out.println("vectorizedUpdates: " + (endTime - startTime) + " ms");
+  }
+
+  @Test
+  public void nonVectorizedUpdates() {
+    final int trials = 1000;
+    final int M = 1000;
+    final int N = 1000;
+    final long startTime = System.currentTimeMillis();
+    for (int t = 0; t < trials; t++) {
+      final KllDoublesSketch sketch = KllDoublesSketch.newHeapInstance();
+      final double[] values = new double[N];
+      for (int m = 0; m < M; m++) {
+        for (int n = 0; n < N; n++) {
+          values[n] = m * N + n;
+        }
+        for (int i = 0; i < N; i++) {
+          sketch.update(values[i]);
+        }
+      }
+      assertEquals(sketch.getN(), M * N);
+      assertEquals(sketch.getMinItem(), 0.0);
+      assertEquals(sketch.getMaxItem(), M * N - 1.0);
+      assertEquals(sketch.getQuantile(0.5), M * N / 2.0, M * N * PMF_EPS_FOR_K_256);
+    }
+    final long endTime = System.currentTimeMillis();
+    System.out.println("nonVectorizedUpdates: " + (endTime - startTime) + " ms");
+  }
+
   @Test
   public void getRankGetCdfGetPmfConsistency() {
     final KllDoublesSketch sketch = KllDoublesSketch.newHeapInstance();
@@ -631,7 +681,7 @@ public class KllDoublesSketchTest {
     println("");
   }
 
-  private final static boolean enablePrinting = true;
+  private final static boolean enablePrinting = false;
 
   /**
    * @param format the format
diff --git a/src/test/java/org/apache/datasketches/kll/KllItemsSketchTest.java b/src/test/java/org/apache/datasketches/kll/KllItemsSketchTest.java
index 74f69f54..00028e34 100644
--- a/src/test/java/org/apache/datasketches/kll/KllItemsSketchTest.java
+++ b/src/test/java/org/apache/datasketches/kll/KllItemsSketchTest.java
@@ -715,19 +715,19 @@ public class KllItemsSketchTest {
   @Test
   public void checkExceptions() {
     final KllItemsSketch<String> sk = KllItemsSketch.newHeapInstance(20, Comparator.naturalOrder(), serDe);
-    try { sk.getTotalItemsByteArr(); fail(); } catch (SketchesArgumentException e) { }
-    try { sk.getTotalItemsNumBytes(); fail(); } catch (SketchesArgumentException e) { }
-    try { sk.setWritableMemory(null); fail(); } catch (SketchesArgumentException e) { }
+    try { sk.getTotalItemsByteArr();     fail(); } catch (SketchesArgumentException e) { }
+    try { sk.getTotalItemsNumBytes();    fail(); } catch (SketchesArgumentException e) { }
+    try { sk.setWritableMemory(null);    fail(); } catch (SketchesArgumentException e) { }
     byte[] byteArr = sk.toByteArray();
     final KllItemsSketch<String> sk2 = KllItemsSketch.wrap(Memory.wrap(byteArr), Comparator.naturalOrder(), serDe);
-    try { sk2.incN(); fail(); } catch (SketchesArgumentException e) { }
-    try { sk2.setItemsArray(null); fail(); } catch (SketchesArgumentException e) { }
-    try { sk2.setItemsArrayAt(0, null); fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.incN(1);                   fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.setItemsArray(null);       fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.setItemsArrayAt(0, null);  fail(); } catch (SketchesArgumentException e) { }
     try { sk2.setLevelZeroSorted(false); fail(); } catch (SketchesArgumentException e) { }
-    try { sk2.setMaxItem(null); fail(); } catch (SketchesArgumentException e) { }
-    try { sk2.setMinItem(null); fail(); } catch (SketchesArgumentException e) { }
-    try { sk2.setMinK(0); fail(); } catch (SketchesArgumentException e) { }
-    try { sk2.setN(0); fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.setMaxItem(null);          fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.setMinItem(null);          fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.setMinK(0);                fail(); } catch (SketchesArgumentException e) { }
+    try { sk2.setN(0);                   fail(); } catch (SketchesArgumentException e) { }
   }
 
   @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org