OSnLNodeVariable Class Reference

The OSnLNodeVariable Class. More...

#include <OSnLNode.h>

Inheritance diagram for OSnLNodeVariable:
Inheritance graph
[legend]
Collaboration diagram for OSnLNodeVariable:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 OSnLNodeVariable ()
 default constructor.
 ~OSnLNodeVariable ()
 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 variable in the map, e.g.
virtual std::string getTokenNumber ()
virtual std::string getTokenName ()
virtual std::string getNonlinearExpressionInXML ()
virtual double calculateFunction (double *x)
 Calculate the function value given the current variable values.
virtual OSnLNodecloneExprNode ()
 Create or clone a node of this type.
virtual OSnLNodecopyNodeAndDescendants ()
 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.
virtual bool IsEqual (OSnLNodeVariable *that)
 A function to check for the equality of two objects.

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 1478 of file OSnLNode.h.


Constructor & Destructor Documentation

OSnLNodeVariable::OSnLNodeVariable (  ) 

default constructor.

Definition at line 1973 of file OSnLNode.cpp.

OSnLNodeVariable::~OSnLNodeVariable (  ) 

default destructor.

Definition at line 1985 of file OSnLNode.cpp.


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 2072 of file OSnLNode.cpp.

std::string OSnLNodeVariable::getTokenNumber (  )  [virtual]
Returns:
a string token that corresponds to the OSnLNode.

Reimplemented from ExprNode.

Definition at line 1995 of file OSnLNode.cpp.

std::string OSnLNodeVariable::getTokenName (  )  [virtual]
Returns:
a std::string token that corresponds to the OSnLNode.

Implements ExprNode.

Definition at line 2012 of file OSnLNode.cpp.

std::string OSnLNodeVariable::getNonlinearExpressionInXML (  )  [virtual]
Returns:
the OSiL XML for the variable node.

Reimplemented from ExprNode.

Definition at line 2029 of file OSnLNode.cpp.

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 2059 of file OSnLNode.cpp.

OSnLNode * OSnLNodeVariable::cloneExprNode (  )  [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 class.

Implements ExprNode.

Definition at line 2088 of file OSnLNode.cpp.

OSnLNode * OSnLNodeVariable::copyNodeAndDescendants (  )  [virtual]

make a copy of this node and all its descendants

Returns:
a pointer to the duplicate node

Reimplemented from OSnLNode.

Definition at line 2096 of file OSnLNode.cpp.

ADdouble OSnLNodeVariable::constructADTape ( std::map< int, int > *  ADIdx,
ADvector 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.

Definition at line 2065 of file OSnLNode.cpp.

bool OSnLNodeVariable::IsEqual ( OSnLNodeVariable that  )  [virtual]

A function to check for the equality of two objects.

Reimplemented from OSnLNode.

Definition at line 2135 of file OSnLNode.cpp.


Member Data Documentation

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

Definition at line 1485 of file OSnLNode.h.

idx is the index of the variable

Definition at line 1488 of file OSnLNode.h.


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

Generated on 5 Jul 2015 by  doxygen 1.6.1