summaryrefslogtreecommitdiff
path: root/sc/source/core/opencl/formulagroupcl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/core/opencl/formulagroupcl.cxx')
-rw-r--r--sc/source/core/opencl/formulagroupcl.cxx19
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),