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/03 00:53:19 UTC

incubator-systemml git commit: [SYSTEMML-1222] MLContext input long to int cast

Repository: incubator-systemml
Updated Branches:
  refs/heads/master 9b77782fa -> 6815cd9b7


[SYSTEMML-1222] MLContext input long to int cast

Convert MLContext long input to int since long not a supported value type.
Fix input value type error message to display input name rather than value.

Closes #370.


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

Branch: refs/heads/master
Commit: 6815cd9b7d2e9fdffeef5691102d31aa7293bef4
Parents: 9b77782
Author: Deron Eriksson <de...@us.ibm.com>
Authored: Thu Feb 2 16:50:43 2017 -0800
Committer: Deron Eriksson <de...@us.ibm.com>
Committed: Thu Feb 2 16:50:43 2017 -0800

----------------------------------------------------------------------
 .../sysml/api/mlcontext/MLContextUtil.java      |  2 +-
 .../org/apache/sysml/api/mlcontext/Script.java  |  7 +++++++
 .../integration/mlcontext/MLContextTest.java    | 20 ++++++++++++++++++++
 3 files changed, 28 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/6815cd9b/src/main/java/org/apache/sysml/api/mlcontext/MLContextUtil.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/mlcontext/MLContextUtil.java b/src/main/java/org/apache/sysml/api/mlcontext/MLContextUtil.java
index b4e7f01..75e9c1e 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/MLContextUtil.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/MLContextUtil.java
@@ -256,7 +256,7 @@ public final class MLContextUtil {
 			}
 		}
 		if (!supported) {
-			throw new MLContextException("Input name (\"" + value + "\") value type not supported: " + o.getClass());
+			throw new MLContextException("Input name (\"" + name + "\") value type not supported: " + o.getClass());
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/6815cd9b/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 4f3d6ea..e96e7dd 100644
--- a/src/main/java/org/apache/sysml/api/mlcontext/Script.java
+++ b/src/main/java/org/apache/sysml/api/mlcontext/Script.java
@@ -319,6 +319,13 @@ public class Script {
 	 * @return {@code this} Script object to allow chaining of methods
 	 */
 	public Script in(String name, Object value, Metadata metadata) {
+
+		if ((value != null) && (value instanceof Long)) {
+			// convert Long to Integer since Long not a supported value type
+			Long lng = (Long) value;
+			value = lng.intValue();
+		}
+
 		MLContextUtil.checkInputValueType(name, value);
 		if (inputs == null) {
 			inputs = new LinkedHashMap<String, Object>();

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/6815cd9b/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 06e6768..89241c5 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
@@ -2507,6 +2507,26 @@ public class MLContextTest extends AutomatedTestBase {
 		ml.execute(script);
 	}
 
+	@Test
+	public void testInputVariablesAddLongsDML() {
+		System.out.println("MLContextTest - input variables add longs DML");
+
+		String s = "print('x + y = ' + (x + y));";
+		Script script = dml(s).in("x", 3L).in("y", 4L);
+		setExpectedStdOut("x + y = 7");
+		ml.execute(script);
+	}
+
+	@Test
+	public void testInputVariablesAddLongsPYDML() {
+		System.out.println("MLContextTest - input variables add longs PYDML");
+
+		String s = "print('x + y = ' + (x + y))";
+		Script script = pydml(s).in("x", 3L).in("y", 4L);
+		setExpectedStdOut("x + y = 7");
+		ml.execute(script);
+	}
+
 	// NOTE: Uncomment these tests once they work
 
 	// @SuppressWarnings({ "rawtypes", "unchecked" })