The OSnLNodeNumber Class. More...
#include <OSnLNode.h>
Public Member Functions | |
OSnLNodeNumber () | |
default constructor. More... | |
~OSnLNodeNumber () | |
default destructor. More... | |
virtual std::string | getTokenName () |
virtual std::string | getTokenNumber () |
virtual std::string | getNonlinearExpressionInXML () |
virtual double | calculateFunction (double *x) |
Calculate the function value given the current variable values. More... | |
virtual OSnLNode * | cloneExprNode () |
The implementation of the virtual functions. More... | |
virtual OSnLNode * | copyNodeAndDescendants () |
make a copy of this node and all its descendants More... | |
virtual ADdouble | constructADTape (std::map< int, int > *ADIdx, ADvector *XAD) |
The implementation of the virtual functions. More... | |
virtual bool | IsEqual (OSnLNodeNumber *that) |
A function to check for the equality of two objects. More... | |
![]() | |
OSnLNode () | |
default constructor. More... | |
virtual | ~OSnLNode () |
default destructor. More... | |
virtual void | getVariableIndexMap (std::map< int, int > *varIdx) |
varIdx is a map where the key is the index of an OSnLNodeVariable and (*varIdx)[ idx] is the kth variable in the map, e.g. More... | |
OSnLNode * | createExpressionTreeFromPrefix (std::vector< ExprNode * > nlNodeVec) |
Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in prefix format and create a scalar-valued OSExpressionTree root node. More... | |
virtual std::vector< ExprNode * > | getPrefixFromExpressionTree () |
Get a vector of pointers to OSnLNodes and OSnLMNodes that correspond to the (scalar-valued or matrix-valued) expression tree in prefix format. More... | |
virtual std::vector< ExprNode * > | preOrderOSnLNodeTraversal (std::vector< ExprNode * > *prefixVector) |
Called by getPrefixFromExpressionTree(). More... | |
OSnLNode * | createExpressionTreeFromPostfix (std::vector< ExprNode * > nlNodeVec) |
Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in postfix format and create a scalar-valued OSExpressionTree root node. More... | |
virtual std::vector< ExprNode * > | getPostfixFromExpressionTree () |
Get a vector of pointers to ExprNodes that correspond to the expression tree in postfix format. More... | |
virtual std::vector< ExprNode * > | postOrderOSnLNodeTraversal (std::vector< ExprNode * > *postfixVector) |
Called by getPostfixFromExpressionTree(). More... | |
bool | IsEqual (OSnLNode *that) |
A function to check for the equality of two objects. More... | |
![]() | |
ExprNode () | |
default constructor. More... | |
virtual | ~ExprNode () |
default destructor. More... | |
virtual bool | IsEqual (ExprNode *that) |
A function to check for the equality of two objects. More... | |
Public Attributes | |
double | value |
value is the value of the number More... | |
std::string | type |
in the C++ type is real More... | |
std::string | id |
later, e.g. More... | |
![]() | |
double | m_dFunctionValue |
m_dFunctionValue holds the function value given the current variable values. More... | |
ADdouble | m_ADTape |
m_ADTape stores the expression tree for the this OSnLNode as an ADdouble. More... | |
![]() | |
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 OSnLNodeNumber Class.
Definition at line 1262 of file OSnLNode.h.
OSnLNodeNumber::OSnLNodeNumber | ( | ) |
default constructor.
Definition at line 1646 of file OSnLNode.cpp.
OSnLNodeNumber::~OSnLNodeNumber | ( | ) |
default destructor.
Definition at line 1661 of file OSnLNode.cpp.
|
virtual |
Implements ExprNode.
Definition at line 1686 of file OSnLNode.cpp.
|
virtual |
Reimplemented from ExprNode.
Definition at line 1668 of file OSnLNode.cpp.
|
virtual |
Reimplemented from ExprNode.
Definition at line 1692 of file OSnLNode.cpp.
|
virtual |
Calculate the function value given the current variable values.
This is an abstract method which is required to be implemented by the concrete operator nodes that derive or extend from this OSnLNode class.
x | holds the values of the variables in a double array. |
Implements OSnLNode.
Definition at line 1717 of file OSnLNode.cpp.
|
virtual |
The implementation of the virtual functions.
Implements ExprNode.
Definition at line 1729 of file OSnLNode.cpp.
|
virtual |
make a copy of this node and all its descendants
Reimplemented from OSnLNode.
Definition at line 1737 of file OSnLNode.cpp.
The implementation of the virtual functions.
Implements OSnLNode.
Definition at line 1723 of file OSnLNode.cpp.
|
virtual |
A function to check for the equality of two objects.
Definition at line 1776 of file OSnLNode.cpp.
double OSnLNodeNumber::value |
value is the value of the number
Definition at line 1266 of file OSnLNode.h.
std::string OSnLNodeNumber::type |
in the C++ type is real
Definition at line 1269 of file OSnLNode.h.
std::string OSnLNodeNumber::id |
later, e.g.
stochastic programming, we may wish to give an id to a number
Definition at line 1274 of file OSnLNode.h.