https://issues.apache.org/bugzilla/show_bug.cgi?id=48292
--- Comment #3 from Petr.Udalau <[email protected]> 2009-12-02 05:53:11 UTC --- Thanks for reworked patch. We have made final patch of array formula support and we will waiting for your review. Notes: 1) About "if (isPartOfArrayFormulaGroup() && f == null)" in XSSFCell: I saved Excel document with array formula and when I had opened the xml of sheet I saw that formula was set only for the first cell of array formula range and other cells contained only calculated result. 2) About parsing of array formulas: I changed OperandClassTransformer. But may be It is not solution for this problem. 3) About CellRangeAddress.valueOf(): This is the case when the array formula is set into one cell. Then the Excel save the "ref" param of formula like a "A1"(It is only for one-cell array formula, when we set array formula into several cells "ref" param will contain range like "A1:B1"). 4) About evaluation of array formulas: There are two types of array formulas: 1.Some formulas (for example "SQRT({1,2;3,4})") can take array arguments and have to be evaluated in loop with different args like a simple function. 2.Functions that have to be evaluated in special mode when it is in array formula. 5) About optimized CHOOSE and IF: Optimization IF/ Choose was made by analyze of first argument and evaluated only expression, represented by second argument in true case or by third argument in false case. In Array Formula Context first argument may be Boolean array which contains: -only true values -only false values -mixed true and false values. Method checkBooleanContent() provides analyze, which case we have. Fist two cases can be optimized in the same manner as usual IF/Choose function. Third case does not allow such optimization and requires evaluating both expression and only then choosing right value from evaluated arrays according Boolean array value. It means that we need to restore “non optimized” way to evaluate such IF/Choose function. Restore of “non optimized” way lead to ignoring of AttrPtg elements, which provide skipping no needed evaluation during optimized way. Due to that IF/Choose function may be nested, decision of optimized/non optimized is concern only for current IF/Choose function, need to keep in such function stack and be restored after finishing of evaluating current IF/Choose. 6) There will suitable to have common interface for Function and FreeRefFunction. Do you have any ideas and proposals? P.S. "test/resources" must be a source folder to run tests. TestArrays - main test. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
