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