Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Models / CellFormula.cpp
diff options
context:
space:
mode:
Commit64d959af1090f5d7101c3c78153106871db7e902 (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-05-28 19:04:40 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-05-28 19:04:40 +0300
Files17278e53a621500cf8de363790892fbee66c22d4 /src/Models/CellFormula.cpp
FMI-OOP-P2_Tables-64d959af1090f5d7101c3c78153106871db7e902.tar
FMI-OOP-P2_Tables-64d959af1090f5d7101c3c78153106871db7e902.tar.gz
FMI-OOP-P2_Tables-64d959af1090f5d7101c3c78153106871db7e902.zip
Parentb65ebf144a9fe2e90f242c4bf8b8db3435f9fca9 (diff)
Autocommit at 28.05.2022 @ 19:04
1 files changed, 6 insertions, 0 deletions
-rw-r--r--src/Models/CellFormula.cpp6
diff --git a/src/Models/CellFormula.cpp b/src/Models/CellFormula.cpp
index be50ef7..09883c2 100644
--- a/src/Models/CellFormula.cpp
+++ b/src/Models/CellFormula.cpp
@@ -9,6 +9,12 @@ CellFormula::CellFormula(const char* str) : referencedCells(), formula(), rawFor
double CellFormula::calculate(unsigned index) {
double lval = formula[index].left->getNumeralValue();
+ if (formula[index].right & branch) {
+ switch (formula[index++].right & !branch) {
+ case plus: lval += formula[index].left->getNumeralValue(); break;
+ }
+ }
+
switch(formula[index].right) {
case plus: return lval + calculate(index++);
case minus: return lval - calculate(index++);