Raymond Tay created SYSTEMML-2537:
-------------------------------------

             Summary: Improve the consistency of predicates in "If-then-else" 
expressions
                 Key: SYSTEMML-2537
                 URL: https://issues.apache.org/jira/browse/SYSTEMML-2537
             Project: SystemML
          Issue Type: Task
          Components: Parser
    Affects Versions: SystemML 0.13
            Reporter: Raymond Tay


The predicate or conditional-expression in the evaluation of the 
+If-expression+ allows literal numeral values to be part of the predicate. In 
the parser, if it sees a literal value of *1* then it would be _true_ otherwise 
it is _false_; however it is entirely plausible to extend that definition to 
cover all values *> 0* to be _true_ otherwise values *< 0* will be interpreted 
as _false_.

E.g. this should print *No!* but instead it prints "Yes!"

bq. scala> val s = dml(""" if(-42) print("Yes!") else print("No!") """)
bq. scala> ml.execute(s)
bq. Yes!
bq. SystemML Statistics:
bq. Total execution time:               0.012 sec.
bq. Number of executed Spark inst:      0.
bq. 
bq. res0: org.apache.sysml.api.mlcontext.MLResults = None




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to