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;
+ }
}