[Libreoffice-commits] core.git: 2 commits - sc/source

Tor Lillqvist tml at collabora.com
Thu Oct 6 13:51:49 UTC 2016


 sc/source/core/opencl/op_financial.cxx         |    3 +++
 sc/source/core/opencl/opinlinefun_finacial.cxx |    6 ++++++
 2 files changed, 9 insertions(+)

New commits:
commit fe5e9610df64709cf505c0b5dc74aef2f55c1b77
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 6 16:39:37 2016 +0300

    Add FIXME
    
    I just can't even.
    
    Change-Id: Iab3572847bcbe63cb3c19bb027c8a6388c90fd59

diff --git a/sc/source/core/opencl/op_financial.cxx b/sc/source/core/opencl/op_financial.cxx
index e4ee49d..7716355 100644
--- a/sc/source/core/opencl/op_financial.cxx
+++ b/sc/source/core/opencl/op_financial.cxx
@@ -1066,6 +1066,9 @@ void IRR::GenSlidingWindowFunction(std::stringstream &ss,
     ss << "        if (fEps < Epsilon)\n";
     ss << "            return x;\n";
     ss << "        else\n";
+    // FIXME: This is of course horribly wrong. 523 is the error code NoConvergence, and this should
+    // be CreateDoubleError(523). Ditto for the other occurrences of 523 in the OpenCL code
+    // generated in this file.
     ss << "            return (double)523;\n";
     ss << "}";
 }
commit 3456004fd5fce1bb2545e1eded708a2366ad73bf
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 6 16:25:28 2016 +0300

    Add FIXME comment about the OpenCL approxEqual() we define
    
    Note that the OpenCL approxEqual() is used only in the implementation
    of the RATE function, which is not in the trusted subset anyway, so
    that won't actually be used.
    
    Change-Id: Ide30921b1e1f48abb68b5dc64bc2da2fa802038b

diff --git a/sc/source/core/opencl/opinlinefun_finacial.cxx b/sc/source/core/opencl/opinlinefun_finacial.cxx
index f062954..63d8a77 100644
--- a/sc/source/core/opencl/opinlinefun_finacial.cxx
+++ b/sc/source/core/opencl/opinlinefun_finacial.cxx
@@ -10,6 +10,12 @@
 #ifndef SC_OPENCL_OPINLINFUN_finacial
 #define SC_OPENCL_OPINLINFUN_finacial
 std::string approxEqualDecl="bool approxEqual(double a, double b);\n";
+
+// FIXME: this approxEqual() is identical to what the C++ rtl_math_approxEqual() used to be, but
+// that has been improved in the meantime, so probably this should be, too? OTOH, this is used only
+// to compare against 0.0, so could be made much simpler, and actually questionable whether it works
+// as intended anyway.
+
 std::string approxEqual =
 "bool approxEqual(double a, double b)\n"
 "{\n"


More information about the Libreoffice-commits mailing list