rasdaman complete source
|
#include <qtunaryinduce.hh>
Public Member Functions | |
QtUnaryInduce (QtOperation *input) | |
constructor getting the operand More... | |
![]() | |
QtUnaryOperation () | |
default constructor More... | |
QtUnaryOperation (QtOperation *input) | |
constructor getting the node to its operand More... | |
virtual | ~QtUnaryOperation () |
virtual destructor More... | |
virtual std::string | getSpelling () |
creates a unique name for a common subexpression More... | |
virtual void | simplify () |
simplifies the tree More... | |
virtual QtNodeList * | getChilds (QtChildType flag) |
return childs of the node More... | |
virtual QtAreaType | getAreaType () |
test if the edge to the parent node is of type mdd or atomic More... | |
virtual bool | equalMeaning (QtNode *node) |
tests if the two nodes have an equal meaning in the query tree 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 void | setInput (QtOperation *input) |
QtOperation * | getInput () |
![]() | |
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... | |
virtual QtData * | evaluate (QtDataList *inputList) |
method for evaluating the node More... | |
virtual const QtTypeElement & | checkType (QtTypeTuple *typeTuple=NULL) |
type checking of the subtree 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) |
Protected Member Functions | |
QtData * | computeOp (QtData *operand, Ops::OpType operation) |
computes the unary operation More... | |
bool | getOperand (QtDataList *inputList, QtData *&operand) |
method for testing and evaluating the input branch More... | |
QtData * | computeUnaryMDDOp (QtMDD *operand, const BaseType *resultBaseType, Ops::OpType operation, unsigned int operandOffset=0) |
computes an unary induce operation with one MDD object More... | |
QtData * | computeUnaryOp (QtScalarData *operand, const BaseType *resultBaseType, Ops::OpType operation, unsigned int operandOffset=0) |
computes an unary induce operation with one MDD object 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... | |
QtUnaryInduce::QtUnaryInduce | ( | QtOperation * | input | ) |
constructor getting the operand
computes the unary operation
|
protected |
computes an unary induce operation with one MDD object
The method checks if the input branch is valid. Then it passes the evaluate message to its operand with the { inputList} as argument. The returned result is provided through the argument { operand} called by reference. The method returns { true} it the operand is valid, otherwise { false}.
|
protected |
computes an unary induce operation with one MDD object
The method carries out the unary induce operation specified by { operation} on the operand. For the result, a new transient MDD object is created and returned. In the end, the MDD object of the operand is freed.
|
protected |
method for testing and evaluating the input branch