|
| 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...
|
|
virtual void | printTree (int tab, std::ostream &s=std::cout, QtChildType mode=QT_ALL_NODES) |
| debugging method More...
|
|
virtual bool | isCommutative () const |
| returns commutativity information (by default, an operation IS commutative) 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...
|
|
virtual const QtNodeType | getNodeType () const |
| methods for identification of nodes 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) |
|
|
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...
|
|
|
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...
|
|