diff options
Diffstat (limited to 'sc/source/core')
-rw-r--r-- | sc/source/core/tool/calcconfig.cxx | 18 | ||||
-rw-r--r-- | sc/source/core/tool/formulaopt.cxx | 6 | ||||
-rw-r--r-- | sc/source/core/tool/token.cxx | 4 |
3 files changed, 14 insertions, 14 deletions
diff --git a/sc/source/core/tool/calcconfig.cxx b/sc/source/core/tool/calcconfig.cxx index d5c190732957..12f40a002c33 100644 --- a/sc/source/core/tool/calcconfig.cxx +++ b/sc/source/core/tool/calcconfig.cxx @@ -35,7 +35,7 @@ void ScCalcConfig::setOpenCLConfigToDefault() { // Keep in order of opcode value, is that clearest? (Random order, // at least, would make no sense at all.) - static const OpCodeSet aDefaultOpenCLSubsetOpCodes { + static const std::set<OpCode> aDefaultOpenCLSubsetOpCodes { ocAdd, ocSub, ocMul, @@ -74,7 +74,7 @@ void ScCalcConfig::setOpenCLConfigToDefault() mbOpenCLSubsetOnly = true; mbOpenCLAutoSelect = true; mnOpenCLMinimumFormulaGroupSize = 100; - maOpenCLSubsetOpCodes = aDefaultOpenCLSubsetOpCodes; + mpOpenCLSubsetOpCodes.reset(new std::set<OpCode>(aDefaultOpenCLSubsetOpCodes)); } void ScCalcConfig::reset() @@ -108,7 +108,7 @@ bool ScCalcConfig::operator== (const ScCalcConfig& r) const mbOpenCLAutoSelect == r.mbOpenCLAutoSelect && maOpenCLDevice == r.maOpenCLDevice && mnOpenCLMinimumFormulaGroupSize == r.mnOpenCLMinimumFormulaGroupSize && - maOpenCLSubsetOpCodes == r.maOpenCLSubsetOpCodes && + *mpOpenCLSubsetOpCodes == *r.mpOpenCLSubsetOpCodes && true; } @@ -144,7 +144,7 @@ std::ostream& operator<<(std::ostream& rStream, const ScCalcConfig& rConfig) "OpenCLAutoSelect=" << (rConfig.mbOpenCLAutoSelect?"Y":"N") << "," "OpenCLDevice='" << rConfig.maOpenCLDevice << "'," "OpenCLMinimumFormulaGroupSize=" << rConfig.mnOpenCLMinimumFormulaGroupSize << "," - "OpenCLSubsetOpCodes={" << ScOpCodeSetToSymbolicString(rConfig.maOpenCLSubsetOpCodes) << "}," + "OpenCLSubsetOpCodes={" << ScOpCodeSetToSymbolicString(rConfig.mpOpenCLSubsetOpCodes) << "}," "}"; return rStream; } @@ -155,9 +155,9 @@ OUString ScOpCodeSetToSymbolicString(const ScCalcConfig::OpCodeSet& rOpCodes) formula::FormulaCompiler aCompiler; formula::FormulaCompiler::OpCodeMapPtr pOpCodeMap(aCompiler.GetOpCodeMap(css::sheet::FormulaLanguage::ENGLISH)); - for (auto i = rOpCodes.cbegin(); i != rOpCodes.cend(); ++i) + for (auto i = rOpCodes->cbegin(); i != rOpCodes->cend(); ++i) { - if (i != rOpCodes.cbegin()) + if (i != rOpCodes->cbegin()) result.append(';'); result.append(pOpCodeMap->getSymbol(*i)); } @@ -167,7 +167,7 @@ OUString ScOpCodeSetToSymbolicString(const ScCalcConfig::OpCodeSet& rOpCodes) ScCalcConfig::OpCodeSet ScStringToOpCodeSet(const OUString& rOpCodes) { - ScCalcConfig::OpCodeSet result; + ScCalcConfig::OpCodeSet result(new std::set< OpCode >()); formula::FormulaCompiler aCompiler; formula::FormulaCompiler::OpCodeMapPtr pOpCodeMap(aCompiler.GetOpCodeMap(css::sheet::FormulaLanguage::ENGLISH)); @@ -184,12 +184,12 @@ ScCalcConfig::OpCodeSet ScStringToOpCodeSet(const OUString& rOpCodes) OUString element(s.copy(fromIndex, semicolon - fromIndex)); sal_Int32 n = element.toInt32(); if (n > 0 || (n == 0 && element == "0")) - result.insert(static_cast<OpCode>(n)); + result->insert(static_cast<OpCode>(n)); else { auto opcode(pHashMap->find(element)); if (opcode != pHashMap->end()) - result.insert(static_cast<OpCode>(opcode->second)); + result->insert(static_cast<OpCode>(opcode->second)); else SAL_WARN("sc.opencl", "Unrecognized OpCode " << element << " in OpCode set string"); } diff --git a/sc/source/core/tool/formulaopt.cxx b/sc/source/core/tool/formulaopt.cxx index 3e35c626a66c..7bb264bace36 100644 --- a/sc/source/core/tool/formulaopt.cxx +++ b/sc/source/core/tool/formulaopt.cxx @@ -491,9 +491,9 @@ void ScFormulaCfg::UpdateFromProperties( const Sequence<OUString>& aNames ) break; case SCFORMULAOPT_OPENCL_SUBSET_OPS: { - OUString sVal = ScOpCodeSetToSymbolicString(GetCalcConfig().maOpenCLSubsetOpCodes); + OUString sVal = ScOpCodeSetToSymbolicString(GetCalcConfig().mpOpenCLSubsetOpCodes); pValues[nProp] >>= sVal; - GetCalcConfig().maOpenCLSubsetOpCodes = ScStringToOpCodeSet(sVal); + GetCalcConfig().mpOpenCLSubsetOpCodes = ScStringToOpCodeSet(sVal); } break; } @@ -638,7 +638,7 @@ void ScFormulaCfg::ImplCommit() break; case SCFORMULAOPT_OPENCL_SUBSET_OPS: { - OUString sVal = ScOpCodeSetToSymbolicString(GetCalcConfig().maOpenCLSubsetOpCodes); + OUString sVal = ScOpCodeSetToSymbolicString(GetCalcConfig().mpOpenCLSubsetOpCodes); pValues[nProp] <<= sVal; } break; diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx index 8a67152008de..439134fae419 100644 --- a/sc/source/core/tool/token.cxx +++ b/sc/source/core/tool/token.cxx @@ -1315,7 +1315,7 @@ void ScTokenArray::CheckToken( const FormulaToken& r ) if (SC_OPCODE_START_FUNCTION <= eOp && eOp < SC_OPCODE_STOP_FUNCTION) { - if (ScInterpreter::GetGlobalConfig().mbOpenCLSubsetOnly && ScInterpreter::GetGlobalConfig().maOpenCLSubsetOpCodes.find(eOp) == ScInterpreter::GetGlobalConfig().maOpenCLSubsetOpCodes.end()) + if (ScInterpreter::GetGlobalConfig().mbOpenCLSubsetOnly && ScInterpreter::GetGlobalConfig().mpOpenCLSubsetOpCodes->find(eOp) == ScInterpreter::GetGlobalConfig().mpOpenCLSubsetOpCodes->end()) { meVectorState = FormulaVectorDisabled; return; @@ -1556,7 +1556,7 @@ void ScTokenArray::CheckToken( const FormulaToken& r ) if (eOp >= SC_OPCODE_START_BIN_OP && eOp <= SC_OPCODE_STOP_UN_OP && ScInterpreter::GetGlobalConfig().mbOpenCLSubsetOnly && - ScInterpreter::GetGlobalConfig().maOpenCLSubsetOpCodes.find(eOp) == ScInterpreter::GetGlobalConfig().maOpenCLSubsetOpCodes.end()) + ScInterpreter::GetGlobalConfig().mpOpenCLSubsetOpCodes->find(eOp) == ScInterpreter::GetGlobalConfig().mpOpenCLSubsetOpCodes->end()) { meVectorState = FormulaVectorDisabled; return; |