[ https://issues.apache.org/jira/browse/SYSTEMML-2139?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matthias Boehm closed SYSTEMML-2139. ------------------------------------ Resolution: Fixed Assignee: Matthias Boehm Fix Version/s: SystemML 1.1 > Codegen fails on comiling ifelse with scalar predicate > ------------------------------------------------------ > > Key: SYSTEMML-2139 > URL: https://issues.apache.org/jira/browse/SYSTEMML-2139 > Project: SystemML > Issue Type: Bug > Reporter: Matthias Boehm > Assignee: Matthias Boehm > Priority: Major > Fix For: SystemML 1.1 > > > {code} > public final class TMP3 extends SpoofMultiAggregate { > public TMP3() { > super(false, AggOp.SUM,AggOp.SUM); > } > protected void genexec(double a, SideInput[] b, double[] scalars, double[] > c, int m, int n, int rix, int cix) { > double TMP0 = getValue(b[0], n, rix, cix); > double TMP1 = (true != 0) ? a : TMP0; > double TMP2 = (false != 0) ? a : TMP0; > c[0] += TMP1; > c[1] += TMP2; > } > } > {code} > {code} > Caused by: org.apache.sysml.runtime.DMLRuntimeException: Failed to compile > class codegen.TMP3. > at > org.apache.sysml.runtime.codegen.CodegenUtils.compileClassJanino(CodegenUtils.java:197) > at > org.apache.sysml.runtime.codegen.CodegenUtils.compileClass(CodegenUtils.java:82) > at > org.apache.sysml.hops.codegen.SpoofCompiler.optimize(SpoofCompiler.java:416) > ... 38 more > Caused by: org.codehaus.commons.compiler.CompileException: Line 15, Column > 27: Cannot compare types "boolean" and "int" > at > org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:11004) > at > org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:3612) > at org.codehaus.janino.UnitCompiler.access$5600(UnitCompiler.java:206) > at > org.codehaus.janino.UnitCompiler$10.visitBinaryOperation(UnitCompiler.java:3330) > at > org.codehaus.janino.UnitCompiler$10.visitBinaryOperation(UnitCompiler.java:3324) > at org.codehaus.janino.Java$BinaryOperation.accept(Java.java:4155) > at > org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:3324) > at > org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:3624) > at org.codehaus.janino.UnitCompiler.access$5700(UnitCompiler.java:206) > at > org.codehaus.janino.UnitCompiler$10.visitParenthesizedExpression(UnitCompiler.java:3359) > at > org.codehaus.janino.UnitCompiler$10.visitParenthesizedExpression(UnitCompiler.java:3324) > at > org.codehaus.janino.Java$ParenthesizedExpression.accept(Java.java:4205) > at org.codehaus.janino.Java$Lvalue.accept(Java.java:3563) > at > org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:3324) > at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4073) > at org.codehaus.janino.UnitCompiler.access$7200(UnitCompiler.java:206) > at > org.codehaus.janino.UnitCompiler$12.visitConditionalExpression(UnitCompiler.java:3771) > at > org.codehaus.janino.UnitCompiler$12.visitConditionalExpression(UnitCompiler.java:3762) > at org.codehaus.janino.Java$ConditionalExpression.accept(Java.java:3877) > at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:3762) > at > org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4933) > at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2330) > at org.codehaus.janino.UnitCompiler.access$2600(UnitCompiler.java:206) > at > org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1386) > at > org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1370) > at > org.codehaus.janino.Java$LocalVariableDeclarationStatement.accept(Java.java:2974) > at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1370) > at > org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1450) > at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2811) > at > org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1262) > at > org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1234) > at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:538) > at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:420) > at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:206) > at > org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:374) > at > org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:369) > at > org.codehaus.janino.Java$AbstractPackageMemberClassDeclaration.accept(Java.java:1309) > at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:369) > at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:345) > at > org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:396) > at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:205) > at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:196) > at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:91) > at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:84) > at > org.apache.sysml.runtime.codegen.CodegenUtils.compileClassJanino(CodegenUtils.java:186) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)