LibreOffice Module sc (master) 1
Classes | Namespaces | Macros | Typedefs
opbase.hxx File Reference
#include <clew/clew.h>
#include <formula/token.hxx>
#include <formula/types.hxx>
#include <formula/vectortoken.hxx>
#include <opencl/OpenCLZone.hxx>
#include <sal/log.hxx>
#include <memory>
#include <set>
#include <vector>
#include "utils.hxx"
Include dependency graph for opbase.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sc::opencl::UnhandledToken
 Exceptions. More...
 
class  sc::opencl::OpenCLError
 Failed in marshaling. More...
 
class  sc::opencl::Unhandled
 Inconsistent state. More...
 
class  sc::opencl::InvalidParameterCount
 
class  sc::opencl::FormulaTreeNode
 
class  sc::opencl::DynamicKernelArgument
 (Partially) abstract base class for an operand More...
 
class  sc::opencl::VectorRef
 Holds an input (read-only) argument reference to a SingleVectorRef. More...
 
class  sc::opencl::VectorRefStringsToZero
 
class  sc::opencl::DynamicKernelStringArgument
 A vector of strings. More...
 
class  sc::opencl::DynamicKernelConstantArgument
 Arguments that are actually compile-time constants. More...
 
class  sc::opencl::DynamicKernelStringToZeroArgument
 
class  sc::opencl::OpBase
 Abstract class for code generation. More...
 
class  sc::opencl::SlidingFunctionBase
 
class  sc::opencl::Normal
 
class  sc::opencl::CheckVariables
 
class  sc::opencl::DynamicKernelSlidingArgument< Base >
 Handling a Double Vector that is used as a sliding window input to either a sliding window average or sum-of-products Generate a sequential loop for reductions. More...
 
class  sc::opencl::ParallelReductionVectorRef< Base >
 Handling a Double Vector that is used as a sliding window input Performs parallel reduction based on given operator. More...
 
class  sc::opencl::Reduction
 

Namespaces

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

Macros

#define REDUCE_THRESHOLD   201
 
#define UNROLLING_FACTOR   16
 
#define CHECK_PARAMETER_COUNT(min, max)
 
#define CHECK_PARAMETER_COUNT_MIN(min)
 
#define CHECK_PARAMETER_DOUBLEVECTORREF(arg)
 

Typedefs

typedef std::shared_ptr< FormulaTreeNode > sc::opencl::FormulaTreeNodeRef
 
typedef std::shared_ptr< DynamicKernelArgument > sc::opencl::DynamicKernelArgumentRef
 

Macro Definition Documentation

◆ CHECK_PARAMETER_COUNT

#define CHECK_PARAMETER_COUNT (   min,
  max 
)
Value:
do { \
const int count = vSubArguments.size(); \
if( count < ( min ) || count > ( max )) \
throw InvalidParameterCount( count, __FILE__, __LINE__ ); \
} while( false )

Definition at line 85 of file opbase.hxx.

◆ CHECK_PARAMETER_COUNT_MIN

#define CHECK_PARAMETER_COUNT_MIN (   min)
Value:
do { \
const int count = vSubArguments.size(); \
if( count < ( min )) \
throw InvalidParameterCount( count, __FILE__, __LINE__ ); \
} while( false )

Definition at line 91 of file opbase.hxx.

◆ CHECK_PARAMETER_DOUBLEVECTORREF

#define CHECK_PARAMETER_DOUBLEVECTORREF (   arg)
Value:
do { \
formula::FormulaToken *token = vSubArguments[arg]->GetFormulaToken(); \
if (token == nullptr || token->GetType() != formula::svDoubleVectorRef) \
throw Unhandled(__FILE__, __LINE__); \
} while( false )

Definition at line 97 of file opbase.hxx.

◆ REDUCE_THRESHOLD

#define REDUCE_THRESHOLD   201

Definition at line 32 of file opbase.hxx.

◆ UNROLLING_FACTOR

#define UNROLLING_FACTOR   16

Definition at line 33 of file opbase.hxx.