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();

Reply via email to