The OSnLMNode Class for nonlinear expressions involving matrices. More...
#include <OSnLNode.h>


Public Member Functions | |
| OSnLMNode () | |
| default constructor. More... | |
| virtual | ~OSnLMNode () |
| default destructor. More... | |
| OSnLMNode * | createExpressionTreeFromPrefix (std::vector< ExprNode * > nlNodeVec) |
| Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in prefix format and create a matrix-valued OSExpressionTree root node. More... | |
| std::vector< ExprNode * > | getPrefixFromExpressionTree () |
| Get a vector of pointers to OSnLNodes and OSnLMNodes that correspond to the (matrix-valued) expression tree in prefix format. More... | |
| std::vector< ExprNode * > | preOrderOSnLNodeTraversal (std::vector< ExprNode * > *prefixVector) |
| Called by getPrefixFromExpressionTree(). More... | |
| OSnLMNode * | createExpressionTreeFromPostfix (std::vector< ExprNode * > nlNodeVec) |
| Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in postfix format and create a matrix-valued OSExpressionTree root node. More... | |
| std::vector< ExprNode * > | getPostfixFromExpressionTree () |
| Get a vector of pointers to ExprNodes that correspond to the expression tree in postfix format. More... | |
| std::vector< ExprNode * > | postOrderOSnLNodeTraversal (std::vector< ExprNode * > *postfixVector) |
| Called by getPostfixFromExpressionTree(). More... | |
| virtual OSnLMNode * | copyNodeAndDescendants () |
| make a copy of this node and all its descendants More... | |
| bool | IsEqual (OSnLMNode *that) |
| A function to check for the equality of two objects. More... | |
Public Member Functions inherited from ExprNode | |
| ExprNode () | |
| default constructor. More... | |
| virtual | ~ExprNode () |
| default destructor. More... | |
| virtual std::string | getTokenNumber () |
| virtual std::string | getTokenName ()=0 |
| virtual std::string | getNonlinearExpressionInXML () |
| The following method writes an OSnLNode or OSnLMNode in OSiL format. More... | |
| virtual ExprNode * | cloneExprNode ()=0 |
| Create or clone a node of this type. More... | |
| virtual bool | IsEqual (ExprNode *that) |
| A function to check for the equality of two objects. More... | |
Additional Inherited Members | |
Public Attributes inherited from ExprNode | |
| int | inodeInt |
| inodeInt is the unique integer assigned to the OSnLNode or OSnLMNode in OSParameters.h. More... | |
| int | inodeType |
| inodeType essentially tracks whether the number of children are known or not. More... | |
| unsigned int | inumberOfChildren |
| inumberOfChildren is the number of OSnLNode child elements If this number is not fixed, e.g., for a sum node, it is temporarily set to 0 More... | |
| unsigned int | inumberOfMatrixChildren |
| inumberOfMatrixChildren is the number of OSnLMNode child elements If this number is not fixed, e.g., for a matrixProduct node, it is temporarily set to 0 More... | |
| OSnLNode ** | m_mChildren |
| m_mChildren holds all the operands, that is, nodes that the current node operates on. More... | |
| OSnLMNode ** | m_mMatrixChildren |
| m_mMatrixChildren holds all the matrix-valued operands, if any. More... | |
The OSnLMNode Class for nonlinear expressions involving matrices.
Definition at line 1760 of file OSnLNode.h.
| OSnLMNode::OSnLMNode | ( | ) |
default constructor.
Definition at line 2384 of file OSnLNode.cpp.
|
virtual |
default destructor.
Definition at line 2392 of file OSnLNode.cpp.
Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in prefix format and create a matrix-valued OSExpressionTree root node.
| nlNodeVec | holds a vector of pointers to OSnLNodes and OSnLMNodes in prefix format |
Definition at line 2478 of file OSnLNode.cpp.
|
virtual |
Get a vector of pointers to OSnLNodes and OSnLMNodes that correspond to the (matrix-valued) expression tree in prefix format.
Reimplemented from ExprNode.
Definition at line 2542 of file OSnLNode.cpp.
|
virtual |
Called by getPrefixFromExpressionTree().
This method calls itself recursively and generates a vector of pointers to ExprNode in prefix
| a | pointer prefixVector to a vector of pointers of ExprNodes |
Reimplemented from ExprNode.
Definition at line 2548 of file OSnLNode.cpp.
Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in postfix format and create a matrix-valued OSExpressionTree root node.
| nlNodeVec | holds a vector of pointers to OSnLNodes and OSnLMNodes in postfix format |
Definition at line 2509 of file OSnLNode.cpp.
|
virtual |
Get a vector of pointers to ExprNodes that correspond to the expression tree in postfix format.
Reimplemented from ExprNode.
Definition at line 2564 of file OSnLNode.cpp.
|
virtual |
Called by getPostfixFromExpressionTree().
This method calls itself recursively and generates a vector of pointers to ExprNodes in postfix.
| a | pointer postfixVector to a vector of pointers of ExprNodes |
Reimplemented from ExprNode.
Definition at line 2571 of file OSnLNode.cpp.
|
virtual |
make a copy of this node and all its descendants
Reimplemented in OSnLMNodeMatrixCon, OSnLMNodeMatrixObj, OSnLMNodeMatrixVar, OSnLMNodeMatrixReference, OSnLMNodeMatrixUpperTriangle, and OSnLMNodeMatrixLowerTriangle.
Definition at line 2399 of file OSnLNode.cpp.
| bool OSnLMNode::IsEqual | ( | OSnLMNode * | that | ) |
A function to check for the equality of two objects.
Definition at line 2760 of file OSnLNode.cpp.
1.8.5