rasdaman complete source
|
#include <qtbinaryinduce2.hh>
Public Member Functions | |
QtOverlay (QtOperation *input1, QtOperation *input2) | |
constructor getting the two operands More... | |
bool | isCommutative () const |
check commutativity More... | |
virtual void | printTree (int tab, std::ostream &s=std::cout, QtChildType mode=QT_ALL_NODES) |
prints the tree More... | |
virtual void | printAlgebraicExpression (std::ostream &s=std::cout) |
prints the algebraic expression More... | |
virtual const QtNodeType | getNodeType () const |
method for identification of nodes More... | |
![]() | |
QtBinaryInduce (QtOperation *input1, QtOperation *input2, Ops::OpType initOpType) | |
constructor getting the two operands More... | |
QtData * | evaluate (QtDataList *inputList) |
method for evaluating the node More... | |
virtual const QtTypeElement & | checkType (QtTypeTuple *typeTuple=NULL) |
type checking of the subtree More... | |
![]() | |
QtBinaryOperation () | |
default constructor More... | |
QtBinaryOperation (QtNode *node) | |
constructor getting the node to the parent More... | |
QtBinaryOperation (QtOperation *input1, QtOperation *input2) | |
constructor getting pointers to its operands More... | |
virtual | ~QtBinaryOperation () |
virtual destructor More... | |
virtual void | simplify () |
simplifies the tree More... | |
virtual bool | equalMeaning (QtNode *node) |
test if the two nodes have an equal meaning in the query tree More... | |
virtual QtNodeList * | getChilds (QtChildType flag) |
return childs of the node More... | |
virtual std::string | getSpelling () |
creates a unique name for a subexpression More... | |
virtual QtAreaType | getAreaType () |
test if the edge to the parent node is of type mdd or atomic More... | |
virtual void | setInput (QtOperation *inputOld, QtOperation *inputNew) |
method for query rewrite More... | |
virtual void | optimizeLoad (QtTrimList *trimList) |
optimizing load access More... | |
void | setInput1 (QtOperation *input) |
void | setInput2 (QtOperation *input) |
QtOperation * | getInput1 () |
QtOperation * | getInput2 () |
![]() | |
QtOperation () | |
default constructor More... | |
QtOperation (QtNode *parent) | |
constructor getting a pointer to the parent More... | |
virtual QtOperation * | getUniqueOrder (const QtNode::QtNodeType ID) |
for associative law More... | |
void | printTree (int tab, std::ostream &s, QtChildType mode=QT_ALL_NODES) |
prints the tree More... | |
void | printAlgebraicExpression (std::ostream &s) |
prints the algebraic expression More... | |
void | setDataStreamType (const QtTypeElement &type) |
const QtTypeElement & | getDataStreamType () const |
![]() | |
QtNode () | |
default constructor More... | |
QtNode (QtNode *node) | |
constructor getting a pointer to the parent More... | |
virtual | ~QtNode () |
destructor More... | |
bool | subtype (enum QtNodeType a, enum QtNodeType b) |
returns weather class b is a subtype of class a More... | |
QtNodeList * | getChild (const QtNodeType node, QtChildType flag=QT_DIRECT_CHILDS) |
return childs of a certain class More... | |
enum QtNodeType | getQtNodeTypeParent (enum QtNodeType) |
method for pre optimizations (basically load optimization) More... | |
QtNode * | getParent () const |
void | setParent (QtNode *node) |
const ParseInfo & | getParseInfo () |
void | setParseInfo (const ParseInfo &info) |
Additional Inherited Members | |
![]() | |
enum | QtNodeType { QT_UNDEFINED_NODE, QT_MDD_ACCESS, QT_OPERATION_ITERATOR, QT_SELECTION_ITERATOR, QT_JOIN_ITERATOR, QT_UPDATE, QT_INSERT, QT_DELETE, QT_COMMAND, QT_PLUS, QT_MINUS, QT_MULT, QT_DIV, QT_OR, QT_AND, QT_XOR, QT_IS, QT_EQUAL, QT_NOT_EQUAL, QT_LESS, QT_LESS_EQUAL, QT_NOT, QT_SQRT, QT_EXECUTE, QT_ONC_STREAM, QT_ITERATOR, QT_OPERATION, QT_BINARY_OPERATION, QT_BINARY_INDUCE, QT_GROUP_ITERATOR, QT_IDENT, QT_NARY_OPERATION, QT_UNARY_OPERATION, QT_CONDENSE, QT_UNARY_INDUCE, QT_ABS, QT_EXP, QT_LOG, QT_LN, QT_SIN, QT_COS, QT_TAN, QT_SINH, QT_COSH, QT_TANH, QT_ARCSIN, QT_ARCCOS, QT_ARCTAN, QT_REALPART, QT_IMAGINARPART, QT_CAST, QT_CSE_ROOT, QT_DOMAIN_OPERATION, QT_ALL, QT_SOME, QT_COUNTCELLS, QT_ADDCELLS, QT_AVGCELLS, QT_MINCELLS, QT_MAXCELLS, QT_MDD_VAR, QT_MDD_STREAM, QT_CONST, QT_DOT, QT_CONVERSION, QT_OID, QT_INTERVALOP, QT_MINTERVALOP, QT_POINTOP, QT_LO, QT_HI, QT_SDOM, QT_SHIFT, QT_EXTEND, QT_MARRAYOP, QT_CONDENSEOP, QT_SCALE, QT_OVERLAY, QT_BIT, QT_PYRAMID, QT_ENCODE, QT_CONCAT, QT_CASEOP, QT_INFO, QT_LAST_NODE_TYPE } |
enum | QtAreaType { QT_AREA_MDD, QT_AREA_SCALAR } |
enum | QtChildType { QT_DIRECT_CHILDS, QT_LEAF_NODES, QT_ALL_NODES } |
typedef std::vector< QtData * > | QtDataList |
list of QtData pointers More... | |
typedef std::vector < QtTrimElement * > | QtTrimList |
list of QtTrimData structures More... | |
typedef std::list< QtNode * > | QtNodeList |
list of QtNode pointers More... | |
typedef std::vector < QtOperation * > | QtOperationList |
list of QtOperation pointers More... | |
![]() | |
static const int | QtNodes |
number of QtNodeTypes More... | |
static const QtNodeType | QtRoot |
the root of the inheritance tree More... | |
static const QtNodeType | QtInheritance [][2] |
the inheritance relations list More... | |
![]() | |
QtData * | computeOp (QtData *operand1, QtData *operand2) |
computes the binary operation More... | |
QtData * | computeUnaryMDDOp (QtMDD *operand1, QtScalarData *operand2, const BaseType *resultBaseType, int scalarPos=1) |
computes an unary induce operation with one MDD object and a scalar value either being atomic or complex constant More... | |
QtData * | computeBinaryMDDOp (QtMDD *operand1, QtMDD *operand2, const BaseType *resultBaseType) |
computes a binary induce operation on two MDD objects More... | |
QtData * | computeBinaryOp (QtScalarData *operand1, QtScalarData *operand2, const BaseType *resultBaseType) |
computes a binary operation on two scalar objects More... | |
![]() | |
bool | getOperands (QtDataList *inputList, QtData *&operand1, QtData *&operand2) |
method for testing and evaluating the input branches More... | |
bool | getOperand (QtDataList *inputList, QtData *&operand1, int number) |
method for testing and evaluating the input branches More... | |
![]() | |
void | startTimer (const char *name) |
start node timer (called at evaluation time) More... | |
void | stopTimer () |
stop timer (at end of evaluation) More... | |
void | pauseTimer () |
pause More... | |
void | resumeTimer () |
resume More... | |
std::string | getEvaluationTime () |
get elapsed time if timer was started, returns a string e.g. "15 usecs" More... | |
![]() | |
Ops::OpType | opType |
![]() | |
QtOperation * | input1 |
first operation operand More... | |
QtOperation * | input2 |
second operation operand More... | |
![]() | |
QtTypeElement | dataStreamType |
result type of the node More... | |
![]() | |
ParseInfo | parseInfo |
attribute for parser info More... | |
QtOverlay::QtOverlay | ( | QtOperation * | input1, |
QtOperation * | input2 | ||
) |
constructor getting the two operands
|
inlinevirtual |
method for identification of nodes
Reimplemented from QtNode.
|
virtual |
check commutativity
Reimplemented from QtBinaryOperation.
|
virtual |
prints the algebraic expression
Implements QtNode.
|
virtual |
prints the tree
Reimplemented from QtBinaryOperation.