This is an automated email from the ASF dual-hosted git repository.
niketanpansare pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/systemml.git
The following commit(s) were added to refs/heads/master by this push:
new 881f606 [MINOR] Provide a more informative error message when the
dimensions don't match during the validate phase
881f606 is described below
commit 881f606a89a5683e1a41a1c974fc0188d8600ade
Author: Niketan Pansare <[email protected]>
AuthorDate: Wed Mar 13 14:47:11 2019 -0700
[MINOR] Provide a more informative error message when the dimensions don't
match during the validate phase
---
.../org/apache/sysml/parser/BuiltinFunctionExpression.java | 13 ++++++++++---
.../java/org/apache/sysml/parser/RelationalExpression.java | 7 +++++--
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git
a/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
b/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
index fe86dc8..f27958f 100644
--- a/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
+++ b/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
@@ -1717,8 +1717,11 @@ public class BuiltinFunctionExpression extends
DataIdentifier
|| (!allowsMV && expr1.getOutput().getDim2()
!= expr2.getOutput().getDim2())
|| (allowsMV && expr1.getOutput().getDim2()
!= expr2.getOutput().getDim2() && expr2.getOutput().getDim2() != 1) )
{
- raiseValidateError("Mismatch in matrix
dimensions of parameters for function "
- + this.getOpCode(),
conditional, LanguageErrorCodes.INVALID_PARAMETERS);
+ String str1 = "([" +
expr1.getOutput().getDim1() + ", " + expr1.getOutput().getDim2() + "] and ["
+ + expr2.getOutput().getDim1() +
", " + expr2.getOutput().getDim2() + "])";
+ String str2 = !allowsMV ? " (Note: " +
this.getOpCode() + " does not support matrix-vector operations)" : "";
+ raiseValidateError("Mismatch in matrix
dimensions " + str1 + " of parameters for function "
+ + this.getOpCode() + str2,
conditional, LanguageErrorCodes.INVALID_PARAMETERS);
}
}
}
@@ -1726,7 +1729,11 @@ public class BuiltinFunctionExpression extends
DataIdentifier
private void checkMatchingDimensionsQuantile()
{
if (getFirstExpr().getOutput().getDim1() !=
getSecondExpr().getOutput().getDim1()) {
- raiseValidateError("Mismatch in matrix dimensions for "
+ Expression expr1 = getFirstExpr();
+ Expression expr2 = getSecondExpr();
+ String str1 = "([" + expr1.getOutput().getDim1() + ", "
+ expr1.getOutput().getDim2() + "] and ["
+ + expr2.getOutput().getDim1() + ", " +
expr2.getOutput().getDim2() + "])";
+ raiseValidateError("Mismatch in matrix dimensions " +
str1 + " of parameters for "
+ this.getOpCode(), false,
LanguageErrorCodes.INVALID_PARAMETERS);
}
}
diff --git a/src/main/java/org/apache/sysml/parser/RelationalExpression.java
b/src/main/java/org/apache/sysml/parser/RelationalExpression.java
index eed568c..8d897c7 100644
--- a/src/main/java/org/apache/sysml/parser/RelationalExpression.java
+++ b/src/main/java/org/apache/sysml/parser/RelationalExpression.java
@@ -182,8 +182,11 @@ public class RelationalExpression extends Expression
|| (!allowsMV && expr1.getOutput().getDim2()
!= expr2.getOutput().getDim2())
|| (allowsMV && expr1.getOutput().getDim2()
!= expr2.getOutput().getDim2() && expr2.getOutput().getDim2() != 1) )
{
- raiseValidateError("Mismatch in matrix
dimensions of parameters for function "
- + this.getOpCode(), false,
LanguageErrorCodes.INVALID_PARAMETERS);
+ String str1 = "([" +
expr1.getOutput().getDim1() + ", " + expr1.getOutput().getDim2() + "] and ["
+ + expr2.getOutput().getDim1() +
", " + expr2.getOutput().getDim2() + "])";
+ String str2 = !allowsMV ? " (Note: " +
this.getOpCode() + " does not support matrix-vector operations)" : "";
+ raiseValidateError("Mismatch in matrix
dimensions " + str1 + " of parameters for function "
+ + this.getOpCode() + str2,
false, LanguageErrorCodes.INVALID_PARAMETERS);
}
}
}