Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Array formulae in the Calculation Engine #2787

Draft
wants to merge 145 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
8156ed9
First steps to handling array formulae with the Xlsx Reader and Writer
Jan 30, 2022
39a6c29
Set formula attributes datatype in Cell
Jan 30, 2022
73e7ee0
Write correct cell area ref when saving array formulae in cells for X…
Jan 30, 2022
6a51ad4
Basic Read/Write test for an array function; verify that formula attr…
Jan 30, 2022
1d941b4
Initial work on setting an array formula through code, and populating…
Jan 31, 2022
69436d3
phpcs fixes
Jan 31, 2022
5d258f1
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Jan 31, 2022
d2435cd
Ensure that a basic metadata file containing a cell metadata definiti…
Feb 1, 2022
9f3db99
Ensure that our array result dimensions match the specified array for…
Feb 2, 2022
1fa690c
Provide a method to easily access the array formula range for a cell …
Feb 2, 2022
beb1e8f
Update array formula ranges when inserting/deleting rows/columns
Feb 2, 2022
9bfc4be
Stubs for MS pseudo-functions used to handle the Spillage (`ANCHORARR…
Feb 2, 2022
ceb1c04
Initial work implementing the SINGLE() and ANCHORARRAY() pseudo-funct…
Feb 2, 2022
54d49ed
Unit tests for pseudo-functions
Feb 3, 2022
12ddc9e
General fixes for array functions with partial-range
Feb 3, 2022
7d84faf
Updates to function lists
Feb 3, 2022
abf4f9c
regenerate phpstan baseline (it is smaller, honest)
Feb 3, 2022
c84e334
Update documentation with details of array formula handling, and the …
Feb 3, 2022
66e63eb
Modify ABS() function to handle arrays, with appropriate unit tests
Feb 3, 2022
3cec90d
Minor refactoring, and additional unit tests (including exceptions) f…
Feb 4, 2022
c1125ba
Clean up some phpstan issues
Feb 4, 2022
2dc6aa1
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Feb 4, 2022
3ed98ab
Resolve phpstan issues
Feb 4, 2022
6bd181b
Eliminate spurious var_dump
Feb 4, 2022
0520466
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Feb 9, 2022
3357af3
Minor refactoring of Cell calculation logic for array response
Feb 9, 2022
c05dd63
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Feb 13, 2022
c7cbdf6
Reset phpstan baseline
Feb 13, 2022
719df3c
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Feb 19, 2022
31cf8fb
Fix merge conflicts
Feb 19, 2022
8e8e8f4
Apply float precision for unit tests
Feb 19, 2022
76fbf38
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Feb 22, 2022
568921c
Start work linking cells in spillage areas to the cell containing the…
Feb 23, 2022
c3652f3
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Feb 23, 2022
7d5dc72
Maintain reference for cells inside a spillage range to prevent their…
Feb 23, 2022
b929dd1
Ensure that the `fromArray()` and `toArray()` functions retain the cu…
Feb 24, 2022
3806981
Allow recalc of all values for a spillage range
Feb 24, 2022
a67cffc
minor tweaks
Feb 24, 2022
200713a
Initial work on ODS reader to support array formulae
Feb 25, 2022
a83e3c6
Initial work on Gnumeric reader to support array formulae
Feb 26, 2022
dc718dd
Rename xlfn functions for Ods
Feb 26, 2022
45a770a
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Feb 26, 2022
5672bd8
Resolve issues introduced during resolution of merge conflicts from m…
Feb 26, 2022
e30e7cb
More unit tests
Feb 26, 2022
7dfa06f
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Feb 26, 2022
1574f48
Resolve `translateSeparator()` method to handle separators (row and c…
Feb 27, 2022
9413f00
Some Refactoring of the Ods Reader, moving all formula and address tr…
Feb 27, 2022
e1f278b
Unit tests for reading/writing array formulae from Ods
Feb 27, 2022
4d0f426
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Feb 27, 2022
cff8303
Re-merge from baseline
Feb 27, 2022
55be3b4
Minor typehint fixes
Feb 27, 2022
f64e2c2
Prep-work for handling matrix arithmetic in the calc engine, with som…
Feb 27, 2022
2c95f3a
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 4, 2022
c0f5a40
Suppress tests that we know will fail (for the moment)
Mar 4, 2022
fcc55a7
Fix for calculating array operations in the calculation engine (with …
Mar 4, 2022
e4b7d73
Unit tests for reading array formulae in Ods files
Mar 4, 2022
3dbc7dd
Handle aray formulae in the Gnumeric Reader (with unit tests)
Mar 4, 2022
b67841a
Additional Gnumeric Reader array formula unit tests
Mar 4, 2022
d6b6a11
Additional array formula tests for Ods Reader
Mar 5, 2022
85130dc
Precision in unit test float value
Mar 5, 2022
4a56261
Reverse `$asArray` and `$resetLog` arguments for calcuation methods; …
Mar 5, 2022
5346776
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 5, 2022
9c99f2f
Fix arguments for calculation call in `anchorarray()` pseudo-functin
Mar 5, 2022
ec6113e
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 6, 2022
6b0d724
Additional unit tests for array operations (in preparation for a swit…
Mar 7, 2022
96453e0
Fix to identify spillage cells from their arrayFormulaRange value
Mar 9, 2022
8ed2bab
Modifications to FORMULATEXT() to return correct values for cells in …
Mar 9, 2022
b1eb0e2
More unit tests for MMULT() function, to ensure correct calculation c…
Mar 9, 2022
5f79b74
Revert "Modifications to FORMULATEXT() to return correct values for c…
Mar 9, 2022
5ea78ae
Modifications to FORMULATEXT() to return correct values for cells in …
Mar 9, 2022
be57361
Additional unit tests for array/scalar operations
Mar 10, 2022
53aab72
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 10, 2022
96ac716
Fix sizing adjustments for reflective matrices (vectors increase to m…
Mar 10, 2022
3f69661
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 11, 2022
27fc7d5
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 13, 2022
ec3281b
Resolve phpstan
Mar 13, 2022
1ea119c
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 13, 2022
925c730
Some more unit tests for array functions and spillage; and updates to…
Mar 14, 2022
7ff8e8b
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 17, 2022
222b79b
Ensure that master can still merge in cleanly... knowing that if I do…
Mar 17, 2022
8f8257d
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 18, 2022
2acb3fe
Update branch and some additional unit tests
Mar 18, 2022
dc255fb
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 19, 2022
ca940c6
Re-baseline
Mar 19, 2022
2b3addc
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 19, 2022
fe1e0d2
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 24, 2022
6602dd6
More unit tests
Mar 24, 2022
adb0c13
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Mar 24, 2022
a3130ef
Flag functions as spillage functions. We may be able to use this to d…
Mar 25, 2022
3bb6b42
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Apr 12, 2022
1014a03
Resolve merge conflicts
Apr 12, 2022
c0c79c7
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Apr 13, 2022
e41c428
Initial creation of the version 2.0 Development branch
Apr 24, 2022
703604c
Remove Reader/Writer deprecations
Apr 25, 2022
0998e72
Eliminate underscore prefix in method names... no longer needed as an…
Apr 26, 2022
53a6ab9
Merge branch 'master' into 2.0-Development
Apr 27, 2022
02abb41
Merge branch 'master' into 2.0-Development
Apr 28, 2022
d613de1
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
Apr 30, 2022
f918847
Merge branch 'master' into 2.0-Development
May 7, 2022
acfd752
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
May 7, 2022
297817f
Merge branch 'master' into 2.0-Development
May 10, 2022
304e2b8
Merge branch 'master' into 2.0-Development
May 10, 2022
e51dabe
Merge branch 'master' into 2.0-Development
May 11, 2022
78ea02a
Update phpstan baseline
May 11, 2022
f5b4308
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
May 11, 2022
e1e5888
PHP deprecation resolution
May 11, 2022
33d3442
Merge branch '2.0-Development' into CalculationEngine-Array-Formulae-…
May 13, 2022
feb7695
Merge resolutions
May 13, 2022
89b70a0
Merge branch 'master' into 2.0-Development
May 28, 2022
b1ca6ee
Merge branch '2.0-Development' into CalculationEngine-Array-Formulae-…
May 28, 2022
b1d1ce7
Re-baseline
May 28, 2022
05a1252
Merge branch 'master' into 2.0-Development
Jun 18, 2022
ba15a68
Merge from master, and rebase phpstan baseline
Jun 18, 2022
a8fc5bc
Merge branch '2.0-Development' into CalculationEngine-Array-Formulae-…
Jun 18, 2022
a40c708
Merge from 2.0 development, and rebase phpstan baseline
Jun 18, 2022
0a34ce8
Merge branch 'master' into 2.0-Development
Jul 2, 2022
42dde14
Merge branch 'CalculationEngine-Array-Formulae-Initial-Work' into 2.0…
Jul 2, 2022
fd4e256
Rationalise the worksheet getHighestRowAndColumn() and getHighestData…
MarkBaker Jul 5, 2022
ccd9aba
Modify toArray() method to use highest data row/column rather than hi…
Jul 5, 2022
ae746d0
Merge branch 'master' into 2.0-Development
MarkBaker Jul 9, 2022
3e49312
Reset phpstan baseline after merge from 1.x
MarkBaker Jul 9, 2022
5de3c4e
Merge remote-tracking branch 'origin/2.0-Development' into 2.0-Develo…
MarkBaker Jul 9, 2022
08849a7
Changes required after merge from 1.x master, and reset phpstan baseline
MarkBaker Jul 9, 2022
95cf51b
Modify the general settings ExcelCalendar to be simply a default, Cre…
MarkBaker Jul 10, 2022
1fda83d
Remember to re-baseline phpstan before final commit and push because …
MarkBaker Jul 18, 2022
fe4808b
Merge branch 'master' into 2.0-Development
MarkBaker Aug 3, 2022
76314dd
merge from master and re-baseline phpstan
MarkBaker Aug 3, 2022
b30f364
Renaming methods for Excel functions to provide more consistent case,…
MarkBaker Aug 5, 2022
3964087
Test for calendar when reading Excel Files.
MarkBaker Jul 13, 2022
765037e
Ensure that correct calendar (read from the spreadsheet when loaded) …
MarkBaker Aug 17, 2022
6cdfd3c
Merge branch '2.0-Development' into 2.x-Calendar-Changes
MarkBaker Aug 17, 2022
aba94a1
Fix merge from 2.0 for the Spreadsheet Copy (I really don't like this…
MarkBaker Aug 17, 2022
a002288
Merge pull request #2937 from PHPOffice/2.x-Calendar-Changes
MarkBaker Aug 17, 2022
a26a58d
Merge branch 'master' into 2.0-Development
MarkBaker Aug 17, 2022
a7ac633
Adjustment to error check in TEXTFROMARRAY() function
MarkBaker Aug 17, 2022
0665a87
Re-baseline phpstan
MarkBaker Aug 18, 2022
125f5b1
Merge pull request #3012 from PHPOffice/2.0-CalcEngine-Function-Renames
MarkBaker Aug 18, 2022
d06d1cc
Merge remote-tracking branch 'origin/2.0-Development' into 2.0-Develo…
MarkBaker Aug 18, 2022
42cf5ce
Re-baseline phpstan
MarkBaker Aug 18, 2022
541bf0f
Merge branch 'master' into 2.0-Development
MarkBaker Sep 25, 2022
ff655bd
Resolve merge conflicts for master -> 2.0-dev
MarkBaker Sep 25, 2022
d05e27b
Merge branch 'master' into 2.0-Development
MarkBaker Sep 26, 2022
40b6fc7
Excel Functions implementation method renaming
MarkBaker Sep 26, 2022
4341300
Stricter type-hinting for IReader
MarkBaker Sep 30, 2022
ecc18d2
Binary-value options for Reader using flag settings
MarkBaker Oct 2, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge branch 'master' into CalculationEngine-Array-Formulae-Initial-Work
# Conflicts:
#	phpstan-baseline.neon
MarkBaker committed Feb 13, 2022
commit c05dd63c1ed09b13bf8d84d40c038ed01801d935
Loading
You are viewing a condensed version of this merge commit. You can view the full changes here.