[MINOR] Add missing support for ternary ops over compressed matrices

Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/80dcb528
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/80dcb528
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/80dcb528

Branch: refs/heads/master
Commit: 80dcb52808c9a5cf6903c1044abfd33d94ab3123
Parents: 1608528
Author: Matthias Boehm <[email protected]>
Authored: Sun Jun 24 01:15:54 2018 -0700
Committer: Matthias Boehm <[email protected]>
Committed: Sun Jun 24 01:15:54 2018 -0700

----------------------------------------------------------------------
 .../sysml/runtime/compress/CompressedMatrixBlock.java     | 10 ++++++++++
 1 file changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/80dcb528/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java 
b/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
index 1f87ea3..40a6674 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
@@ -90,6 +90,7 @@ import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.runtime.matrix.operators.QuaternaryOperator;
 import org.apache.sysml.runtime.matrix.operators.ReorgOperator;
 import org.apache.sysml.runtime.matrix.operators.ScalarOperator;
+import org.apache.sysml.runtime.matrix.operators.TernaryOperator;
 import org.apache.sysml.runtime.matrix.operators.UnaryOperator;
 import org.apache.sysml.runtime.util.CommonThreadPool;
 import org.apache.sysml.runtime.util.IndexRange;
@@ -2259,6 +2260,15 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                MatrixBlock right2 = getUncompressed(that2);
                left.ctableOperations(op, right1, right2, resultMap, 
resultBlock);
        }
+       
+       @Override
+       public MatrixBlock ternaryOperations(TernaryOperator op, MatrixBlock 
m2, MatrixBlock m3, MatrixBlock ret) {
+               printDecompressWarning("ternaryOperations");
+               MatrixBlock left = isCompressed() ? decompress() : this;
+               MatrixBlock right1 = getUncompressed(m2);
+               MatrixBlock right2 = getUncompressed(m3);
+               return left.ternaryOperations(op, right1, right2, ret);
+       }
 
        @Override
        public MatrixBlock quaternaryOperations(QuaternaryOperator qop,

Reply via email to