- Notifications
You must be signed in to change notification settings - Fork1
Actively maintained onhttps://gitlab.com/ixion/ixion instead. This one is just a mirror.
License
kohei-us/ixion
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Ixion is a general purpose formula parser, interpreter, formula cell dependencytracker and spreadsheet document model backend all in one package.
The goal of this project is to create a library for calculating theresults of formula expressions stored in multiple formula cells. The cellscan be referenced by each other, and Ixion resolves their dependenciesautomatically upon calculation. The caller can run the calculation routineeither in a single-threaded mode, or a multi-threaded mode. Ixion also supportsre-calculations where the contents of one or more cells have been modifiedsince the last calculation, and a partial calculation of only the affectedcells need to be calculated.
This library is written with portability in mind; platform specific callsare avoided as much as possible. It makes use of modern C++ features and theboost library to achieve portability.
Achieving good performance is one of the goals of this project. As muchcare is taken as humanly possible, to attain reasonable performance.
Ixion can perform threaded calculation using arbitrary number of threads,for both full and partial calculation modes.
- Each calculation session is defined in a plain text file, which is parsedand interpreted by the Ixion parser.
- Fully threaded calculation.
- Name resolution using A1- and R1C1-style references.
- Support 2D cell references and named expressions.
- Support range references.
- Support table references.
- 3D cell and range references.
- Dependency tracking during both full calculation and partial re-calculation.
- Inline strings.
- Inline arrays.
- Volatile functions. The framework for volatile functions is implemented. Wejust need to implement more functions.
- C++ API.
- Python API.
- Matrix support via grouped formulas.
- More built-in functions.
- Custom functions defined in the caller program.
- External references.
- Implicit intersection.
- Official API documentation for general users of the library.
Please refer to theCONTRIBUTING.md file for build andinstallation instructions.
Please refer to theReleases page.The source packages for the older versions are foundhere.
About
Actively maintained onhttps://gitlab.com/ixion/ixion instead. This one is just a mirror.