LibreOffice Module sc (master) 1
|
Implements functions in the form of FUNC(x), e.g. More...
#include <op_math.hxx>
Private Member Functions | |
virtual void | GenSlidingWindowFunction (outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override |
virtual void | GenerateCode (outputstream &ss) const =0 |
This writes out OpenCL code returning the computed value, the argument is "arg0". More... | |
Additional Inherited Members | |
Public Types inherited from sc::opencl::SlidingFunctionBase | |
typedef std::vector< DynamicKernelArgumentRef > | SubArguments |
Public Member Functions inherited from sc::opencl::Normal | |
virtual void | GenSlidingWindowFunction (outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override |
virtual bool | takeString () const override |
virtual bool | takeNumeric () const override |
virtual void | GenSlidingWindowFunction (outputstream &, const std::string &, SubArguments &)=0 |
Public Member Functions inherited from sc::opencl::OpBase | |
virtual std::string | GetBottom () |
virtual std::string | Gen2 (const std::string &, const std::string &) const |
virtual std::string | BinFuncName () const |
virtual void | BinInlineFun (std::set< std::string > &, std::set< std::string > &) |
virtual bool | takeString () const =0 |
virtual bool | takeNumeric () const =0 |
virtual bool | canHandleMultiVector () const |
virtual bool | ZeroReturnZero () |
virtual bool | forceStringsToZero () const |
virtual | ~OpBase () |
Static Public Member Functions inherited from sc::opencl::OpBase | |
static std::string | Gen (std::vector< std::string > &) |
Protected Types inherited from sc::opencl::SlidingFunctionBase | |
enum | EmptyArgType { EmptyIsZero , EmptyIsNan , SkipEmpty } |
enum | GenerateArgTypeType { DoNotGenerateArgType , GenerateArgType } |
Protected Member Functions inherited from sc::opencl::SlidingFunctionBase | |
void | GenerateFunctionDeclaration (const std::string &sSymName, SubArguments &vSubArguments, outputstream &ss) |
void | GenerateArg (const char *name, int arg, SubArguments &vSubArguments, outputstream &ss, EmptyArgType empty=EmptyIsZero, GenerateArgTypeType generateType=DoNotGenerateArgType) |
void | GenerateArg (int arg, SubArguments &vSubArguments, outputstream &ss, EmptyArgType empty=EmptyIsZero, GenerateArgTypeType generateType=DoNotGenerateArgType) |
void | GenerateArgWithDefault (const char *name, int arg, double def, SubArguments &vSubArguments, outputstream &ss, EmptyArgType empty=EmptyIsZero) |
void | GenerateRangeArg (int arg1, int arg2, SubArguments &vSubArguments, outputstream &ss, EmptyArgType empty, const char *code, const char *firstElementDiff=nullptr) |
Static Protected Member Functions inherited from sc::opencl::SlidingFunctionBase | |
static void | GenerateRangeArgs (int firstArg, int lastArg, SubArguments &vSubArguments, outputstream &ss, EmptyArgType empty, const char *code) |
static void | GenerateRangeArgs (SubArguments &vSubArguments, outputstream &ss, EmptyArgType empty, const char *code) |
static void | GenerateRangeArg (int arg, SubArguments &vSubArguments, outputstream &ss, EmptyArgType empty, const char *code) |
static void | GenerateRangeArgPair (int arg1, int arg2, SubArguments &vSubArguments, outputstream &ss, EmptyArgType empty, const char *code, const char *firstElementDiff=nullptr) |
static void | GenerateRangeArgElement (const char *name, int arg, const char *element, SubArguments &vSubArguments, outputstream &ss, EmptyArgType empty) |
static void | GenerateDoubleVectorLoopHeader (outputstream &ss, const formula::DoubleVectorRefToken *pDVR, const char *firstElementDiff) |
Implements functions in the form of FUNC(x), e.g.
COS(). The function should take one simple argument (i.e. no ranges).
Definition at line 19 of file op_math.hxx.
|
privatepure virtual |
This writes out OpenCL code returning the computed value, the argument is "arg0".
Implemented in sc::opencl::OpCos, sc::opencl::OpSec, sc::opencl::OpSecH, sc::opencl::OpCsc, sc::opencl::OpCosh, sc::opencl::OpSinh, sc::opencl::OpSin, sc::opencl::OpAbs, sc::opencl::OpArcCos, sc::opencl::OpArcCosHyp, sc::opencl::OpTan, sc::opencl::OpTanH, sc::opencl::OpSqrt, sc::opencl::OpArcCot, sc::opencl::OpArcCotHyp, sc::opencl::OpArcSin, sc::opencl::OpArcSinHyp, sc::opencl::OpArcTan, sc::opencl::OpArcTanH, sc::opencl::OpLn, sc::opencl::OpInt, sc::opencl::OpRadians, sc::opencl::OpIsEven, sc::opencl::OpIsOdd, sc::opencl::OpCot, sc::opencl::OpCoth, sc::opencl::OpOdd, sc::opencl::OpCscH, sc::opencl::OpExp, sc::opencl::OpLog10, sc::opencl::OpEven, sc::opencl::OpSqrtPi, sc::opencl::OpDeg, sc::opencl::OpFact, and sc::opencl::OpNegSub.
Referenced by GenSlidingWindowFunction().
|
overrideprivatevirtual |
Reimplemented from sc::opencl::Normal.
Definition at line 20 of file op_math.cxx.
References CHECK_PARAMETER_COUNT, sc::opencl::SlidingFunctionBase::GenerateArg(), GenerateCode(), and sc::opencl::SlidingFunctionBase::GenerateFunctionDeclaration().