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 2023/06/01 00:42:31 UTC
[datasketches-java] 01/01: Removed partial ItemsSketch work.
This is an automated email from the ASF dual-hosted git repository.
leerho pushed a commit to branch revert_items_changes_prepare4.1.0
in repository https://gitbox.apache.org/repos/asf/datasketches-java.git
commit e56f0760fdb6aa2e68bd7b9d875bf9deba33e935
Author: Lee Rhodes <le...@users.noreply.github.com>
AuthorDate: Wed May 31 17:42:18 2023 -0700
Removed partial ItemsSketch work.
Left some TODOs as place holders.
Left improvements over 4.0.0.
This becomes the basis for 3.1.0 changes.
Runs all unit tests.
---
.../apache/datasketches/hll/DirectCouponList.java | 2 +-
.../apache/datasketches/kll/KllGenericProxy.java | 79 -----
.../org/apache/datasketches/kll/KllHelper.java | 39 ++-
.../apache/datasketches/kll/KllItemsSketch.java | 320 ---------------------
.../org/apache/datasketches/kll/KllSketch.java | 3 +-
.../datasketches/quantiles/KolmogorovSmirnov.java | 2 +-
.../apache/datasketches/theta/PreambleUtil.java | 1 -
.../apache/datasketches/hll/PreambleUtilTest.java | 6 +-
.../datasketches/kll/KllMiscDirectFloatsTest.java | 2 +-
.../quantiles/KolmogorovSmirnovTest.java | 1 -
.../arrayofdoubles/ArrayOfDoublesUnionTest.java | 2 +-
11 files changed, 27 insertions(+), 430 deletions(-)
diff --git a/src/main/java/org/apache/datasketches/hll/DirectCouponList.java b/src/main/java/org/apache/datasketches/hll/DirectCouponList.java
index b6cc64fd..008aac1d 100644
--- a/src/main/java/org/apache/datasketches/hll/DirectCouponList.java
+++ b/src/main/java/org/apache/datasketches/hll/DirectCouponList.java
@@ -122,7 +122,7 @@ class DirectCouponList extends AbstractCoupons {
insertInt(wmem, LIST_INT_ARR_START + (i << 2), coupon);
int couponCount = extractListCount(mem);
insertListCount(wmem, ++couponCount);
- insertEmptyFlag(wmem, false); //TODO only first time
+ insertEmptyFlag(wmem, false); //only first time
if (couponCount >= len) { //array full
if (lgConfigK < 8) {
return promoteListOrSetToHll(this);//oooFlag = false
diff --git a/src/main/java/org/apache/datasketches/kll/KllGenericProxy.java b/src/main/java/org/apache/datasketches/kll/KllGenericProxy.java
deleted file mode 100644
index d424e2c8..00000000
--- a/src/main/java/org/apache/datasketches/kll/KllGenericProxy.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.datasketches.kll;
-
-import static org.apache.datasketches.kll.KllSketch.Error.TGT_IS_READ_ONLY;
-import static org.apache.datasketches.kll.KllSketch.Error.kllSketchThrow;
-
-abstract class KllGenericProxy<T> extends KllSketch {
-
- KllGenericProxy() {
- super(SketchType.ITEMS_SKETCH, null, null);
- }
-
- /**
- * @return full size of internal items array including garbage.
- */
- abstract T[] getItemsArray();
-
- abstract T getSingleItem();
-
- abstract T getMaxItem();
-
- abstract T getMinItem();
-
- abstract void setItemsArray(T[] Items);
-
- abstract void setItemsArrayAt(int index, T item);
-
- abstract void setMaxItem(T item);
-
- abstract void setMinItem(T item);
-
- /**
- * Merges another sketch into this one.
- * Attempting to merge a KllDoublesSketch with a KllFloatsSketch will
- * throw an exception.
- * @param other sketch to merge into this one
- */
- public final void merge(final KllItemsSketch<T> other) {
- if (readOnly) { kllSketchThrow(TGT_IS_READ_ONLY); }
- //KllItemsHelper.mergeItemImpl((KllItemsSketch)this, other); //TODO
- }
-
- /**
- * {@inheritDoc}
- * <p>The parameter <i>k</i> will not change.</p>
- */
- @SuppressWarnings("unchecked")
- @Override
- public final void reset() {
- if (readOnly) { kllSketchThrow(TGT_IS_READ_ONLY); }
- final int k = getK();
- setN(0);
- setMinK(k);
- setNumLevels(1);
- setLevelZeroSorted(false);
- setLevelsArray(new int[] {k, k});
- setMinItem(null);
- setMaxItem(null);
- setItemsArray((T[])(new Object[k]));
- }
-}
diff --git a/src/main/java/org/apache/datasketches/kll/KllHelper.java b/src/main/java/org/apache/datasketches/kll/KllHelper.java
index 506836ca..86f37fca 100644
--- a/src/main/java/org/apache/datasketches/kll/KllHelper.java
+++ b/src/main/java/org/apache/datasketches/kll/KllHelper.java
@@ -250,9 +250,8 @@ final class KllHelper {
fltSk.setLevelsArrayAt(lvl, newIndex);
}
fltSk.setFloatItemsArray(myFloatItemsArr);
- } else {
- //ITEMS_SKETCH //TODO
}
+ //TODO add items
}
/**
@@ -359,8 +358,7 @@ final class KllHelper {
println("Given N : " + gStats.givenN);
printf("%10s %10s %20s %13s %15s\n", "NumLevels", "MaxItems", "MaxN", "CompactBytes", "UpdatableBytes");
}
- final int typeBytes = sketchType == DOUBLES_SKETCH ? Double.BYTES
- : sketchType == FLOATS_SKETCH ? Float.BYTES : 0; //TODO
+ final int typeBytes = sketchType == DOUBLES_SKETCH ? Double.BYTES : Float.BYTES;
do {
gStats.numLevels++; //
lvlStats = getFinalSketchStatsAtNumLevels(gStats.k, gStats.m, gStats.numLevels, false);
@@ -473,8 +471,7 @@ final class KllHelper {
final int newItemsArrLen) {
final KllSketch.SketchType sketchType = sketch.sketchType;
final WritableMemory oldWmem = sketch.wmem;
- final int typeBytes = sketchType == DOUBLES_SKETCH ? Double.BYTES
- : sketchType == FLOATS_SKETCH ? Float.BYTES : 0; //TODO
+ final int typeBytes = sketchType == DOUBLES_SKETCH ? Double.BYTES : Float.BYTES;
final int requiredSketchBytes = DATA_START_ADR
+ newLevelsArrLen * Integer.BYTES
+ 2 * typeBytes
@@ -615,7 +612,7 @@ final class KllHelper {
if (sketch.getN() == 0) { return byteArr; } //empty
final KllDoublesSketch dblSk = (sketch.sketchType == DOUBLES_SKETCH) ? (KllDoublesSketch)sketch : null;
final KllFloatsSketch fltSk = (sketch.sketchType == FLOATS_SKETCH) ? (KllFloatsSketch)sketch : null;
- //final KllItemsSketch itmSk = (sketch.sketchType == ITEMS_SKETCH) ? (KllItemsSketch)sketch : null; //TODO
+ //TODO add items
//load data
int offset = DATA_START_ADR_SINGLE_ITEM;
@@ -624,7 +621,7 @@ final class KllHelper {
switch (sketch.sketchType) {
case DOUBLES_SKETCH : wmem.putDouble(offset, dblSk.getDoubleItemsArray()[myLevelsArr[0]]); break;
case FLOATS_SKETCH : wmem.putFloat(offset, fltSk.getFloatItemsArray()[myLevelsArr[0]]); break;
- case ITEMS_SKETCH : break; //TODO
+ //case ITEMS_SKETCH : break; //TODO
default: throw new IllegalStateException("Unknown Sketch Type");
}
} else { // n > 1
@@ -657,7 +654,7 @@ final class KllHelper {
wmem.putFloatArray(offset, fltSk.getFloatItemsArray(), myLevelsArr[0], sketch.getNumRetained());
break;
}
- case ITEMS_SKETCH : break; //TODO
+ //case ITEMS_SKETCH : break; //TODO
default: throw new IllegalStateException("Unknown Sketch Type");
}
@@ -707,10 +704,10 @@ final class KllHelper {
ByteArrayUtil.putDoubleLE(byteArr, DATA_START_ADR_SINGLE_ITEM, dblSk.getDoubleSingleItem());
break;
}
- case ITEMS_SKETCH: {
- byteArr = null; //TODO
- break;
- }
+// case ITEMS_SKETCH: {
+// byteArr = null; //TODO
+// break;
+// }
default: return null; //can't happen
}
return byteArr;
@@ -859,9 +856,9 @@ final class KllHelper {
final float[] floatItemsArr = fltSk.getFloatItemsArray();
wmem.putFloatArray(offset, floatItemsArr, 0, floatItemsArr.length);
}
- else {
- //ITEMS_SKETCH //TODO
- }
+// else {
+// //ITEMS_SKETCH //TODO
+// }
return byteArr;
}
@@ -921,9 +918,10 @@ final class KllHelper {
maxFloat = fltSk.getMaxFloatItem();
myCurFloatItemsArr = fltSk.getFloatItemsArray();
assert myCurFloatItemsArr.length == myCurTotalItemsCapacity;
- } else {
- //ITEMS_SKETCH //TODO
}
+// else {
+// //ITEMS_SKETCH //TODO
+// }
assert myCurLevelsArr[0] == 0; //definition of full is part of the growth scheme
final int deltaItemsCap = levelCapacity(sketch.getK(), myCurNumLevels + 1, 0, sketch.getM());
@@ -959,9 +957,10 @@ final class KllHelper {
myNewFloatItemsArr = new float[myNewTotalItemsCapacity];
// copy and shift the current items data into the new array
System.arraycopy(myCurFloatItemsArr, 0, myNewFloatItemsArr, deltaItemsCap, myCurTotalItemsCapacity);
- } else {
- //ITEMS_SKETCH // TODO
}
+// else {
+// //ITEMS_SKETCH // TODO
+// }
//MEMORY SPACE MANAGEMENT
if (sketch.updatableMemFormat) {
diff --git a/src/main/java/org/apache/datasketches/kll/KllItemsSketch.java b/src/main/java/org/apache/datasketches/kll/KllItemsSketch.java
deleted file mode 100644
index 00d44dea..00000000
--- a/src/main/java/org/apache/datasketches/kll/KllItemsSketch.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.datasketches.kll;
-
-import static java.lang.Math.max;
-import static java.lang.Math.min;
-
-import java.util.Comparator;
-import java.util.Objects;
-
-import org.apache.datasketches.common.ArrayOfItemsSerDe;
-import org.apache.datasketches.quantilescommon.GenericSortedView;
-import org.apache.datasketches.quantilescommon.QuantileSearchCriteria;
-import org.apache.datasketches.quantilescommon.QuantilesGenericAPI;
-import org.apache.datasketches.quantilescommon.QuantilesGenericSketchIterator;
-
-public class KllItemsSketch<T> extends KllGenericProxy<T> implements QuantilesGenericAPI<T> {
- private final int k_; // configured size of K.
- private final int m_; // configured size of M.
- private long n_; // number of items input into this sketch.
- private int minK_; // dynamic minK for error estimation after merging with different k.
- private boolean isLevelZeroSorted_;
- private T maxItem_;
- private T minItem_;
- Object[] items_;
- final Class<T> clazz_;
- private final Comparator<? super T> comparator_;
- private final ArrayOfItemsSerDe<T> serDe_;
-
- KllItemsSketch(
- final int k,
- final int m,
- final Class<T> clazz,
- final Comparator<? super T> comparator,
- final ArrayOfItemsSerDe<T> serDe) {
- super();
- Objects.requireNonNull(clazz, "Class<T> must not be null.");
- Objects.requireNonNull(comparator, "Comparator must not be null.");
- Objects.requireNonNull(serDe, "Serializer/Deserializer must not be null.");
- KllHelper.checkM(m);
- KllHelper.checkK(k, m);
- k_ = k;
- m_ = DEFAULT_M;
- n_ = 0;
- minK_ = k;
- isLevelZeroSorted_ = false;
- maxItem_ = null;
- minItem_ = null;
- items_ = new Object[k];
- levelsArr = new int[] {k, k};
- clazz_ = clazz;
- comparator_ = comparator;
- serDe_ = serDe;
- }
-
- /**
- * Create a new heap instance of this sketch with the default <em>k = 200</em>.
- * The default <em>k</em> = 200 results in a normalized rank error of about
- * 1.65%. Larger K will have smaller error but the sketch will be larger (and slower).
- * This will have a rank error of about 1.65%.
- * @param <T> The sketch data type
- * @param clazz the given class of T
- * @param comparator to compare items
- * @param serDe Serializer / deserializer for an array of items, <i>T[]</i>.
- * @return new KllItemsSketch on the heap.
- */
- public static <T> KllItemsSketch<T> newHeapInstance(
- final Class<T> clazz,
- final Comparator<? super T> comparator,
- final ArrayOfItemsSerDe<T> serDe) {
- final KllItemsSketch<T> itmSk = new KllItemsSketch<T>(DEFAULT_K, DEFAULT_M, clazz, comparator, serDe);
- return itmSk;
- }
-
- /**
- * Create a new heap instance of this sketch with a given parameter <em>k</em>.
- * <em>k</em> can be between DEFAULT_M and 65535, inclusive.
- * The default <em>k</em> = 200 results in a normalized rank error of about
- * 1.65%. Larger K will have smaller error but the sketch will be larger (and slower).
- * @param k parameter that controls size of the sketch and accuracy of estimates.
- * @param <T> The sketch data type
- * @param clazz the given class of T
- * @param comparator to compare items
- * @param serDe Serializer / deserializer for an array of items, <i>T[]</i>.
- * @return new KllItemsSketch on the heap.
- */
- public static <T> KllItemsSketch<T> newHeapInstance(
- final int k,
- final Class<T> clazz,
- final Comparator<? super T> comparator,
- final ArrayOfItemsSerDe<T> serDe) {
- final KllItemsSketch<T> itmSk = new KllItemsSketch<T>(k, DEFAULT_M, clazz, comparator, serDe);
- return itmSk;
- }
-
- /**
- * {@inheritDoc}
- * The approximate probability that the true rank is within the confidence interval
- * specified by the upper and lower rank bounds for this sketch is 0.99.
- */
- @Override
- public double getRankLowerBound(final double rank) {
- return max(0.0, rank - KllHelper.getNormalizedRankError(getMinK(), false));
- }
-
- /**
- * {@inheritDoc}
- * The approximate probability that the true rank is within the confidence interval
- * specified by the upper and lower rank bounds for this sketch is 0.99.
- */
- @Override
- public double getRankUpperBound(final double rank) {
- return min(1.0, rank + KllHelper.getNormalizedRankError(getMinK(), false));
- }
-
- @Override
- public double[] getCDF(final T[] splitPoints, final QuantileSearchCriteria searchCrit) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public T getMaxItem() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public T getMinItem() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public GenericPartitionBoundaries<T> getPartitionBoundaries(final int numEquallyWeighted,
- final QuantileSearchCriteria searchCrit) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public double[] getPMF(final T[] splitPoints, final QuantileSearchCriteria searchCrit) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public T getQuantile(final double rank, final QuantileSearchCriteria searchCrit) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public T getQuantileLowerBound(final double rank) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public T getQuantileUpperBound(final double rank) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public T[] getQuantiles(final double[] ranks, final QuantileSearchCriteria searchCrit) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public double getRank(final T quantile, final QuantileSearchCriteria searchCrit) {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public double[] getRanks(final T[] quantiles, final QuantileSearchCriteria searchCrit) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public GenericSortedView<T> getSortedView() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public QuantilesGenericSketchIterator<T> iterator() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void update(final T item) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public int getK() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public long getN() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- int getM() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- int getMinK() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- void incN() {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- void incNumLevels() {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- boolean isLevelZeroSorted() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- void setLevelZeroSorted(final boolean sorted) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- void setMinK(final int minK) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- void setN(final long n) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- void setNumLevels(final int numLevels) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- T[] getItemsArray() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- T getSingleItem() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- void setItemsArray(final T[] Items) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- void setItemsArrayAt(final int index, final T item) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- void setMaxItem(final T item) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- void setMinItem(final T item) {
- // TODO Auto-generated method stub
-
- }
-
-}
diff --git a/src/main/java/org/apache/datasketches/kll/KllSketch.java b/src/main/java/org/apache/datasketches/kll/KllSketch.java
index ed00321f..eb264aa9 100644
--- a/src/main/java/org/apache/datasketches/kll/KllSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllSketch.java
@@ -345,9 +345,8 @@ public abstract class KllSketch implements QuantilesAPI {
} else if (sketchType == FLOATS_SKETCH) {
if (!other.isFloatsSketch()) { kllSketchThrow(SRC_MUST_BE_FLOAT); }
KllFloatsHelper.mergeFloatImpl((KllFloatsSketch)this, other);
- } else {
- //ITEMS_SKETCH //TODO
}
+ //TODO items
}
@Override
diff --git a/src/main/java/org/apache/datasketches/quantiles/KolmogorovSmirnov.java b/src/main/java/org/apache/datasketches/quantiles/KolmogorovSmirnov.java
index ef2b9004..c290b059 100644
--- a/src/main/java/org/apache/datasketches/quantiles/KolmogorovSmirnov.java
+++ b/src/main/java/org/apache/datasketches/quantiles/KolmogorovSmirnov.java
@@ -25,7 +25,7 @@ package org.apache.datasketches.quantiles;
*/
final class KolmogorovSmirnov {
- //TODO This KS test will have to be redesigned to accomodate REQ sketches.
+ //TODO This KS test will have to be redesigned to accommodate REQ sketches.
/**
* Computes the raw delta area between two quantile sketches for the
diff --git a/src/main/java/org/apache/datasketches/theta/PreambleUtil.java b/src/main/java/org/apache/datasketches/theta/PreambleUtil.java
index 2a6c9790..562be982 100644
--- a/src/main/java/org/apache/datasketches/theta/PreambleUtil.java
+++ b/src/main/java/org/apache/datasketches/theta/PreambleUtil.java
@@ -477,7 +477,6 @@ final class PreambleUtil {
wmem.putLong(UNION_THETA_LONG, unionThetaLong);
}
- //TODO convert these to set/clear/any bits
static void setEmpty(final WritableMemory wmem) {
int flags = wmem.getByte(FLAGS_BYTE) & 0XFF;
flags |= EMPTY_FLAG_MASK;
diff --git a/src/test/java/org/apache/datasketches/hll/PreambleUtilTest.java b/src/test/java/org/apache/datasketches/hll/PreambleUtilTest.java
index 2c56b24e..cd1e0cbc 100644
--- a/src/test/java/org/apache/datasketches/hll/PreambleUtilTest.java
+++ b/src/test/java/org/apache/datasketches/hll/PreambleUtilTest.java
@@ -31,18 +31,18 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;
-import org.testng.annotations.Test;
import org.apache.datasketches.common.SketchesArgumentException;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.WritableMemory;
+import org.testng.annotations.Test;
/**
* @author Lee Rhodes
*/
public class PreambleUtilTest {
- @Test
- public void preambleToString() { //TODO Check Visually
+ //@Test
+ public void preambleToString() { // Check Visually
int bytes = HllSketch.getMaxUpdatableSerializationBytes(8, TgtHllType.HLL_4);
byte[] byteArr1 = new byte[bytes];
WritableMemory wmem1 = WritableMemory.writableWrap(byteArr1);
diff --git a/src/test/java/org/apache/datasketches/kll/KllMiscDirectFloatsTest.java b/src/test/java/org/apache/datasketches/kll/KllMiscDirectFloatsTest.java
index ed141e7b..4755a4ab 100644
--- a/src/test/java/org/apache/datasketches/kll/KllMiscDirectFloatsTest.java
+++ b/src/test/java/org/apache/datasketches/kll/KllMiscDirectFloatsTest.java
@@ -391,7 +391,7 @@ public class KllMiscDirectFloatsTest {
public void checkSizes() {
KllFloatsSketch sk = getDFSketch(20, 0);
for (int i = 1; i <= 21; i++) { sk.update(i); }
- println(sk.toString(true, true)); //TODO
+ //println(sk.toString(true, true));
byte[] byteArr1 = KllHelper.toUpdatableByteArrayImpl(sk);
int size1 = sk.getCurrentUpdatableSerializedSizeBytes();
assertEquals(size1, byteArr1.length);
diff --git a/src/test/java/org/apache/datasketches/quantiles/KolmogorovSmirnovTest.java b/src/test/java/org/apache/datasketches/quantiles/KolmogorovSmirnovTest.java
index 20d5f1b3..fd8e4f71 100644
--- a/src/test/java/org/apache/datasketches/quantiles/KolmogorovSmirnovTest.java
+++ b/src/test/java/org/apache/datasketches/quantiles/KolmogorovSmirnovTest.java
@@ -43,7 +43,6 @@ public class KolmogorovSmirnovTest {
s1.update(x + 500);
s2.update(x);
}
- //TODO NEED TO FIX KS Algo, it assumed non-inclusive cumulative weight arrays
//assertEquals(KolmogorovSmirnov.computeKSDelta(s1, s2), 1.0, 1E-6);
println("D = " + KolmogorovSmirnov.computeKSDelta(s1, s2));
}
diff --git a/src/test/java/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnionTest.java b/src/test/java/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnionTest.java
index fd530a12..5171c654 100644
--- a/src/test/java/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnionTest.java
+++ b/src/test/java/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnionTest.java
@@ -467,7 +467,7 @@ public class ArrayOfDoublesUnionTest {
WritableMemory mem2 = WritableMemory.writableWrap(new byte[1_000_000]);
ArrayOfDoublesCompactSketch dcsk = sketch.compact(mem2);
ArrayOfDoublesUnion union = ArrayOfDoublesSketches.wrapUnion(mem); //empty union
- union.union(dcsk); //TODO est error
+ union.union(dcsk);
//ArrayOfDoublesSketches.wrapUnion(mem).union(sketch.compact(WritableMemory.writableWrap(new byte[1_000_000])));
final ArrayOfDoublesSketch result = ArrayOfDoublesUnion.wrap(mem).getResult();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org