OSnLMNode Class Reference

The OSnLMNode Class for nonlinear expressions involving matrices. More...

#include <OSnLNode.h>

Inheritance diagram for OSnLMNode:
Inheritance graph
[legend]
Collaboration diagram for OSnLMNode:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 OSnLMNode ()
 default constructor.
virtual ~OSnLMNode ()
 default destructor.
OSnLMNodecreateExpressionTreeFromPrefix (std::vector< ExprNode * > nlNodeVec)
 Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in prefix format and create a matrix-valued OSExpressionTree root node.
std::vector< ExprNode * > getPrefixFromExpressionTree ()
 Get a vector of pointers to OSnLNodes and OSnLMNodes that correspond to the (matrix-valued) expression tree in prefix format.
std::vector< ExprNode * > preOrderOSnLNodeTraversal (std::vector< ExprNode * > *prefixVector)
 Called by getPrefixFromExpressionTree().
OSnLMNodecreateExpressionTreeFromPostfix (std::vector< ExprNode * > nlNodeVec)
 Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in postfix format and create a matrix-valued OSExpressionTree root node.
std::vector< ExprNode * > getPostfixFromExpressionTree ()
 Get a vector of pointers to ExprNodes that correspond to the expression tree in postfix format.
std::vector< ExprNode * > postOrderOSnLNodeTraversal (std::vector< ExprNode * > *postfixVector)
 Called by getPostfixFromExpressionTree().
virtual OSnLMNodecopyNodeAndDescendants ()
 make a copy of this node and all its descendants
bool IsEqual (OSnLMNode *that)
 A function to check for the equality of two objects.

Detailed Description

The OSnLMNode Class for nonlinear expressions involving matrices.

Author:
Horand Gassmann, Jun Ma, Kipp Martin
Date:
11/06/2014
Since:
OS2.8

Definition at line 1760 of file OSnLNode.h.


Constructor & Destructor Documentation

OSnLMNode::OSnLMNode (  ) 

default constructor.

Definition at line 2384 of file OSnLNode.cpp.

OSnLMNode::~OSnLMNode (  )  [virtual]

default destructor.

Definition at line 2392 of file OSnLNode.cpp.


Member Function Documentation

OSnLMNode * 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.

Parameters:
nlNodeVec holds a vector of pointers to OSnLNodes and OSnLMNodes in prefix format
Returns:
a pointer to an OSnLMNode which is the root of an OSExpressionTree.

Definition at line 2478 of file OSnLNode.cpp.

std::vector< ExprNode * > OSnLMNode::getPrefixFromExpressionTree (  )  [virtual]

Get a vector of pointers to OSnLNodes and OSnLMNodes that correspond to the (matrix-valued) expression tree in prefix format.

Returns:
the expression tree as a vector of ExprNodes in prefix.

Reimplemented from ExprNode.

Definition at line 2542 of file OSnLNode.cpp.

std::vector< ExprNode * > OSnLMNode::preOrderOSnLNodeTraversal ( std::vector< ExprNode * > *  prefixVector  ) 

Called by getPrefixFromExpressionTree().

This method calls itself recursively and generates a vector of pointers to ExprNode in prefix

Parameters:
a pointer prefixVector to a vector of pointers of ExprNodes
Returns:
a vector of pointers to ExprNode in prefix.

Definition at line 2548 of file OSnLNode.cpp.

OSnLMNode * 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.

Parameters:
nlNodeVec holds a vector of pointers to OSnLNodes and OSnLMNodes in postfix format
Returns:
a pointer to an OSnLMNode which is the root of an OSExpressionTree.

Definition at line 2509 of file OSnLNode.cpp.

std::vector< ExprNode * > OSnLMNode::getPostfixFromExpressionTree (  )  [virtual]

Get a vector of pointers to ExprNodes that correspond to the expression tree in postfix format.

Returns:
the expression tree as a vector of ExprNodes in postfix.

Reimplemented from ExprNode.

Definition at line 2564 of file OSnLNode.cpp.

std::vector< ExprNode * > OSnLMNode::postOrderOSnLNodeTraversal ( std::vector< ExprNode * > *  postfixVector  ) 

Called by getPostfixFromExpressionTree().

This method calls itself recursively and generates a vector of pointers to ExprNodes in postfix.

Parameters:
a pointer postfixVector to a vector of pointers of ExprNodes
Returns:
a vector of pointers to ExprNodes in postfix.

Definition at line 2571 of file OSnLNode.cpp.

OSnLMNode * OSnLMNode::copyNodeAndDescendants (  )  [virtual]

make a copy of this node and all its descendants

Returns:
a pointer to the duplicate node

Reimplemented in OSnLMNodeMatrixLowerTriangle, OSnLMNodeMatrixUpperTriangle, OSnLMNodeMatrixReference, OSnLMNodeMatrixVar, OSnLMNodeMatrixObj, and OSnLMNodeMatrixCon.

Definition at line 2399 of file OSnLNode.cpp.

bool OSnLMNode::IsEqual ( OSnLMNode that  )  [virtual]

A function to check for the equality of two objects.

Reimplemented from ExprNode.

Reimplemented in OSnLMNodeMatrixLowerTriangle, OSnLMNodeMatrixUpperTriangle, OSnLMNodeMatrixReference, OSnLMNodeMatrixVar, OSnLMNodeMatrixObj, and OSnLMNodeMatrixCon.

Definition at line 2760 of file OSnLNode.cpp.


The documentation for this class was generated from the following files:

Generated on 5 Jul 2015 by  doxygen 1.6.1