[Libreoffice-commits] core.git: 2 commits - officecfg/registry sc/source
Tor Lillqvist
tml at collabora.com
Tue Aug 25 09:36:34 PDT 2015
officecfg/registry/schema/org/openoffice/Office/Calc.xcs | 2 +-
sc/source/core/opencl/formulagroupcl.cxx | 1 +
sc/source/core/opencl/op_spreadsheet.cxx | 2 +-
sc/source/core/tool/calcconfig.cxx | 1 +
4 files changed, 4 insertions(+), 2 deletions(-)
New commits:
commit 7bb7539c0e34283baeaacf7e4ff0b19287afadc2
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Aug 25 18:33:45 2015 +0300
Add VLOOKUP to the set of opcodes that we trust the OpenCL implementation for
Change-Id: I937ec900044bbc6027ff8d4ae37f2f275dde974f
diff --git a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
index bb74d74..c3fa523 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
@@ -1373,7 +1373,7 @@
true, and a formula contains only these operators and
functions, it might be calculated using OpenCL.</desc>
</info>
- <value>+;-;*;/;RAND;SIN;COS;TAN;ATAN;EXP;LN;SQRT;NORMSDIST;NORMSINV;ROUND;POWER;SUMPRODUCT;MIN;MAX;SUM;PRODUCT;AVERAGE;COUNT;VAR;NORMDIST;CORREL;COVAR;PEARSON;SLOPE;SUMIFS</value>
+ <value>+;-;*;/;RAND;SIN;COS;TAN;ATAN;EXP;LN;SQRT;NORMSDIST;NORMSINV;ROUND;POWER;SUMPRODUCT;MIN;MAX;SUM;PRODUCT;AVERAGE;COUNT;VAR;NORMDIST;VLOOKUP;CORREL;COVAR;PEARSON;SLOPE;SUMIFS</value>
</prop>
<prop oor:name="OpenCLAutoSelect" oor:type="xs:boolean" oor:nillable="false">
<!-- UIHints: Tools - Options Spreadsheet Formula -->
diff --git a/sc/source/core/tool/calcconfig.cxx b/sc/source/core/tool/calcconfig.cxx
index cc52ad7..868ddd1 100644
--- a/sc/source/core/tool/calcconfig.cxx
+++ b/sc/source/core/tool/calcconfig.cxx
@@ -67,6 +67,7 @@ void ScCalcConfig::setOpenCLConfigToDefault()
maOpenCLSubsetOpCodes.insert(ocCount);
maOpenCLSubsetOpCodes.insert(ocVar);
maOpenCLSubsetOpCodes.insert(ocNormDist);
+ maOpenCLSubsetOpCodes.insert(ocVLookup);
maOpenCLSubsetOpCodes.insert(ocCorrel);
maOpenCLSubsetOpCodes.insert(ocCovar);
maOpenCLSubsetOpCodes.insert(ocPearson);
commit 41a6094095a0cd42f24eb996c7ec8c28ab9d6c1a
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Aug 25 19:33:36 2015 +0300
Produce the expected N/A error code in the OpenCL VLOOKUP implementation
Instead of a bare NaN.
Change-Id: I170c540478315eedd23f5851d54c30175d21ef96
diff --git a/sc/source/core/opencl/formulagroupcl.cxx b/sc/source/core/opencl/formulagroupcl.cxx
index 53834d7..b4882d9 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -40,6 +40,7 @@ static const char* publicFunc =
"#define errIllegalFPOperation 503 // #NUM!\n"
"#define errNoValue 519 // #VALUE!\n"
"#define errDivisionByZero 532 // #DIV/0!\n"
+ "#define NOTAVAILABLE 0x7fff // #N/A\n"
"\n"
"double CreateDoubleError(ulong nErr)\n"
"{\n"
diff --git a/sc/source/core/opencl/op_spreadsheet.cxx b/sc/source/core/opencl/op_spreadsheet.cxx
index 6ade850..d6853c4 100644
--- a/sc/source/core/opencl/op_spreadsheet.cxx
+++ b/sc/source/core/opencl/op_spreadsheet.cxx
@@ -35,7 +35,7 @@ void OpVLookup::GenSlidingWindowFunction(std::stringstream &ss,
}
ss << ")\n {\n";
ss << " int gid0=get_global_id(0);\n";
- ss << " double tmp = NAN;\n";
+ ss << " double tmp = CreateDoubleError(NOTAVAILABLE);\n";
ss << " double intermediate = DBL_MAX;\n";
ss << " int singleIndex = gid0;\n";
ss << " int rowNum = -1;\n";
More information about the Libreoffice-commits
mailing list