LibreOffice Module sc (master) 1
Namespaces | Macros | Functions | Variables
formulagroupcl.cxx File Reference
#include <formulagroup.hxx>
#include <formulagroupcl.hxx>
#include <document.hxx>
#include <formulacell.hxx>
#include <tokenarray.hxx>
#include <compiler.hxx>
#include <comphelper/random.hxx>
#include <scmatrix.hxx>
#include <sal/log.hxx>
#include <opencl/openclwrapper.hxx>
#include <opencl/OpenCLZone.hxx>
#include "op_financial.hxx"
#include "op_math.hxx"
#include "op_logical.hxx"
#include "op_statistical.hxx"
#include "op_array.hxx"
#include "op_spreadsheet.hxx"
#include "op_addin.hxx"
#include <limits>
#include <com/sun/star/sheet/FormulaLanguage.hpp>
#include <utility>
#include <vector>
#include <map>
#include <iostream>
#include <algorithm>
#include <rtl/digest.h>
#include <memory>
Include dependency graph for formulagroupcl.cxx:

Go to the source code of this file.

Namespaces

namespace  sc
 CAUTION! The following defines must be in the same namespace as the respective type.
 
namespace  sc::opencl
 

Macros

#define CASE(opcode, createCode)
 
#define EXTCASE(name, createCode)
 

Functions

static DynamicKernelArgumentRef sc::opencl::SoPHelper (const ScCalcConfig &config, const std::string &ts, const FormulaTreeNodeRef &ft, std::shared_ptr< SlidingFunctionBase > pCodeGen, int nResultSize)
 
template<class Base >
static std::shared_ptr< DynamicKernelArgument > sc::opencl::VectorRefFactory (const ScCalcConfig &config, const std::string &s, const FormulaTreeNodeRef &ft, std::shared_ptr< SlidingFunctionBase > &pCodeGen, int index)
 

Variables

const char *const publicFunc
 

Macro Definition Documentation

◆ CASE

#define CASE (   opcode,
  createCode 
)
Value:
case opcode: \
mvSubArguments.push_back(SoPHelper(mCalcConfig, ts, ft->Children[i], createCode, nResultSize)); \
break;
ScCalcConfig mCalcConfig
static DynamicKernelArgumentRef SoPHelper(const ScCalcConfig &config, const std::string &ts, const FormulaTreeNodeRef &ft, std::shared_ptr< SlidingFunctionBase > pCodeGen, int nResultSize)

◆ EXTCASE

#define EXTCASE (   name,
  createCode 
)
Value:
else if (pChild->GetExternal() == name) \
{ \
mvSubArguments.push_back(SoPHelper(mCalcConfig, ts, ft->Children[i], createCode, nResultSize)); \
}

Variable Documentation

◆ inlineDecl

std::set<std::string> inlineDecl
private

Definition at line 2472 of file formulagroupcl.cxx.

◆ inlineFun

std::set<std::string> inlineFun
private

Definition at line 2473 of file formulagroupcl.cxx.

◆ mCalcConfig

ScCalcConfig mCalcConfig
private

Definition at line 2464 of file formulagroupcl.cxx.

◆ mCLMem

cl_mem mCLMem

Definition at line 1639 of file formulagroupcl.cxx.

◆ mConst

double mConst

Definition at line 1640 of file formulagroupcl.cxx.

◆ mCurId

unsigned int mCurId
private

Definition at line 1203 of file formulagroupcl.cxx.

◆ mDoubleArgument

DynamicKernelSlidingArgument<VectorRef> mDoubleArgument
protected

Definition at line 1175 of file formulagroupcl.cxx.

◆ mFullProgramSrc

std::string mFullProgramSrc
private

Definition at line 2468 of file formulagroupcl.cxx.

◆ mKernelHash

std::string mKernelHash
private

Definition at line 2467 of file formulagroupcl.cxx.

◆ mKernelSignature

std::string mKernelSignature
private

Definition at line 2467 of file formulagroupcl.cxx.

◆ mnGroupLength

SCROW mnGroupLength
private

Definition at line 2859 of file formulagroupcl.cxx.

◆ mnResultSize

int mnResultSize
private

Definition at line 2475 of file formulagroupcl.cxx.

◆ mParams

std::vector<DynamicKernelArgumentRef> mParams
private

Definition at line 1205 of file formulagroupcl.cxx.

◆ mpClmem2

cl_mem mpClmem2
private

◆ mpCLResBuf

cl_mem mpCLResBuf
private

Definition at line 2861 of file formulagroupcl.cxx.

◆ mpCodeGen

std::shared_ptr<SlidingFunctionBase> mpCodeGen
private

◆ mpKernel

DynamicKernel* mpKernel
private

for managed kernel instance.

Definition at line 2470 of file formulagroupcl.cxx.

◆ mpKernelStore

std::shared_ptr<DynamicKernel> mpKernelStore
private

Definition at line 2927 of file formulagroupcl.cxx.

◆ mpProgram

cl_program mpProgram
private

◆ mpResBuf

double* mpResBuf
private

Definition at line 2862 of file formulagroupcl.cxx.

◆ mpResClmem

cl_mem mpResClmem
private

Definition at line 2471 of file formulagroupcl.cxx.

◆ mpRoot

FormulaTreeNodeRef mpRoot
private

Definition at line 2465 of file formulagroupcl.cxx.

◆ mStringArgument

DynamicKernelSlidingArgument<DynamicKernelStringArgument> mStringArgument
protected

Definition at line 943 of file formulagroupcl.cxx.

◆ mSymbols

ArgumentMap mSymbols
private

Definition at line 1204 of file formulagroupcl.cxx.

◆ mSyms

SymbolTable mSyms
private

Definition at line 2466 of file formulagroupcl.cxx.

◆ mvSubArguments

SubArgumentsType mvSubArguments
private

Definition at line 1872 of file formulagroupcl.cxx.

◆ publicFunc

const char* const publicFunc
Initial value:
=
"\n"
"#define IllegalArgument 502\n"
"#define IllegalFPOperation 503 // #NUM!\n"
"#define NoValue 519 // #VALUE!\n"
"#define NoConvergence 523\n"
"#define DivisionByZero 532 // #DIV/0!\n"
"#define NOTAVAILABLE 0x7fff // #N/A\n"
"\n"
"double CreateDoubleError(ulong nErr)\n"
"{\n"
" return as_double(0x7FF8000000000000+nErr);\n"
"}\n"
"\n"
"double fsum(double a, double b) { return isnan(a)?b:a+b; }\n"
"double legalize(double a, double b) { return isnan(a)?b:a;}\n"

Definition at line 35 of file formulagroupcl.cxx.