- fill_down_cells() method has been added to model_context, to fill duplicate values downward from an arbitrary cell position. For now, it always duplicate the value of the source cell; cell value enumerations are not supported. Also, filling down of formula cells is not yet supported.
- cell iterator has been aded to model_context, for efficient horizontal and vertical iterations of cell values in an arbitrary range within a sheet.
- improved the cmake-based build, with all test cases integrated.
- switched to spdlog for compile-time debug log outputs.
- improved performance by removing repeated fetching of each formula cell prior to interpretation.
- reworked topological sorting of formula cells to avoid having to unnecessarily build dependency relations twice; once during the dirty cell determination and twice prior to interpretation of formula cells. The new code performs topological sorting during the dirty cell determination phase.
- reworked the cell reference tracker to use R-tree. This allows more accurate tracking of references involving grouped formulas.
- fixed a resource leak with dynamic loading of compute engine modules.
Signed-off-by: Pierre-Yves <pyu@riseup.net>