diff options
Diffstat (limited to 'sc/source/core/opencl/formulagroupcl.cxx')
-rw-r--r-- | sc/source/core/opencl/formulagroupcl.cxx | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/sc/source/core/opencl/formulagroupcl.cxx b/sc/source/core/opencl/formulagroupcl.cxx index 24815b4937b1..12eb62bbe1eb 100644 --- a/sc/source/core/opencl/formulagroupcl.cxx +++ b/sc/source/core/opencl/formulagroupcl.cxx @@ -345,6 +345,8 @@ size_t VectorRef::Marshal( cl_kernel k, int argno, int, cl_program ) /// automatically disables use of OpenCL for a formula group. If at some point there are resources /// to drain the OpenCL swamp, this should go away. +namespace { + class ConstStringArgument : public DynamicKernelArgument { public: @@ -875,6 +877,8 @@ public: virtual size_t Marshal( cl_kernel, int, int, cl_program ) override; }; +} + /// Marshal a string vector reference size_t DynamicKernelStringArgument::Marshal( cl_kernel k, int argno, int, cl_program ) { @@ -964,6 +968,8 @@ size_t DynamicKernelStringArgument::Marshal( cl_kernel k, int argno, int, cl_pro return 1; } +namespace { + /// A mixed string/numeric vector class DynamicKernelMixedArgument : public VectorRef { @@ -1304,6 +1310,8 @@ private: std::vector<DynamicKernelArgumentRef> mParams; }; +} + void SymbolTable::Marshal( cl_kernel k, int nVectorWidth, cl_program pProgram ) { int i = 1; //The first argument is reserved for results @@ -1313,6 +1321,8 @@ void SymbolTable::Marshal( cl_kernel k, int nVectorWidth, cl_program pProgram ) } } +namespace { + /// Handling a Double Vector that is used as a sliding window input /// Performs parallel reduction based on given operator template<class Base> @@ -2316,7 +2326,7 @@ public: } virtual std::string BinFuncName() const override { return "fsop"; } }; -namespace { + struct SumIfsArgs { explicit SumIfsArgs(cl_mem x) : mCLMem(x), mConst(0.0) { } @@ -2324,7 +2334,6 @@ struct SumIfsArgs cl_mem mCLMem; double mConst; }; -} /// Helper functions that have multiple buffers class DynamicKernelSoPArguments : public DynamicKernelArgument @@ -2619,6 +2628,8 @@ private: cl_mem mpClmem2; }; +} + static DynamicKernelArgumentRef SoPHelper( const ScCalcConfig& config, const std::string& ts, const FormulaTreeNodeRef& ft, SlidingFunctionBase* pCodeGen, int nResultSize ) @@ -3793,6 +3804,8 @@ DynamicKernelSoPArguments::DynamicKernelSoPArguments(const ScCalcConfig& config, } } +namespace { + class DynamicKernel : public CompiledFormula { public: @@ -3833,6 +3846,8 @@ private: int const mnResultSize; }; +} + DynamicKernel::DynamicKernel( const ScCalcConfig& config, const FormulaTreeNodeRef& r, int nResultSize ) : mCalcConfig(config), mpRoot(r), |