35 # include <cppad/cppad.hpp>
37 typedef CppAD::vector<ADdouble>
ADvector;
1925 virtual ADdouble constructADTape(std::map<int, int> *ADIdx,
ADvector *XAD);
2501 virtual double calculateFunction(
double *
x);
2521 virtual ADdouble constructADTape(std::map<int, int> *ADIdx,
ADvector *XAD);
2572 virtual double calculateFunction(
double *
x);
2592 virtual ADdouble constructADTape(std::map<int, int> *ADIdx,
ADvector *XAD);
2643 virtual double calculateFunction(
double *
x);
2663 virtual ADdouble constructADTape(std::map<int, int> *ADIdx,
ADvector *XAD);
2714 virtual double calculateFunction(
double *
x);
2734 virtual ADdouble constructADTape(std::map<int, int> *ADIdx,
ADvector *XAD);
virtual double calculateFunction(double *x)
The implementation of the virtual functions.
OSnLNodeE()
default constructor.
virtual std::string getNonlinearExpressionInXML()
virtual std::string getTokenName()
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
OSnLMNodeMatrixUpperTriangle()
default constructor.
~OSnLMNodeMatrixObj()
default destructor.
int idx
The index of the matrix.
std::vector< ExprNode * > preOrderOSnLNodeTraversal(std::vector< ExprNode * > *prefixVector)
Called by getPrefixFromExpressionTree().
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
~OSnLNodeMinus()
default destructor.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
double coef
coef is an option coefficient on the variable, the default value is 1.0
virtual ~OSnLNode()
default destructor.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
~OSnLMNodeMatrixVar()
default destructor.
~OSnLNodeCos()
default destructor.
OSnLMNodeIdentityMatrix()
default constructor.
~OSnLMNodeMatrixReference()
default destructor.
OSnLMNodeMatrixInverse()
default constructor.
OSnLMNodeDiagonalMatrixFromVector()
default constructor.
virtual std::string getTokenName()
~OSnLNodeLn()
default destructor.
virtual double calculateFunction(double *x)
The implementation of the virtual functions.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
~OSnLNodeIf()
default destructor.
OSnLNodeVariable()
default constructor.
virtual std::string getTokenName()
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
virtual std::string getTokenName()
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual OSnLMNode * copyNodeAndDescendants()
make a copy of this node and all its descendants
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
double m_dFunctionValue
m_dFunctionValue holds the function value given the current variable values.
virtual OSnLNode * cloneExprNode()
Create or clone a node of this type.
virtual OSnLNode * cloneExprNode()
Create or clone a node of this type.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
virtual std::string getTokenName()
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual OSnLNode * copyNodeAndDescendants()
make a copy of this node and all its descendants
OSnLMNodeMatrixReference()
default constructor.
The OSnLNodeMatrixTrace Class.
OSnLMNodeMatrixTimes()
default constructor.
OSnLMNode * createExpressionTreeFromPrefix(std::vector< ExprNode * > nlNodeVec)
Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in prefix format and create a matrix-valued OSE...
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
virtual std::string getTokenName()
virtual std::string getTokenName()
std::vector< ExprNode * > postOrderOSnLNodeTraversal(std::vector< ExprNode * > *postfixVector)
Called by getPostfixFromExpressionTree().
~OSnLNodeDivide()
default destructor.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual std::string getTokenName()
virtual std::string getTokenName()
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
virtual bool IsEqual(OSnLMNodeMatrixReference *that)
A function to check for the equality of two objects.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual std::string getTokenName()
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
virtual std::string getTokenName()
~OSnLMNodeMatrixLowerTriangle()
default destructor.
virtual double calculateFunction(double *x)
The implementation of the virtual functions.
~OSnLNodeNegate()
default destructor.
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
int idx
idx is the index of the variable
virtual std::string getNonlinearExpressionInXML()
virtual std::string getTokenName()
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
~OSnLMNodeMatrixScalarTimes()
default destructor.
virtual std::vector< ExprNode * > getPostfixFromExpressionTree()
Get a vector of pointers to ExprNodes that correspond to the expression tree in postfix format...
~OSnLMNodeMatrixSubmatrixAt()
default destructor.
OSnLMNodeMatrixPlus()
default constructor.
~OSnLMNodeIdentityMatrix()
default destructor.
OSnLMNodeMatrixLowerTriangle()
default constructor.
OSnLNodeSin()
default constructor.
OSnLMNode ** m_mMatrixChildren
m_mMatrixChildren holds all the matrix-valued operands, if any.
virtual std::vector< ExprNode * > preOrderOSnLNodeTraversal(std::vector< ExprNode * > *prefixVector)
Called by getPrefixFromExpressionTree().
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual std::string getTokenName()
virtual std::string getTokenName()
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
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 vari...
OSnLMNodeMatrixScalarTimes()
default constructor.
virtual std::string getTokenName()
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 vari...
~OSnLNodeVariable()
default destructor.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual std::string getTokenNumber()
virtual std::string getTokenNumber()
int idx
The index of the matrixCon.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual OSnLMNode * copyNodeAndDescendants()
make a copy of this node and all its descendants
~OSnLMNodeMatrixInverse()
default destructor.
int idx
The index of the matrixObj.
~OSnLNodeAbs()
default destructor.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
int idx
The index of the matrixVar.
virtual OSnLNode * copyNodeAndDescendants()
make a copy of this node and all its descendants
The OSnLMNode Class for nonlinear expressions involving matrices.
~OSnLNodeE()
default destructor.
virtual std::string getTokenNumber()
OSnLMNodeMatrixDiagonal()
default constructor.
virtual ~ExprNode()
default destructor.
OSnLNodeSum()
default constructor.
~OSnLNodeAllDiff()
default destructor.
OSnLMNodeMatrixSum()
default constructor.
virtual std::string getTokenName()
OSnLNodeSquare()
default constructor.
virtual std::string getTokenName()
virtual std::string getTokenName()
int inodeInt
inodeInt is the unique integer assigned to the OSnLNode or OSnLMNode in OSParameters.h.
virtual std::string getTokenNumber()
OSnLMNodeMatrixCon()
default constructor.
virtual std::string getTokenName()
~OSnLMNodeMatrixDotTimes()
default destructor.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
~OSnLNodeTimes()
default destructor.
OSnLNodeDivide()
default constructor.
virtual std::string getTokenName()
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
virtual std::string getTokenName()
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
std::string id
later, e.g.
~OSnLNodeNumber()
default destructor.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
unsigned int inumberOfMatrixChildren
inumberOfMatrixChildren is the number of OSnLMNode child elements If this number is not fixed...
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
OSnLNodeNegate()
default constructor.
virtual ExprNode * cloneExprNode()=0
Create or clone a node of this type.
virtual ~OSnLMNode()
default destructor.
OSnLNodeMatrixTrace()
default constructor.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
Create the AD tape to be evaluated by AD.
virtual std::string getNonlinearExpressionInXML()
~OSnLNodeSqrt()
default destructor.
The OSnLNodeNumber Class.
OSnLMNodeMatrixMinus()
default constructor.
~OSnLMNodeMatrixNegate()
default destructor.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
OSnLMNode * createExpressionTreeFromPostfix(std::vector< ExprNode * > nlNodeVec)
Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in postfix format and create a matrix-valued OS...
OSnLNodeMinus()
default constructor.
The next few nodes evaluate to a scalar even though one or more of its arguments are matrices...
OSnLNodePI()
default constructor.
virtual std::string getTokenName()
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
~OSnLMNodeMatrixUpperTriangle()
default destructor.
The OSnLNodeNegate Class.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual std::vector< ExprNode * > preOrderOSnLNodeTraversal(std::vector< ExprNode * > *prefixVector)
Called by getPrefixFromExpressionTree().
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
virtual std::string getTokenName()
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
OSnLNodeIf()
default constructor.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)=0
Create the AD tape to be evaluated by AD.
virtual std::string getTokenName()
OSnLNodeErf()
default constructor.
virtual bool IsEqual(OSnLNodeNumber *that)
A function to check for the equality of two objects.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
The OSnLNodeSquare Class.
A generic class from which we derive both OSnLNode and OSnLMNode.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual std::string getTokenName()
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual std::vector< ExprNode * > postOrderOSnLNodeTraversal(std::vector< ExprNode * > *postfixVector)
Called by getPostfixFromExpressionTree().
bool includeDiagonal
A boolean to express whether the diagonal is to be part of the upper triangle or not.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
OSnLNode * createExpressionTreeFromPostfix(std::vector< ExprNode * > nlNodeVec)
Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in postfix format and create a scalar-valued OS...
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual std::string getNonlinearExpressionInXML()
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual std::string getTokenName()
~OSnLNodeMatrixTrace()
default destructor.
~OSnLMNodeMatrixCon()
default destructor.
The OSnLNodeVariable Class.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
The OSnLNodeAllDiff Class.
virtual OSnLMNode * copyNodeAndDescendants()
make a copy of this node and all its descendants
OSnLNodeExp()
default constructor.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
~OSnLNodeSquare()
default destructor.
~OSnLNodeErf()
default destructor.
virtual OSnLNode * cloneExprNode()
Create or clone a node of this type.
~OSnLMNodeMatrixMinus()
default destructor.
virtual std::string getNonlinearExpressionInXML()
OSnLMNodeMatrixTranspose()
default constructor.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
OSnLMNodeMatrixNegate()
default constructor.
virtual bool IsEqual(OSnLNodeVariable *that)
A function to check for the equality of two objects.
~OSnLNodeSin()
default destructor.
OSnLMNode()
default constructor.
double value
value is the value of the number
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
The OSnLNodeDivide Class.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
virtual std::string getNonlinearExpressionInXML()
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual std::string getTokenName()
OSnLNode ** m_mChildren
m_mChildren holds all the operands, that is, nodes that the current node operates on...
~OSnLMNodeDiagonalMatrixFromVector()
default destructor.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
virtual std::string getTokenName()
OSnLNodeCos()
default constructor.
virtual OSnLMNode * copyNodeAndDescendants()
make a copy of this node and all its descendants
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual bool IsEqual(OSnLMNodeMatrixLowerTriangle *that)
A function to check for the equality of two objects.
virtual std::string getTokenName()
virtual std::string getNonlinearExpressionInXML()
~OSnLNodeMax()
default destructor.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual std::string getTokenName()
virtual std::string getTokenName()
virtual std::string getTokenName()
virtual std::string getTokenName()
std::vector< ExprNode * > getPrefixFromExpressionTree()
Get a vector of pointers to OSnLNodes and OSnLMNodes that correspond to the (matrix-valued) expressio...
~OSnLNodeProduct()
default destructor.
virtual std::string getNonlinearExpressionInXML()
~OSnLNodeMin()
default destructor.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual OSnLMNode * copyNodeAndDescendants()
make a copy of this node and all its descendants
virtual std::string getTokenName()
virtual std::string getTokenName()
~OSnLMNodeMatrixDiagonal()
default destructor.
OSnLMNodeMatrixDotTimes()
default constructor.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual std::vector< ExprNode * > getPrefixFromExpressionTree()
Get a vector of pointers to OSnLNodes and OSnLMNodes that correspond to the (scalar-valued or matrix-...
OSnLNodeAbs()
default constructor.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
OSnLNodeMatrixDeterminant()
default constructor.
std::vector< ADdouble > ADvector
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
bool IsEqual(OSnLMNode *that)
A function to check for the equality of two objects.
virtual std::string getTokenName()
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual OSnLMNode * copyNodeAndDescendants()
make a copy of this node and all its descendants
~OSnLMNodeMatrixProduct()
default destructor.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual std::string getTokenName()
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
Create the AD tape to be evaluated by AD.
The OSnLNodeMatrixTrace Class.
virtual bool IsEqual(OSnLMNodeMatrixCon *that)
A function to check for the equality of two objects.
~OSnLNodeSum()
default destructor.
~OSnLMNodeMatrixPlus()
default destructor.
virtual bool IsEqual(ExprNode *that)
A function to check for the equality of two objects.
virtual std::string getTokenNumber()
virtual std::string getTokenName()
virtual std::string getNonlinearExpressionInXML()
OSnLNodeAllDiff()
default constructor.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
Create the AD tape to be evaluated by AD.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
virtual bool IsEqual(OSnLMNodeMatrixUpperTriangle *that)
A function to check for the equality of two objects.
The OSnLNodeProduct Class.
virtual bool IsEqual(OSnLMNodeMatrixObj *that)
A function to check for the equality of two objects.
~OSnLMNodeMatrixSum()
default destructor.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
int inodeType
inodeType essentially tracks whether the number of children are known or not.
virtual OSnLMNode * copyNodeAndDescendants()
make a copy of this node and all its descendants
virtual std::string getTokenName()
virtual std::string getNonlinearExpressionInXML()
The following method writes an OSnLNode or OSnLMNode in OSiL format.
virtual OSnLMNode * cloneExprNode()
The implementation of the virtual functions.
virtual OSnLNode * copyNodeAndDescendants()
make a copy of this node and all its descendants
virtual std::string getTokenName()
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
OSnLNode()
default constructor.
std::string type
in the C++ type is real
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
~OSnLNodeMatrixDeterminant()
default destructor.
OSnLMNodeMatrixObj()
default constructor.
ADdouble m_ADTape
m_ADTape stores the expression tree for the this OSnLNode as an ADdouble.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
~OSnLMNodeMatrixTranspose()
default destructor.
virtual std::string getTokenName()
OSnLMNodeMatrixProduct()
default constructor.
virtual std::string getTokenNumber()
bool IsEqual(OSnLNode *that)
A function to check for the equality of two objects.
std::vector< ExprNode * > getPostfixFromExpressionTree()
Get a vector of pointers to ExprNodes that correspond to the expression tree in postfix format...
virtual std::string getNonlinearExpressionInXML()
The OSnLNode Class for nonlinear expressions.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
The OSnLMNodeMatrixProduct Class.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual std::string getTokenName()=0
OSnLNodeLn()
default constructor.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual std::vector< ExprNode * > getPostfixFromExpressionTree()
Get a vector of pointers to ExprNodes that correspond to the expression tree in postfix format...
virtual std::string getTokenName()
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
~OSnLNodePI()
default destructor.
~OSnLMNodeMatrixTimes()
default destructor.
virtual bool IsEqual(OSnLMNodeMatrixVar *that)
A function to check for the equality of two objects.
virtual std::string getTokenNumber()
virtual std::string getTokenName()
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
OSnLNode * createExpressionTreeFromPrefix(std::vector< ExprNode * > nlNodeVec)
Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in prefix format and create a scalar-valued OSE...
OSnLNodeMatrixToScalar()
default constructor.
virtual std::string getTokenName()
OSnLNodeNumber()
default constructor.
~OSnLNodePlus()
default destructor.
OSnLNodeTimes()
default constructor.
OSnLNodePower()
default constructor.
virtual ADdouble constructADTape(std::map< int, int > *ADIdx, ADvector *XAD)
The implementation of the virtual functions.
virtual std::vector< ExprNode * > getPrefixFromExpressionTree()
Get a vector of pointers to OSnLNodes and OSnLMNodes that correspond to the (scalar-valued or matrix-...
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual std::vector< ExprNode * > postOrderOSnLNodeTraversal(std::vector< ExprNode * > *postfixVector)
Called by getPostfixFromExpressionTree().
ExprNode()
default constructor.
virtual std::string getTokenNumber()
virtual std::string getTokenName()
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
OSnLNodeMin()
default constructor.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
virtual std::string getTokenName()
OSnLMNodeMatrixSubmatrixAt()
default constructor.
a data structure to represent a matrix object (derived from MatrixType)
bool includeDiagonal
A boolean to express whether the diagonal is to be part of the upper triangle or not.
virtual std::string getTokenNumber()
OSnLNodeMax()
default constructor.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
virtual double calculateFunction(double *x)=0
Calculate the function value given the current variable values.
virtual double calculateFunction(double *x)
Calculate the function value given the current variable values.
OSnLNodeProduct()
default constructor.
OSnLNodePlus()
default constructor.
virtual std::string getTokenName()
~OSnLNodePower()
default destructor.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
void fint fint fint real fint real * x
OSnLMNodeMatrixVar()
default constructor.
~OSnLNodeMatrixToScalar()
default destructor.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.
virtual OSnLMNode * cloneExprNode()
Create or clone a node of this type.
~OSnLNodeExp()
default destructor.
OSnLNodeSqrt()
default constructor.
virtual OSnLNode * cloneExprNode()
The implementation of the virtual functions.