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/24 05:13:25 UTC

incubator-systemml git commit: [SYSTEMML-956]Casting issue with scalar assignment in Frame

Repository: incubator-systemml
Updated Branches:
  refs/heads/master 410f4179c -> dae9ecaac


[SYSTEMML-956]Casting issue with scalar assignment in Frame

Closes 257


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

Branch: refs/heads/master
Commit: dae9ecaac0b2352b6ea871a2c702ba6dd2217b02
Parents: 410f417
Author: Arvind Surve <ac...@yahoo.com>
Authored: Fri Sep 23 22:12:31 2016 -0700
Committer: Arvind Surve <ac...@yahoo.com>
Committed: Fri Sep 23 22:12:31 2016 -0700

----------------------------------------------------------------------
 .../cp/FrameIndexingCPInstruction.java          |  3 +--
 .../mlcontext/MLContextFrameTest.java           | 25 ++++++++------------
 .../apache/sysml/api/mlcontext/FrameA.csv.mtd   |  2 +-
 .../apache/sysml/api/mlcontext/FrameA.ijv.mtd   |  2 +-
 .../apache/sysml/api/mlcontext/FrameB.csv.mtd   |  2 +-
 .../apache/sysml/api/mlcontext/FrameB.ijv.mtd   |  2 +-
 6 files changed, 15 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/dae9ecaa/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java
index df37c6e..21b02c7 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java
@@ -20,7 +20,6 @@
 package org.apache.sysml.runtime.instructions.cp;
 
 import org.apache.sysml.parser.Expression.DataType;
-import org.apache.sysml.parser.Expression.ValueType;
 import org.apache.sysml.runtime.DMLRuntimeException;
 import org.apache.sysml.runtime.controlprogram.context.ExecutionContext;
 import org.apache.sysml.runtime.matrix.data.FrameBlock;
@@ -71,7 +70,7 @@ public final class FrameIndexingCPInstruction extends IndexingCPInstruction
 			else { //FRAME<-SCALAR 
 				if(!ixrange.isScalar())
 					throw new DMLRuntimeException("Invalid index range of scalar leftindexing: "+ixrange.toString()+"." );
-				ScalarObject scalar = ec.getScalarInput(input2.getName(), ValueType.DOUBLE, input2.isLiteral());
+				ScalarObject scalar = ec.getScalarInput(input2.getName(), input2.getValueType(), input2.isLiteral());
 				out = new FrameBlock(lin);
 				out.set((int)ixrange.rowStart, (int)ixrange.colStart, scalar.getStringValue());
 			}

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/dae9ecaa/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextFrameTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextFrameTest.java b/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextFrameTest.java
index df434f1..0c56419 100644
--- a/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextFrameTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextFrameTest.java
@@ -42,6 +42,7 @@ import org.apache.sysml.api.mlcontext.FrameFormat;
 import org.apache.sysml.api.mlcontext.FrameMetadata;
 import org.apache.sysml.api.mlcontext.FrameSchema;
 import org.apache.sysml.api.mlcontext.MLContext;
+import org.apache.sysml.api.mlcontext.MLContext.ExplainLevel;
 import org.apache.sysml.api.mlcontext.MLResults;
 import org.apache.sysml.api.mlcontext.MatrixFormat;
 import org.apache.sysml.api.mlcontext.MatrixMetadata;
@@ -82,6 +83,7 @@ public class MLContextFrameTest extends AutomatedTestBase {
 		if (sc == null)
 			sc = new JavaSparkContext(conf);
 		ml = new MLContext(sc);
+		ml.setExplainLevel(ExplainLevel.RECOMPILE_HOPS);
 	}
 
 	@Override
@@ -293,7 +295,7 @@ public class MLContextFrameTest extends AutomatedTestBase {
 			}
 
 			if (script_type == SCRIPT_TYPE.DML)
-				script = dml("A=read($A); B=read($B);A[2:3,2:4]=B;C=A[2:3,2:3]").in("$A", fileA, fmA)
+				script = dml("A=read($A); B=read($B);A[2:3,2:4]=B;C=A[2:3,2:3];A[1,1]=234").in("$A", fileA, fmA)
 						.in("$B", fileB, fmB).out("A").out("C");
 			else if (script_type == SCRIPT_TYPE.PYDML)
 				// DO NOT USE ; at the end of any statment, it throws NPE
