rasdaman complete source
Public Types | List of all members
Ops Class Reference

#include <ops.hh>

Public Types

enum  OpType {
  OP_COUNT, OP_MAX, OP_MIN, OP_SUM,
  OP_SOME, OP_ALL, OP_NOT, OP_UFUNC_BEGIN,
  OP_ABS, OP_SQRT, OP_EXP, OP_LOG,
  OP_LN, OP_SIN, OP_COS, OP_TAN,
  OP_SINH, OP_COSH, OP_TANH, OP_ARCSIN,
  OP_ARCCOS, OP_ARCTAN, OP_UFUNC_END, OP_REALPART,
  OP_IMAGINARPART, OP_CAST_BEGIN, OP_CAST_BOOL, OP_CAST_CHAR,
  OP_CAST_OCTET, OP_CAST_SHORT, OP_CAST_USHORT, OP_CAST_LONG,
  OP_CAST_ULONG, OP_CAST_FLOAT, OP_CAST_DOUBLE, OP_CAST_END,
  OP_IDENTITY, OP_MINUS, OP_PLUS, OP_DIV,
  OP_MULT, OP_IS, OP_AND, OP_OR,
  OP_OVERLAY, OP_BIT, OP_XOR, OP_EQUAL,
  OP_LESS, OP_LESSEQUAL, OP_NOTEQUAL, OP_GREATER,
  OP_GREATEREQUAL
}
 

Static Public Member Functions

static UnaryOpgetUnaryOp (Ops::OpType op, const BaseType *restype, const BaseType *optype, unsigned int resOff=0, unsigned int opOff=0)
 get function object for unary operation. More...
 
static BinaryOpgetBinaryOp (Ops::OpType op, const BaseType *resType, const BaseType *op1Type, const BaseType *op2Type, unsigned int resOff=0, unsigned int op1Off=0, unsigned int op2Off=0)
 get function object for binary operation. More...
 
static CondenseOpgetCondenseOp (Ops::OpType op, const BaseType *resType, const BaseType *opType=0, unsigned int resOff=0, unsigned int opOff=0)
 
static CondenseOpgetCondenseOp (Ops::OpType op, const BaseType *resType, char *newAccu, const BaseType *opType=0, unsigned int resOff=0, unsigned int opOff=0)
 get function object for condense operation. More...
 
static int isApplicable (Ops::OpType op, const BaseType *op1Type, const BaseType *op2Type=0)
 checks, if #op# is applicable on the given types. More...
 
static const BaseTypegetResultType (Ops::OpType op, const BaseType *op1, const BaseType *op2=0)
 gives back suggested return type for #op# carried out on the given types. More...
 
static void execUnaryConstOp (Ops::OpType op, const BaseType *resType, const BaseType *opType, char *res, const char *op1, unsigned int resOff=0, unsigned int opOff=0)
 executes operation on a constant. More...
 
static void execBinaryConstOp (Ops::OpType op, const BaseType *resType, const BaseType *op1Type, const BaseType *op2Type, char *res, const char *op1, const char *op2, unsigned int resOff=0, unsigned int op1Off=0, unsigned int op2Off=0)
 executes operation on two constants. More...
 

Member Function Documentation

static void Ops::execBinaryConstOp ( Ops::OpType  op,
const BaseType resType,
const BaseType op1Type,
const BaseType op2Type,
char *  res,
const char *  op1,
const char *  op2,
unsigned int  resOff = 0,
unsigned int  op1Off = 0,
unsigned int  op2Off = 0 
)
static

executes operation on two constants.

static void Ops::execUnaryConstOp ( Ops::OpType  op,
const BaseType resType,
const BaseType opType,
char *  res,
const char *  op1,
unsigned int  resOff = 0,
unsigned int  opOff = 0 
)
static

executes operation on a constant.

static BinaryOp* Ops::getBinaryOp ( Ops::OpType  op,
const BaseType resType,
const BaseType op1Type,
const BaseType op2Type,
unsigned int  resOff = 0,
unsigned int  op1Off = 0,
unsigned int  op2Off = 0 
)
static

get function object for binary operation.

static CondenseOp* Ops::getCondenseOp ( Ops::OpType  op,
const BaseType resType,
const BaseType opType = 0,
unsigned int  resOff = 0,
unsigned int  opOff = 0 
)
static
static CondenseOp* Ops::getCondenseOp ( Ops::OpType  op,
const BaseType resType,
char *  newAccu,
const BaseType opType = 0,
unsigned int  resOff = 0,
unsigned int  opOff = 0 
)
static

get function object for condense operation.

static const BaseType* Ops::getResultType ( Ops::OpType  op,
const BaseType op1,
const BaseType op2 = 0 
)
static

gives back suggested return type for #op# carried out on the given types.

static UnaryOp* Ops::getUnaryOp ( Ops::OpType  op,
const BaseType restype,
const BaseType optype,
unsigned int  resOff = 0,
unsigned int  opOff = 0 
)
static

get function object for unary operation.

static int Ops::isApplicable ( Ops::OpType  op,
const BaseType op1Type,
const BaseType op2Type = 0 
)
static

checks, if #op# is applicable on the given types.


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