[ https://issues.apache.org/jira/browse/SYSTEMML-1981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matthias Boehm closed SYSTEMML-1981. ------------------------------------ Resolution: Fixed Assignee: Matthias Boehm Fix Version/s: SystemML 1.0 > Wrong value type propagation in function w/ auto cast of inputs > --------------------------------------------------------------- > > Key: SYSTEMML-1981 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1981 > Project: SystemML > Issue Type: Bug > Reporter: Matthias Boehm > Assignee: Matthias Boehm > Priority: Minor > Fix For: SystemML 1.0 > > > The following code returns the output as {{DOUBLE}} although it's supposed to > return {{INT}}. > {code} > foo = function(Matrix[double] X, int input) return (int out) { > out = input; > for(i in 1:2) { > tmp = sum(X); > out = input + as.integer(tmp); > } > } > X = seq(1,100); > xmax = max(X); #input of type double > y = foo(X, xmax); #auto casting > print(y); > {code} > For double to int casts, this is a minor issue but creates warnings that are > annoying if such a function is called very often: > {code} > 17/11/01 20:49:00 WARN controlprogram.ProgramBlock: Function output out has > wrong value type: DOUBLE. > {code} > Furthermore, for boolean it even leads to compilation and runtime issues on > arithmetic expressions. -- This message was sent by Atlassian JIRA (v6.4.14#64029)