LibreOffice Module sc (master) 1
Public Types | Public Member Functions | Private Attributes | List of all members
sc::opencl::Reduction Class Reference

#include <opbase.hxx>

Inheritance diagram for sc::opencl::Reduction:
[legend]
Collaboration diagram for sc::opencl::Reduction:
[legend]

Public Types

typedef DynamicKernelSlidingArgument< VectorRefNumericRange
 
typedef DynamicKernelSlidingArgument< VectorRefStringsToZeroNumericRangeStringsToZero
 
typedef DynamicKernelSlidingArgument< DynamicKernelStringArgumentStringRange
 
typedef ParallelReductionVectorRef< VectorRefParallelNumericRange
 
- Public Types inherited from sc::opencl::SlidingFunctionBase
typedef std::vector< DynamicKernelArgumentRefSubArguments
 

Public Member Functions

 Reduction (int nResultSize)
 
virtual bool HandleNaNArgument (outputstream &, unsigned, SubArguments &) const
 
virtual void GenSlidingWindowFunction (outputstream &ss, const std::string &sSymName, SubArguments &vSubArguments) override
 
virtual bool isAverage () const
 
virtual bool isMinOrMax () const
 
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 ()
 

Private Attributes

int const mnResultSize
 

Additional Inherited Members

- 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)
 

Detailed Description

Definition at line 499 of file opbase.hxx.

Member Typedef Documentation

◆ NumericRange

Definition at line 505 of file opbase.hxx.

◆ NumericRangeStringsToZero

Definition at line 506 of file opbase.hxx.

◆ ParallelNumericRange

Definition at line 508 of file opbase.hxx.

◆ StringRange

Definition at line 507 of file opbase.hxx.

Constructor & Destructor Documentation

◆ Reduction()

sc::opencl::Reduction::Reduction ( int  nResultSize)
inlineexplicit

Definition at line 503 of file opbase.hxx.

Member Function Documentation

◆ GenSlidingWindowFunction()

void sc::opencl::Reduction::GenSlidingWindowFunction ( outputstream ss,
const std::string &  sSymName,
SubArguments vSubArguments 
)
overridevirtual

◆ HandleNaNArgument()

virtual bool sc::opencl::Reduction::HandleNaNArgument ( outputstream ,
unsigned  ,
SubArguments  
) const
inlinevirtual

Reimplemented in sc::opencl::OpDiv.

Definition at line 510 of file opbase.hxx.

Referenced by GenSlidingWindowFunction().

◆ isAverage()

virtual bool sc::opencl::Reduction::isAverage ( ) const
inlinevirtual

Reimplemented in sc::opencl::OpAverage.

Definition at line 517 of file opbase.hxx.

Referenced by GenSlidingWindowFunction().

◆ isMinOrMax()

virtual bool sc::opencl::Reduction::isMinOrMax ( ) const
inlinevirtual

Reimplemented in sc::opencl::OpMin, and sc::opencl::OpMax.

Definition at line 518 of file opbase.hxx.

Referenced by GenSlidingWindowFunction().

◆ takeNumeric()

virtual bool sc::opencl::Reduction::takeNumeric ( ) const
inlineoverridevirtual

Implements sc::opencl::OpBase.

Definition at line 520 of file opbase.hxx.

◆ takeString()

virtual bool sc::opencl::Reduction::takeString ( ) const
inlineoverridevirtual

Implements sc::opencl::OpBase.

Definition at line 519 of file opbase.hxx.

Member Data Documentation

◆ mnResultSize

int const sc::opencl::Reduction::mnResultSize
private

Definition at line 501 of file opbase.hxx.

Referenced by GenSlidingWindowFunction().


The documentation for this class was generated from the following files: