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" })