[Libreoffice-commits] core.git: sc/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Tue Dec 4 15:08:04 UTC 2018
sc/source/core/opencl/op_statistical.cxx | 24 ++++--------------------
1 file changed, 4 insertions(+), 20 deletions(-)
New commits:
commit c0c03aadb3ec25ca5c4c07f270164158b6667cc2
Author: Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Tue Nov 27 15:53:45 2018 +0100
Commit: Luboš Luňák <l.lunak at collabora.com>
CommitDate: Tue Dec 4 16:07:39 2018 +0100
make OpenCL SLOPE() handle problems more gracefully
It's silly to just return NaN just because the function can't handle
something. If nothing else, at least a proper error should be reported
(or in this case, the fallback to the core function will take care of it).
Change-Id: I9c971082f4c5c9836318cf63d15fa7c278274273
Reviewed-on: https://gerrit.libreoffice.org/64244
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak at collabora.com>
diff --git a/sc/source/core/opencl/op_statistical.cxx b/sc/source/core/opencl/op_statistical.cxx
index 5278ad2b31f7..d18b3ffceec1 100644
--- a/sc/source/core/opencl/op_statistical.cxx
+++ b/sc/source/core/opencl/op_statistical.cxx
@@ -2548,6 +2548,7 @@ void OpStDevP::GenSlidingWindowFunction(std::stringstream &ss,
void OpSlope::GenSlidingWindowFunction(std::stringstream &ss,
const std::string &sSymName, SubArguments &vSubArguments)
{
+ CHECK_PARAMETER_COUNT(2,2);
ss << "\ndouble " << sSymName;
ss << "_" << BinFuncName() << "(";
for (size_t i = 0; i < vSubArguments.size(); i++)
@@ -2567,12 +2568,6 @@ void OpSlope::GenSlidingWindowFunction(std::stringstream &ss,
ss << " double fCount = 0.0;\n";
ss << " double argX = 0.0;\n";
ss << " double argY = 0.0;\n";
- if(vSubArguments.size() != 2)
- {
- ss << " return NAN;\n";
- ss << "}\n";
- return ;
- }
FormulaToken *pCur = vSubArguments[1]->GetFormulaToken();
FormulaToken *pCur1 = vSubArguments[0]->GetFormulaToken();
assert(pCur);
@@ -2591,11 +2586,7 @@ void OpSlope::GenSlidingWindowFunction(std::stringstream &ss,
pDVR1->GetArrayLength() ? pDVR->GetArrayLength():
pDVR1->GetArrayLength();
if(nCurWindowSize != nCurWindowSize1)
- {
- ss << " return NAN;\n";
- ss << "}\n";
- return ;
- }
+ throw Unhandled(__FILE__, __LINE__);
ss << " for (int i = ";
if ((!pDVR->IsStartFixed() && pDVR->IsEndFixed())
&&(!pDVR1->IsStartFixed() && pDVR1->IsEndFixed()))
@@ -2626,13 +2617,7 @@ void OpSlope::GenSlidingWindowFunction(std::stringstream &ss,
}
else
{
- ss << "0; i < " << nCurWindowSize << "; i++)\n";
- ss << " {\n";
- ss << " break;\n";
- ss << " }";
- ss << " return NAN;\n";
- ss << "}\n";
- return ;
+ throw Unhandled(__FILE__, __LINE__);
}
ss << " argX = ";
@@ -2701,8 +2686,7 @@ void OpSlope::GenSlidingWindowFunction(std::stringstream &ss,
}
else
{
- ss << " return NAN;\n";
- ss << "}\n";
+ throw Unhandled(__FILE__, __LINE__);
}
}
void OpSTEYX::GenSlidingWindowFunction(std::stringstream &ss,
More information about the Libreoffice-commits
mailing list