LibreOffice Module sc (master) 1
|
Implements functions in the form of FUNC(x1, x2), 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 arguments are "arg0" and "arg1". 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(x1, x2), e.g.
ATAN2(). The function should take exactly two simple arguments (i.e. no ranges).
Definition at line 29 of file op_math.hxx.
|
privatepure virtual |
This writes out OpenCL code returning the computed value, the arguments are "arg0" and "arg1".
Implemented in sc::opencl::OpMROUND, sc::opencl::OpArcTan2, sc::opencl::OpBitAnd, sc::opencl::OpBitOr, sc::opencl::OpBitXor, sc::opencl::OpBitLshift, sc::opencl::OpBitRshift, sc::opencl::OpPower, sc::opencl::OpMod, sc::opencl::OpCombinA, sc::opencl::OpCombin, sc::opencl::OpQuotient, sc::opencl::OpLessEqual, sc::opencl::OpLess, sc::opencl::OpGreaterEqual, and sc::opencl::OpGreater.
Referenced by GenSlidingWindowFunction().
|
overrideprivatevirtual |
Reimplemented from sc::opencl::Normal.
Definition at line 32 of file op_math.cxx.
References CHECK_PARAMETER_COUNT, sc::opencl::SlidingFunctionBase::GenerateArg(), GenerateCode(), and sc::opencl::SlidingFunctionBase::GenerateFunctionDeclaration().