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 <[email protected]>
Authored: Tue Feb 7 16:49:18 2017 -0800
Committer: Deron Eriksson <[email protected]>
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" })

Reply via email to