15 #ifndef EXPRESSIONTREE_H
16 #define EXPRESSIONTREE_H
188 double m_dTreeRootValue;
282 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; ...
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.