diff options
author | dante <dante19031999@gmail.com> | 2021-05-11 11:39:11 +0200 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2021-05-15 08:23:08 +0200 |
commit | 112c9d4b2d8a6393f52697c928e8ace06782b6e0 (patch) | |
tree | acd26f60b874aa706517dd1828dd0de5e613628b /sc | |
parent | 7beb507edbf94627c639483175be730f38f90dcd (diff) |
tdf#137679 Use KahanSum for Taylor series
Change-Id: Ic399616e0af45443e54c708d2a5b7326a6bbd06e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115389
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/tool/interpr3.cxx | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx index 3354488a88e4..e8937f4501e2 100644 --- a/sc/source/core/tool/interpr3.cxx +++ b/sc/source/core/tool/interpr3.cxx @@ -205,12 +205,12 @@ double ScInterpreter::integralPhi(double x) double ScInterpreter::taylor(const double* pPolynom, sal_uInt16 nMax, double x) { - double nVal = pPolynom[nMax]; + KahanSum nVal = pPolynom[nMax]; for (short i = nMax-1; i >= 0; i--) { - nVal = pPolynom[i] + (nVal * x); + nVal = (nVal * x) + pPolynom[i]; } - return nVal; + return nVal.get(); } double ScInterpreter::gauss(double x) |