You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by ac...@apache.org on 2016/09/27 05:46:28 UTC

incubator-systemml git commit: [SYSTEMML-961] Scalar object assigned as a matrix to frame object Closes 260

Repository: incubator-systemml
Updated Branches:
  refs/heads/master feef7e0c7 -> 79884bd28


[SYSTEMML-961] Scalar object assigned as a matrix to frame object
Closes 260


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

Branch: refs/heads/master
Commit: 79884bd288179076afa8f3ec7fb40ee29e2a17c7
Parents: feef7e0
Author: Arvind Surve <ac...@yahoo.com>
Authored: Mon Sep 26 22:44:18 2016 -0700
Committer: Arvind Surve <ac...@yahoo.com>
Committed: Mon Sep 26 22:44:18 2016 -0700

----------------------------------------------------------------------
 src/main/java/org/apache/sysml/hops/LeftIndexingOp.java | 3 ++-
 src/test/scripts/functions/frame/FrameAppend.R          | 1 +
 src/test/scripts/functions/frame/FrameAppend.dml        | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/79884bd2/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java b/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java
index 07091e7..8025fc0 100644
--- a/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java
+++ b/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java
@@ -193,7 +193,8 @@ public class LeftIndexingOp  extends Hop
 				//insert cast to matrix if necessary (for reuse broadcast runtime)
 				Lop rightInput = right.constructLops();
 				if (isRightHandSideScalar()) {
-					rightInput = new UnaryCP(rightInput, OperationTypes.CAST_AS_MATRIX, DataType.MATRIX, ValueType.DOUBLE);
+					rightInput = new UnaryCP(rightInput, (left.getDataType()==DataType.MATRIX?OperationTypes.CAST_AS_MATRIX:OperationTypes.CAST_AS_FRAME), 
+											left.getDataType(), right.getValueType());
 					long bsize = ConfigurationManager.getBlocksize();
 					rightInput.getOutputParameters().setDimensions( 1, 1, bsize, bsize, -1);
 				} 

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/79884bd2/src/test/scripts/functions/frame/FrameAppend.R
----------------------------------------------------------------------
diff --git a/src/test/scripts/functions/frame/FrameAppend.R b/src/test/scripts/functions/frame/FrameAppend.R
index f97916d..afeaf76 100644
--- a/src/test/scripts/functions/frame/FrameAppend.R
+++ b/src/test/scripts/functions/frame/FrameAppend.R
@@ -24,6 +24,7 @@ options(digits=22)
 library("Matrix")
 
 A=read.csv(paste(args[1], "A.csv", sep=""), header = FALSE, stringsAsFactors=FALSE)
+A[1,101]=346.9
 B=read.csv(paste(args[1], "B.csv", sep=""), header = FALSE, stringsAsFactors=FALSE)
 if(args[3] == "rbind") {
 	C=rbind(A, B)

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/79884bd2/src/test/scripts/functions/frame/FrameAppend.dml
----------------------------------------------------------------------
diff --git a/src/test/scripts/functions/frame/FrameAppend.dml b/src/test/scripts/functions/frame/FrameAppend.dml
index eea118e..5844385 100644
--- a/src/test/scripts/functions/frame/FrameAppend.dml
+++ b/src/test/scripts/functions/frame/FrameAppend.dml
@@ -20,6 +20,7 @@
 #-------------------------------------------------------------
 
 A=read($1, data_type="frame", rows=$2, cols=$3, format="binary")
+A[1,101]=346.9
 B=read($4, data_type="frame", rows=$5, cols=$6, format="binary")
 if ($8 == "rbind") {
 	C=rbind(A, B)