@@ -309,20 +311,13 @@ public class MLContextFrameTest extends AutomatedTestBase {
 		//Validate output schema
 		List<ValueType> lschemaOutA = Arrays.asList(mlResults.getFrameObject("A").getSchema());
 		List<ValueType> lschemaOutC = Arrays.asList(mlResults.getFrameObject("C").getSchema());
-		if(inputType != IO_TYPE.FILE) {
-			Assert.assertEquals(ValueType.INT, lschemaOutA.get(0));
-			Assert.assertEquals(ValueType.STRING, lschemaOutA.get(1));
-			Assert.assertEquals(ValueType.DOUBLE, lschemaOutA.get(2));
-			Assert.assertEquals(ValueType.BOOLEAN, lschemaOutA.get(3));
-			
-			Assert.assertEquals(ValueType.STRING, lschemaOutC.get(0));
-			Assert.assertEquals(ValueType.DOUBLE, lschemaOutC.get(1));
-		} else {
-			for (int i=0; i < lschemaOutA.size(); i++)
-				Assert.assertEquals(ValueType.STRING, lschemaOutA.get(i));
-			for (int i=0; i < lschemaOutC.size(); i++)
-				Assert.assertEquals(ValueType.STRING, lschemaOutC.get(i));
-		}
+		Assert.assertEquals(ValueType.INT, lschemaOutA.get(0));
+		Assert.assertEquals(ValueType.STRING, lschemaOutA.get(1));
+		Assert.assertEquals(ValueType.DOUBLE, lschemaOutA.get(2));
+		Assert.assertEquals(ValueType.BOOLEAN, lschemaOutA.get(3));
+		
+		Assert.assertEquals(ValueType.STRING, lschemaOutC.get(0));
+		Assert.assertEquals(ValueType.DOUBLE, lschemaOutC.get(1));
 
 		if (outputType == IO_TYPE.JAVA_RDD_STR_CSV) {
 

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/dae9ecaa/src/test/scripts/org/apache/sysml/api/mlcontext/FrameA.csv.mtd
----------------------------------------------------------------------
diff --git a/src/test/scripts/org/apache/sysml/api/mlcontext/FrameA.csv.mtd b/src/test/scripts/org/apache/sysml/api/mlcontext/FrameA.csv.mtd
index 907e192..6fc4eb2 100644
--- a/src/test/scripts/org/apache/sysml/api/mlcontext/FrameA.csv.mtd
+++ b/src/test/scripts/org/apache/sysml/api/mlcontext/FrameA.csv.mtd
@@ -1,11 +1,11 @@
 {
     "data_type": "frame",
-    "value_type": "string",
     "rows": 3,
     "cols": 4,
     "nnz": -1,
     "format": "csv",
     "header": false,
+    "schema": "int,string,double,boolean",
     "sep": ",",
     "description": {
         "author": "SystemML"

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/dae9ecaa/src/test/scripts/org/apache/sysml/api/mlcontext/FrameA.ijv.mtd
----------------------------------------------------------------------
diff --git a/src/test/scripts/org/apache/sysml/api/mlcontext/FrameA.ijv.mtd b/src/test/scripts/org/apache/sysml/api/mlcontext/FrameA.ijv.mtd
index e977408..c5a938c 100644
--- a/src/test/scripts/org/apache/sysml/api/mlcontext/FrameA.ijv.mtd
+++ b/src/test/scripts/org/apache/sysml/api/mlcontext/FrameA.ijv.mtd
@@ -1,11 +1,11 @@
 {
     "data_type": "frame",
-    "value_type": "string",
     "rows": 3,
     "cols": 4,
     "nnz": -1,
     "format": "text",
     "header": false,
+    "schema": "int,string,double,boolean",
     "sep": ",",
     "description": {
         "author": "SystemML"

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/dae9ecaa/src/test/scripts/org/apache/sysml/api/mlcontext/FrameB.csv.mtd
----------------------------------------------------------------------
diff --git a/src/test/scripts/org/apache/sysml/api/mlcontext/FrameB.csv.mtd b/src/test/scripts/org/apache/sysml/api/mlcontext/FrameB.csv.mtd
index 729d5db..ad36069 100644
--- a/src/test/scripts/org/apache/sysml/api/mlcontext/FrameB.csv.mtd
+++ b/src/test/scripts/org/apache/sysml/api/mlcontext/FrameB.csv.mtd
@@ -1,11 +1,11 @@
 {
     "data_type": "frame",
-    "value_type": "string",
     "rows": 2,
     "cols": 3,
     "nnz": -1,
     "format": "csv",
     "header": false,
+    "schema": "string,double,boolean",
     "sep": ",",
     "description": {
         "author": "SystemML"

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/dae9ecaa/src/test/scripts/org/apache/sysml/api/mlcontext/FrameB.ijv.mtd
----------------------------------------------------------------------
diff --git a/src/test/scripts/org/apache/sysml/api/mlcontext/FrameB.ijv.mtd b/src/test/scripts/org/apache/sysml/api/mlcontext/FrameB.ijv.mtd
index d8dc5f2..8c8250a 100644
--- a/src/test/scripts/org/apache/sysml/api/mlcontext/FrameB.ijv.mtd
+++ b/src/test/scripts/org/apache/sysml/api/mlcontext/FrameB.ijv.mtd
@@ -1,11 +1,11 @@
 {
     "data_type": "frame",
-    "value_type": "string",
     "rows": 2,
     "cols": 3,
     "nnz": -1,
     "format": "text",
     "header": false,
+    "schema": "string,double,boolean",
     "sep": ",",
     "description": {
         "author": "SystemML"