15 #ifndef EXPRESSIONTREE_H 16 #define EXPRESSIONTREE_H 195 double m_dTreeRootValue;
289 double calculateFunction(
double *x,
bool new_x);
OSnLNode * m_treeRoot
m_treeRoot holds the root node (of OSnLNode type) of the expression tree.
~ScalarExpressionTree()
default destructor.
Used to hold the instance in memory.
bool m_bIndexMapGenerated
Retrieve a map of the indices of the variables that are in the expression tree.
The OSnLMNode Class for nonlinear expressions involving matrices.
ScalarExpressionTree()
default constructor.
OSExpressionTree()
default constructor.
~OSExpressionTree()
default destructor.
std::map< int, int > * getVariableIndicesMap()
Retrieve a map of the indices of the variables that are in the expression tree.
bool IsEqual(OSExpressionTree *that)
A function to check for the equality of two objects.
bool bDestroyNlNodes
m_bDestroyNlNodes is true if the destructor deletes the nodes in the Expression tree ...
bool IsEqual(MatrixExpressionTree *that)
A function to check for the equality of two objects.
Used to hold part of the instance in memory.
std::vector< ExprNode * > getPrefixFromExpressionTree()
Get a vector of pointers to ExprNodes that correspond to a scalar-valued OSExpressionTree in prefix f...
Used to hold the instance in memory.
std::vector< ExprNode * > getPrefixFromExpressionTree()
Get a vector of pointers to ExprNodes that correspond to a scalar-valued OSExpressionTree in prefix f...
bool IsEqual(ScalarExpressionTree *that)
A function to check for the equality of two objects.
A generic class from which we derive both OSnLNode and OSnLMNode.
This file defines the OSnLNode class along with its derived classes.
std::vector< ExprNode * > getPostfixFromExpressionTree()
Get a vector of pointers to ExprNodes that correspond to a scalar-valued OSExpressionTree in postfix ...
OSnLMNode * m_treeRoot
m_treeRoot holds the root node (of OSnLMNode type) of the expression tree.
std::vector< ExprNode * > getPostfixFromExpressionTree()
Get a vector of pointers to ExprNodes that correspond to a scalar-valued OSExpressionTree in postfix ...
double calculateFunction(double *x, bool new_x)
Calculate the expression tree function value given the current variable values using the calculateFun...
MatrixExpressionTree()
default constructor.
~MatrixExpressionTree()
default destructor.
std::map< int, int > * mapVarIdx
m_mapVarIdx is a map used to generate the infix expression for AD the key is idx, a variable number; the value of the map is the location of the corresponding entry in the sparse Jacobian
bool bADMustReTape
is true if an AD Expression Tree has an expression that can change depending on the value of the inpu...
The OSnLNode Class for nonlinear expressions.