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