- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# OSnLNodeVariable Class Reference

The OSnLNodeVariable Class. More...

`#include <OSnLNode.h>`

Inheritance diagram for OSnLNodeVariable:

[legend]
Collaboration diagram for OSnLNodeVariable:

[legend]
List of all members.

## 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 double | constructADTape (std::map< int, int > *ADIdx, std::vector< double > *XAD)
## 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

## Detailed Description

The OSnLNodeVariable Class.

Author:
  Robert Fourer, Jun Ma, Kipp Martin,

Version:
  1.0, 10/05/2005

Since:
  OS1.0

Remarks:
  The in-memory representation of the OSnL element <variable>

Definition at line 1487 of file OSnLNode.h.

## Constructor & Destructor Documentation

OSnLNodeVariable::OSnLNodeVariable | ( |  | ) |

default constructor.

Definition at line 1770 of file OSnLNode.cpp.

References coef, idx, OSnLNode::inodeInt, OSnLNode::inodeType, and OSnLNode::m_mChildren.

Referenced by cloneOSnLNode().

OSnLNodeVariable::~OSnLNodeVariable | ( |  | ) |

default destructor.

Definition at line 1780 of file OSnLNode.cpp.

References OSnLNode::m_mChildren.

## Member Function Documentation

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

Parameters:

  | a | pointer to a map of the variables in the OSnLNode and its children

Reimplemented from OSnLNode.

Definition at line 1873 of file OSnLNode.cpp.

References idx.

std::string OSnLNodeVariable::getTokenNumber | ( |  | ) | `[virtual]`

Returns:
  a string token that corresponds to the OSnLNode.

Reimplemented from OSnLNode.

Definition at line 1796 of file OSnLNode.cpp.

References coef, idx, and OSnLNode::inodeInt.

std::string OSnLNodeVariable::getTokenName | ( |  | ) | `[virtual]`

Returns:
  a std::string token that corresponds to the OSnLNode.

Implements OSnLNode.

Definition at line 1812 of file OSnLNode.cpp.

References coef, and idx.

std::string OSnLNodeVariable::getNonlinearExpressionInXML | ( |  | ) | `[virtual]`

Returns:
  the OSiL XML for the variable node.

Reimplemented from OSnLNode.

Definition at line 1828 of file OSnLNode.cpp.

References coef, idx, OSnLNode::m_mChildren, and os_dtoa_format().

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.

Parameters:

  | x | holds the values of the variables in a double array.

Returns:
  the function value given the current variable values.

Implements OSnLNode.

Definition at line 1857 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.

Parameters:

  | x | holds the values of the variables in a double array.

Returns:
  the function value given the current variable values.

Implements OSnLNode.

Definition at line 1888 of file OSnLNode.cpp.

References OSnLNodeVariable().

virtual double OSnLNodeVariable::constructADTape | ( | std::map< int, int > * | ADIdx,
|  | std::vector< double > * | XAD |
| ) |  |  | `[virtual]`

Create the AD tape to be evaluated by AD. This is an abstract method which is required to be implemented by the concrete operator nodes that derive or extend from this OSnLNode class.

Returns:
  the expression tree.

Implements OSnLNode.

## Member Data Documentation

double OSnLNodeVariable::coef

coef is an option coefficient on the variable, the default value is 1.0

Definition at line 1493 of file OSnLNode.h.

Referenced by OSInstance::addQTermsToExressionTree(), calculateFunction(), CouenneSolver::createCouenneExpression(), OSInstance::getLagrangianExpTree(), getNonlinearExpressionInXML(), OSInstance::getNonlinearExpressionTreeInInfix(), OSInstance::getSparseJacobianFromColumnMajor(), OSInstance::getSparseJacobianFromRowMajor(), getTokenName(), getTokenNumber(), OSnLNodeVariable(), OSgams2osil::parseGamsInstructions(), LindoSolver::processNonlinearExpressions(), OSInstance::setQuadraticTermsInNonlinearExpressions(), and OSnl2osil::walkTree().

int OSnLNodeVariable::idx

idx is the index of the variable

Definition at line 1496 of file OSnLNode.h.

Referenced by OSInstance::addQTermsToExressionTree(), calculateFunction(), CouenneSolver::createCouenneExpression(), OSInstance::getLagrangianExpTree(), getNonlinearExpressionInXML(), OSInstance::getNonlinearExpressionTreeInInfix(), OSInstance::getSparseJacobianFromColumnMajor(), OSInstance::getSparseJacobianFromRowMajor(), getTokenName(), getTokenNumber(), getVariableIndexMap(), main(), OSnLNodeVariable(), OSgams2osil::parseGamsInstructions(), LindoSolver::processNonlinearExpressions(), OSInstance::setQuadraticTermsInNonlinearExpressions(), and OSnl2osil::walkTree().

The documentation for this class was generated from the following files:

- /home/coin/SVN-release/OS-2.3.5/OS/src/OSCommonInterfaces/OSnLNode.h
- /home/coin/SVN-release/OS-2.3.5/OS/src/OSCommonInterfaces/OSnLNode.cpp