You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by de...@apache.org on 2017/02/08 00:51:58 UTC

incubator-systemml git commit: [SYSTEMML-1237] Add input float support to MLContext

Repository: incubator-systemml
Updated Branches:
  refs/heads/master 6158bfaf9 -> 390b81c26


[SYSTEMML-1237] Add input float support to MLContext

Implicitly cast float to double in in(String, Object, Metadata) method
of Script class.

Closes #382.


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

Branch: refs/heads/master
Commit: 390b81c263cc5a344f3736d1482aaba258413518
Parents: 6158bfa
Author: Deron Eriksson <de...@us.ibm.com>
Authored: Tue Feb 7 16:49:18 2017 -0800
Committer: Deron Eriksson <de...@us.ibm.com>
Committed: Tue Feb 7 16:49:18 2017 -0800

----------------------------------------------------------------------
 .../org/apache/sysml/api/mlcontext/Script.java  |  4 ++++
 .../integration/mlcontext/MLContextTest.java    | 20 ++++++++++++++++++++
 2 files changed, 24 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/390b81c2/src/main/java/org/apache/sysml/api/mlcontext/Script.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/Script.java b/src/main/java/org/apache/sysml/api/mlcontext/Script.java
index e96e7dd..54903b7 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/Script.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/Script.java
@@ -324,6 +324,10 @@ public class Script {
 			// convert Long to Integer since Long not a supported value type
 			Long lng = (Long) value;
 			value = lng.intValue();
+		} else if ((value != null) && (value instanceof Float)) {
+			// convert Float to Double since Float not a supported value type
+			Float flt = (Float) value;
+			value = flt.doubleValue();
 		}
 
 		MLContextUtil.checkInputValueType(name, value);

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/390b81c2/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextTest.java b/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextTest.java
index 2241ad1..e15f8dd 100644
--- a/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/mlcontext/MLContextTest.java
@@ -2527,6 +2527,26 @@ public class MLContextTest extends AutomatedTestBase {
 		ml.execute(script);
 	}
 
+	@Test
+	public void testInputVariablesAddFloatsDML() {
+		System.out.println("MLContextTest - input variables add floats DML");
+
+		String s = "print('x + y = ' + (x + y));";
+		Script script = dml(s).in("x", 3F).in("y", 4F);
+		setExpectedStdOut("x + y = 7.0");
+		ml.execute(script);
+	}
+
+	@Test
+	public void testInputVariablesAddFloatsPYDML() {
+		System.out.println("MLContextTest - input variables add floats PYDML");
+
+		String s = "print('x + y = ' + (x + y))";
+		Script script = pydml(s).in("x", 3F).in("y", 4F);
+		setExpectedStdOut("x + y = 7.0");
+		ml.execute(script);
+	}
+
 	// NOTE: Uncomment these tests once they work
 
 	// @SuppressWarnings({ "rawtypes", "unchecked" })