This is an automated email from the ASF dual-hosted git repository. baunsgaard pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/systemds.git
The following commit(s) were added to refs/heads/main by this push: new 8bda7c92a0 [MINOR] Optimize contains any Single Index 8bda7c92a0 is described below commit 8bda7c92a06f288bb2fe32583b23ac5633d2f61d Author: Sebastian Baunsgaard <baunsga...@apache.org> AuthorDate: Sat Apr 6 17:32:29 2024 +0200 [MINOR] Optimize contains any Single Index --- .../sysds/runtime/compress/colgroup/indexes/ArrayIndex.java | 10 ++++++++++ .../sysds/runtime/compress/colgroup/indexes/SingleIndex.java | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/src/main/java/org/apache/sysds/runtime/compress/colgroup/indexes/ArrayIndex.java b/src/main/java/org/apache/sysds/runtime/compress/colgroup/indexes/ArrayIndex.java index 0c0693d53c..57cd08fb01 100644 --- a/src/main/java/org/apache/sysds/runtime/compress/colgroup/indexes/ArrayIndex.java +++ b/src/main/java/org/apache/sysds/runtime/compress/colgroup/indexes/ArrayIndex.java @@ -45,6 +45,16 @@ public class ArrayIndex extends AColIndex { return cols[i]; } + /** + * For performance reasons we can extract the array. Be careful when you do. + * + * @return The internal array. + */ + public int[] getArray() { + // For performance reasons available + return cols; + } + @Override public IColIndex shift(int i) { int[] ret = new int[cols.length]; diff --git a/src/main/java/org/apache/sysds/runtime/compress/colgroup/indexes/SingleIndex.java b/src/main/java/org/apache/sysds/runtime/compress/colgroup/indexes/SingleIndex.java index 2b14ecc3e7..3c149512fe 100644 --- a/src/main/java/org/apache/sysds/runtime/compress/colgroup/indexes/SingleIndex.java +++ b/src/main/java/org/apache/sysds/runtime/compress/colgroup/indexes/SingleIndex.java @@ -138,6 +138,15 @@ public class SingleIndex extends AColIndex { return idx; } + + @Override + public boolean containsAny(IColIndex idx) { + if(idx instanceof SingleIndex) + return this.idx == idx.get(0); + else// turn around the logic. + return idx.contains(this.idx); + } + @Override public String toString() { StringBuilder sb = new StringBuilder();