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 0702c5518f [MINOR] add boolean flag for binary operators
0702c5518f is described below

commit 0702c5518f8dd410fb7c0d122b2d457cc5f6effe
Author: Sebastian Baunsgaard <[email protected]>
AuthorDate: Fri Jan 5 12:55:42 2024 +0100

    [MINOR] add boolean flag for binary operators
---
 .../java/org/apache/sysds/runtime/functionobjects/And.java |  5 +++++
 .../org/apache/sysds/runtime/functionobjects/Equals.java   |  5 +++++
 .../apache/sysds/runtime/functionobjects/GreaterThan.java  |  5 +++++
 .../sysds/runtime/functionobjects/GreaterThanEquals.java   |  6 ++++++
 .../org/apache/sysds/runtime/functionobjects/LessThan.java |  5 +++++
 .../sysds/runtime/functionobjects/LessThanEquals.java      |  5 +++++
 .../java/org/apache/sysds/runtime/functionobjects/Not.java |  5 +++++
 .../apache/sysds/runtime/functionobjects/NotEquals.java    |  5 +++++
 .../java/org/apache/sysds/runtime/functionobjects/Or.java  |  5 +++++
 .../sysds/runtime/functionobjects/ValueFunction.java       | 14 +++++++++++---
 .../java/org/apache/sysds/runtime/functionobjects/Xor.java |  5 +++++
 11 files changed, 62 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/apache/sysds/runtime/functionobjects/And.java 
b/src/main/java/org/apache/sysds/runtime/functionobjects/And.java
index 5ae5017c2f..027e470bb7 100644
--- a/src/main/java/org/apache/sysds/runtime/functionobjects/And.java
+++ b/src/main/java/org/apache/sysds/runtime/functionobjects/And.java
@@ -44,4 +44,9 @@ public class And extends ValueFunction
        public double execute(double in1, double in2) {
                return ((in1 != 0) && (in2 != 0)) ? 1 : 0;
        }
+
+       @Override
+       public boolean isBinary(){
+               return true;
+       }
 }
diff --git a/src/main/java/org/apache/sysds/runtime/functionobjects/Equals.java 
b/src/main/java/org/apache/sysds/runtime/functionobjects/Equals.java
index 93160b2780..f8000b49ac 100644
--- a/src/main/java/org/apache/sysds/runtime/functionobjects/Equals.java
+++ b/src/main/java/org/apache/sysds/runtime/functionobjects/Equals.java
@@ -74,4 +74,9 @@ public class Equals extends ValueComparisonFunction
        public boolean compare(String in1, String in2) {
                return ( in1!=null && in1.equals(in2) );
        }
+
+       @Override
+       public boolean isBinary(){
+               return true;
+       }
 }
diff --git 
a/src/main/java/org/apache/sysds/runtime/functionobjects/GreaterThan.java 
b/src/main/java/org/apache/sysds/runtime/functionobjects/GreaterThan.java
index aa656ff12e..15ed75344e 100644
--- a/src/main/java/org/apache/sysds/runtime/functionobjects/GreaterThan.java
+++ b/src/main/java/org/apache/sysds/runtime/functionobjects/GreaterThan.java
@@ -74,4 +74,9 @@ public class GreaterThan extends ValueComparisonFunction
        public boolean compare(String in1, String in2) {
                return (in1!=null && in1.compareTo(in2)>0 );
        }
+
+       @Override
+       public boolean isBinary(){
+               return true;
+       }
 }
diff --git 
a/src/main/java/org/apache/sysds/runtime/functionobjects/GreaterThanEquals.java 
b/src/main/java/org/apache/sysds/runtime/functionobjects/GreaterThanEquals.java
index fb52d71592..907c32e387 100644
--- 
a/src/main/java/org/apache/sysds/runtime/functionobjects/GreaterThanEquals.java
+++ 
b/src/main/java/org/apache/sysds/runtime/functionobjects/GreaterThanEquals.java
@@ -74,4 +74,10 @@ public class GreaterThanEquals extends 
ValueComparisonFunction
        public boolean compare(String in1, String in2) {
                return (in1!=null && in1.compareTo(in2)>=0 );
        }
+
+       @Override
+       public boolean isBinary(){
+               return true;
+       }
+
 }
diff --git 
a/src/main/java/org/apache/sysds/runtime/functionobjects/LessThan.java 
b/src/main/java/org/apache/sysds/runtime/functionobjects/LessThan.java
index dc5cc4d277..108fd5b6de 100644
--- a/src/main/java/org/apache/sysds/runtime/functionobjects/LessThan.java
+++ b/src/main/java/org/apache/sysds/runtime/functionobjects/LessThan.java
@@ -73,4 +73,9 @@ public class LessThan extends ValueComparisonFunction
        public boolean compare(String in1, String in2) {
                return (in1!=null && in1.compareTo(in2)<0 );
        }
