diff --git a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixSketch.java b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixSketch.java index 43a4c1bc5a4..29089078a89 100644 --- a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixSketch.java +++ b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixSketch.java @@ -22,14 +22,15 @@ import org.apache.commons.lang3.NotImplementedException; import org.apache.sysds.common.Types; +import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; public class LibMatrixSketch { public static MatrixBlock getUniqueValues(MatrixBlock blkIn, Types.Direction dir) { - //similar to R's unique, this operation takes a matrix and computes the - //unique values (or rows in case of multiple column inputs) + // similar to R's unique, this operation takes a matrix and computes the unique values + // (or rows in case of multiple column inputs) int rlen = blkIn.getNumRows(); int clen = blkIn.getNumColumns(); @@ -57,6 +58,63 @@ public static MatrixBlock getUniqueValues(MatrixBlock blkIn, Types.Direction dir break; case Row: + ArrayList retainedRows = new ArrayList<>(); + + for (int i=0; i