#include <OSnLNode.h>
Inheritance diagram for OSnLNodeVariable:
Public Member Functions | |
OSnLNodeVariable () | |
default constructor. | |
~OSnLNodeVariable () | |
default destructor. | |
virtual void | getVariableIndexMap (std::map< int, int > *varIdx) |
virtual std::string | getTokenNumber () |
virtual std::string | getTokenName () |
virtual std::string | getNonlinearExpressionInXML () |
virtual double | calculateFunction (double *x) |
virtual OSnLNode * | cloneOSnLNode () |
virtual ADdouble | constructADTape (std::map< int, int > *ADIdx, vector< ADdouble > *XAD) |
The implementation of the virtual functions. | |
Public Attributes | |
double | coef |
coef is an option coefficient on the variable, the default value is 1.0 | |
int | idx |
idx is the index of the variable |
Definition at line 1341 of file OSnLNode.h.
OSnLNodeVariable::OSnLNodeVariable | ( | ) |
default constructor.
Definition at line 1688 of file OSnLNode.cpp.
References coef, idx, OSnLNode::inodeInt, OSnLNode::inodeType, OSnLNode::inumberOfChildren, OSnLNode::m_mChildren, and OSnLNode::snodeName.
Referenced by cloneOSnLNode().
OSnLNodeVariable::~OSnLNodeVariable | ( | ) |
default destructor.
Definition at line 1699 of file OSnLNode.cpp.
References OSnLNode::inumberOfChildren, and OSnLNode::m_mChildren.
void OSnLNodeVariable::getVariableIndexMap | ( | std::map< int, int > * | varIdx | ) | [virtual] |
varIdx is a map where the key is the index of an OSnLNodeVariable and (*varIdx)[ idx] is the kth variable in the map, e.g. (*varIdx)[ 5] = 2 means that variable indexed by 5 is the second variable in the OSnLNode and all of its children
a | pointer to a map of the variables in the OSnLNode and its children |
Reimplemented from OSnLNode.
Definition at line 1792 of file OSnLNode.cpp.
References idx.
std::string OSnLNodeVariable::getTokenNumber | ( | ) | [virtual] |
Reimplemented from OSnLNode.
Definition at line 1715 of file OSnLNode.cpp.
References coef, idx, OSnLNode::inodeInt, and OSnLNode::inumberOfChildren.
std::string OSnLNodeVariable::getTokenName | ( | ) | [virtual] |
Reimplemented from OSnLNode.
Definition at line 1731 of file OSnLNode.cpp.
References coef, idx, OSnLNode::inumberOfChildren, and OSnLNode::snodeName.
std::string OSnLNodeVariable::getNonlinearExpressionInXML | ( | ) | [virtual] |
Reimplemented from OSnLNode.
Definition at line 1747 of file OSnLNode.cpp.
References coef, idx, OSnLNode::inumberOfChildren, OSnLNode::m_mChildren, os_dtoa_format(), and OSnLNode::snodeName.
double OSnLNodeVariable::calculateFunction | ( | double * | x | ) | [virtual] |
Calculate the function value given the current variable values. This is an abstract method which is required to be implemented by the concrete operator nodes that derive or extend from this OSnLNode class.
x | holds the values of the variables in a double array. |
Implements OSnLNode.
Definition at line 1776 of file OSnLNode.cpp.
References coef, idx, and OSnLNode::m_dFunctionValue.
OSnLNode * OSnLNodeVariable::cloneOSnLNode | ( | ) | [virtual] |
Create or clone a node of this type. This is an abstract method which is required to be implemented by the concrete operator nodes that derive or extend from this OSnLNode class.
x | holds the values of the variables in a double array. |
Implements OSnLNode.
Definition at line 1807 of file OSnLNode.cpp.
References OSnLNodeVariable().
double OSnLNodeVariable::constructADTape | ( | std::map< int, int > * | ADIdx, | |
vector< ADdouble > * | XAD | |||
) | [virtual] |
The implementation of the virtual functions.
Implements OSnLNode.
Definition at line 1781 of file OSnLNode.cpp.
References coef, idx, and OSnLNode::m_ADTape.
double OSnLNodeVariable::coef |
coef is an option coefficient on the variable, the default value is 1.0
Definition at line 1347 of file OSnLNode.h.
Referenced by OSInstance::addQTermsToExressionTree(), calculateFunction(), constructADTape(), CouenneSolver::createCouenneExpression(), OSInstance::getLagrangianExpTree(), getNonlinearExpressionInXML(), OSInstance::getNonlinearExpressionTreeInInfix(), OSInstance::getSparseJacobianFromColumnMajor(), OSInstance::getSparseJacobianFromRowMajor(), getTokenName(), getTokenNumber(), OSnLNodeVariable(), LindoSolver::processNonlinearExpressions(), OSInstance::setQuadraticTermsInNonlinearExpressions(), and OSnl2osil::walkTree().
idx is the index of the variable
Definition at line 1350 of file OSnLNode.h.
Referenced by OSInstance::addQTermsToExressionTree(), calculateFunction(), constructADTape(), CouenneSolver::createCouenneExpression(), OSInstance::getLagrangianExpTree(), getNonlinearExpressionInXML(), OSInstance::getNonlinearExpressionTreeInInfix(), OSInstance::getSparseJacobianFromColumnMajor(), OSInstance::getSparseJacobianFromRowMajor(), getTokenName(), getTokenNumber(), getVariableIndexMap(), main(), OSnLNodeVariable(), LindoSolver::processNonlinearExpressions(), OSInstance::setQuadraticTermsInNonlinearExpressions(), and OSnl2osil::walkTree().