+
+       @Override
+       public boolean isBinary(){
+               return true;
+       }
 }
diff --git 
a/src/main/java/org/apache/sysds/runtime/functionobjects/LessThanEquals.java 
b/src/main/java/org/apache/sysds/runtime/functionobjects/LessThanEquals.java
index 54d46de687..e49e0c4beb 100644
--- a/src/main/java/org/apache/sysds/runtime/functionobjects/LessThanEquals.java
+++ b/src/main/java/org/apache/sysds/runtime/functionobjects/LessThanEquals.java
@@ -73,4 +73,9 @@ public class LessThanEquals extends ValueComparisonFunction
        public boolean compare(String in1, String in2) {
                return (in1!=null && in1.compareTo(in2)<=0 );
        }
+
+       @Override
+       public boolean isBinary(){
+               return true;
+       }
 }
diff --git a/src/main/java/org/apache/sysds/runtime/functionobjects/Not.java 
b/src/main/java/org/apache/sysds/runtime/functionobjects/Not.java
index 164712b43b..8084377b08 100644
--- a/src/main/java/org/apache/sysds/runtime/functionobjects/Not.java
+++ b/src/main/java/org/apache/sysds/runtime/functionobjects/Not.java
@@ -44,4 +44,9 @@ public class Not extends ValueFunction
        public double execute(double in) {
                return (in == 0) ? 1 : 0;
        }
+
+       @Override
+       public boolean isBinary(){
+               return true;
+       }
 }
diff --git 
a/src/main/java/org/apache/sysds/runtime/functionobjects/NotEquals.java 
b/src/main/java/org/apache/sysds/runtime/functionobjects/NotEquals.java
index 818536ffc8..a0957b8880 100644
--- a/src/main/java/org/apache/sysds/runtime/functionobjects/NotEquals.java
+++ b/src/main/java/org/apache/sysds/runtime/functionobjects/NotEquals.java
@@ -73,4 +73,9 @@ public class NotEquals extends ValueComparisonFunction
        public boolean compare(String in1, String in2) {
                return !( in1!=null && in1.equals(in2) );
        }
+
+       @Override
+       public boolean isBinary(){
+               return true;
+       }
 }
diff --git a/src/main/java/org/apache/sysds/runtime/functionobjects/Or.java 
b/src/main/java/org/apache/sysds/runtime/functionobjects/Or.java
index 61587cf31b..08305fdf44 100644
--- a/src/main/java/org/apache/sysds/runtime/functionobjects/Or.java
+++ b/src/main/java/org/apache/sysds/runtime/functionobjects/Or.java
@@ -44,4 +44,9 @@ public class Or extends ValueFunction
        public double execute(double in1, double in2) {
                return ((in1 != 0) || (in2 != 0)) ? 1 : 0;
        }
+
+       @Override
+       public boolean isBinary(){
+               return true;
+       }
 }
diff --git 
a/src/main/java/org/apache/sysds/runtime/functionobjects/ValueFunction.java 
b/src/main/java/org/apache/sysds/runtime/functionobjects/ValueFunction.java
index f418e77dd5..f38616b2d7 100644
--- a/src/main/java/org/apache/sysds/runtime/functionobjects/ValueFunction.java
+++ b/src/main/java/org/apache/sysds/runtime/functionobjects/ValueFunction.java
@@ -19,11 +19,19 @@
 
 package org.apache.sysds.runtime.functionobjects;
 
-public abstract class ValueFunction extends FunctionObject
-{
+public abstract class ValueFunction extends FunctionObject {
        private static final long serialVersionUID = -4985988545393861058L;
-       
+
        public boolean requiresCorrection() {
                return false;
        }
+
+       public boolean isBinary(){
+               return false;
+       }
+
+       @Override
+       public String toString() {
+               return this.getClass().getSimpleName();
+       }
 }
diff --git a/src/main/java/org/apache/sysds/runtime/functionobjects/Xor.java 
b/src/main/java/org/apache/sysds/runtime/functionobjects/Xor.java
index ccd39afa14..fffd2955b3 100644
--- a/src/main/java/org/apache/sysds/runtime/functionobjects/Xor.java
+++ b/src/main/java/org/apache/sysds/runtime/functionobjects/Xor.java
@@ -44,4 +44,9 @@ public class Xor extends ValueFunction
        public double execute(double in1, double in2) {
                return ((in1 != 0) != (in2 != 0)) ? 1 : 0;
        }
+
+       @Override
+       public boolean isBinary(){
+               return true;
+       }
 }

Reply via email to