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... | |
![]() | |
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 | |
![]() | |
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.