Issue 36 in formulacompiler: Compound function not resolved

2 views
Skip to first unread message

formula...@googlecode.com

unread,
Nov 9, 2012, 8:44:05 AM11/9/12
to formulacom...@googlegroups.com
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 36 by jeroenk...@gmail.com: Compound function not resolved
http://code.google.com/p/formulacompiler/issues/detail?id=36

What steps will reproduce the problem?
1. Create the following function; IF(SUM(X;Y)=2;Z;SUM(A;B))
2. The formula compiler isn't evaluated the SUM function

What is the expected output? What do you see instead?
The SUM is not equal to 2 however due to the non evaluation it takes the Z
result instead of SUM(A;B).

What version of the product are you using? On what operating system?
1.4.0/Windows.

Please provide any additional information below.
Change the SUM(X;Y) into a seperate cell where you do the sum, then the sum
is evaluated.

formula...@googlecode.com

unread,
Nov 9, 2012, 10:19:59 AM11/9/12
to formulacom...@googlegroups.com
Updates:
Owner: vkore...@gmail.com

Comment #1 on issue 36 by peter.arrenbrecht: Compound function not resolved
http://code.google.com/p/formulacompiler/issues/detail?id=36

Vova, can you take a look?

formula...@googlecode.com

unread,
Nov 12, 2012, 11:02:16 AM11/12/12
to formulacom...@googlegroups.com
Updates:
Status: Started

Comment #2 on issue 36 by vkore...@gmail.com: Compound function not resolved
http://code.google.com/p/formulacompiler/issues/detail?id=36

I decompiled the generated code. It looks like the following:

final double get$0() {
return get$1() + get$2() + get$2() == 2.0 ? get$3() : get$4();
}

The second summand is added twice.

formula...@googlecode.com

unread,
Nov 12, 2012, 1:33:00 PM11/12/12
to formulacom...@googlegroups.com

Comment #3 on issue 36 by jeroenk...@gmail.com: Compound function not
resolved
http://code.google.com/p/formulacompiler/issues/detail?id=36

I will try to decompile to see where it goes wrong.
Thanks for looking.


formula...@googlecode.com

unread,
Nov 13, 2012, 4:55:23 AM11/13/12
to formulacom...@googlegroups.com

Comment #4 on issue 36 by jeroenk...@gmail.com: Compound function not
resolved
http://code.google.com/p/formulacompiler/issues/detail?id=36

I have reproduced the bug (I think...).
Attached the excel file and the code to reproduce the problem.
Two named fields are used to get the result (result and result2). Result2
uses a seperate cell to perform the sum and the result uses it inline.

Hereby the debug result;
Please look at the first and second result that are wrong.
The seperate

bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=10000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=20000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G12,section=ROOT,value=NEE]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G14,section=ROOT,value=0.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=10000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=20000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H12,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H14,section=ROOT,value=1.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=10000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=20000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H12,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H14,section=ROOT,value=1.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!D11(result),section=ROOT,value=2.0,out]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=10000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=20000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G12,section=ROOT,value=NEE]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G14,section=ROOT,value=0.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=10000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=20000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H12,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H14,section=ROOT,value=1.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G18,section=ROOT,value=1.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=10000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=20000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!E11,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!E14,section=ROOT,value=0.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=10000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=20000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!F11,section=ROOT,value=NEE]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!F14,section=ROOT,value=0.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!E18,section=ROOT,value=0.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!D16(result2),section=ROOT,value=0.0,out]
Expected to Excel 0, formula engine says:2 - 0
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=30000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=60000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G12,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G14,section=ROOT,value=1.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=30000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=60000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H12,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H14,section=ROOT,value=1.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=30000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=60000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H12,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H14,section=ROOT,value=1.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=30000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=60000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!E11,section=ROOT,value=NEE]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!E14,section=ROOT,value=0.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=30000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=60000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!F11,section=ROOT,value=NEE]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!F14,section=ROOT,value=0.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!D11(result),section=ROOT,value=0.0,out]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=30000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=60000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G12,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G14,section=ROOT,value=1.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=30000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=60000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H12,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H14,section=ROOT,value=1.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G18,section=ROOT,value=2.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!D16(result2),section=ROOT,value=2.0,out]
Expected to Excel 2, formula engine says:0 - 2
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=50000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=100000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G12,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G14,section=ROOT,value=1.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=50000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=100000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H12,section=ROOT,value=NEE]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H14,section=ROOT,value=0.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=50000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=100000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H12,section=ROOT,value=NEE]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H14,section=ROOT,value=0.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=50000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=100000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!E11,section=ROOT,value=NEE]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!E14,section=ROOT,value=0.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=50000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=100000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!F11,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!F14,section=ROOT,value=4.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!D11(result),section=ROOT,value=4.0,out]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=50000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=100000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G12,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G14,section=ROOT,value=1.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=50000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=100000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H12,section=ROOT,value=NEE]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!H14,section=ROOT,value=0.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!G18,section=ROOT,value=1.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=50000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=100000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!E11,section=ROOT,value=NEE]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!E14,section=ROOT,value=0.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C3(gemiddelde_kilometrage),section=ROOT,value=50000.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C2(looptijd),section=ROOT,value=48.0,in]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!C7,section=ROOT,value=100000.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!F11,section=ROOT,value=JA]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!F14,section=ROOT,value=4.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!E18,section=ROOT,value=4.0]
bug361860738846005632.xlsx ->
org.formulacompiler.runtime.spreadsheet.SpreadsheetCellComputationEvent[cell=Formuleveld!D16(result2),section=ROOT,value=4.0,out]
Expected to Excel 4, formula engine says:4 - 4


Attachments:
bug.xlsx 11.3 KB
bug.7z 1.8 KB

formula...@googlecode.com

unread,
Nov 13, 2012, 11:31:38 AM11/13/12
to formulacom...@googlegroups.com
Updates:
Labels: Milestone-Release1.5

Comment #5 on issue 36 by vkore...@gmail.com: Compound function not resolved
http://code.google.com/p/formulacompiler/issues/detail?id=36

The problem occurs during constant sub-expression elimination phase.
Non-constant arguments of a fold expression are duplicated when this fold
expression is the first argument of IF. This occurs because
EvalShadow.evaluateArgument() is called twice (the first time in
EvalIf.eval() and then in EvalShadow.eval()). During each call arguments
are added to EvalFoldApply.dynArgs, so they are duplicated there.

Peo, do you have any ideas how to fix this properly?

Attachments:
issue-36-test.patch 2.1 KB

formula...@googlecode.com

unread,
Nov 15, 2012, 12:19:31 PM11/15/12
to formulacom...@googlegroups.com
Updates:
Status: Fixed
Labels: Component-Compiler

Comment #6 on issue 36 by vkore...@gmail.com: Compound function not resolved
http://code.google.com/p/formulacompiler/issues/detail?id=36

Fixed by 9b3f162d4237

formula...@googlecode.com

unread,
Nov 15, 2012, 12:25:22 PM11/15/12
to formulacom...@googlegroups.com

Comment #7 on issue 36 by vkore...@gmail.com: Compound function not resolved
http://code.google.com/p/formulacompiler/issues/detail?id=36

Peo, could you please review last changes? I have also pushed some old
patches to avoid future merges. They are related to other features which I
haven't finished yet.

Peter Arrenbrecht

unread,
Nov 15, 2012, 12:27:40 PM11/15/12
to formulacom...@googlegroups.com

Shall try to find some time soon.

--
You received this message because you are subscribed to the Google Groups "formulacompiler-devel" group.
To post to this group, send email to formulacompiler-devel@googlegroups.com.
To unsubscribe from this group, send email to formulacompiler-devel+unsub...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/formulacompiler-devel?hl=en.

formula...@googlecode.com

unread,
Nov 17, 2012, 3:44:09 AM11/17/12
to formulacom...@googlegroups.com

Comment #8 on issue 36 by peter.arrenbrecht: Compound function not resolved
http://code.google.com/p/formulacompiler/issues/detail?id=36

Vova, looks all good to me. The other cleanups as well. Thanks!

Reply all
Reply to author
Forward
0 new messages