ScalarExpressionTree Class Reference

Used to hold part of the instance in memory. More...

#include <OSExpressionTree.h>

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

List of all members.

Public Member Functions

 ScalarExpressionTree ()
 default constructor.
 ~ScalarExpressionTree ()
 default destructor.
bool IsEqual (ScalarExpressionTree *that)
 A function to check for the equality of two objects.
std::vector< ExprNode * > getPrefixFromExpressionTree ()
 Get a vector of pointers to ExprNodes that correspond to a scalar-valued OSExpressionTree in prefix format.
std::vector< ExprNode * > getPostfixFromExpressionTree ()
 Get a vector of pointers to ExprNodes that correspond to a scalar-valued OSExpressionTree in postfix format.
std::map< int, int > * getVariableIndicesMap ()
 Retrieve a map of the indices of the variables that are in the expression tree.
double calculateFunction (double *x, bool new_x)
 Calculate the expression tree function value given the current variable values using the calculateFunction method of OSnLNode.

Public Attributes

OSnLNodem_treeRoot
 m_treeRoot holds the root node (of OSnLNode type) of the expression tree.

Private Attributes

double m_dTreeRootValue
 A function to make a deep copy of an instance of this class.

Detailed Description

Used to hold part of the instance in memory.

Remarks:
This class stores the OSiL instance in memory as an expression tree.

Definition at line 99 of file OSExpressionTree.h.


Constructor & Destructor Documentation

ScalarExpressionTree::ScalarExpressionTree (  ) 

default constructor.

Definition at line 119 of file OSExpressionTree.cpp.

ScalarExpressionTree::~ScalarExpressionTree (  ) 

default destructor.

Definition at line 129 of file OSExpressionTree.cpp.


Member Function Documentation

bool ScalarExpressionTree::IsEqual ( ScalarExpressionTree that  ) 

A function to check for the equality of two objects.

Reimplemented from OSExpressionTree.

Definition at line 180 of file OSExpressionTree.cpp.

std::vector< ExprNode * > ScalarExpressionTree::getPrefixFromExpressionTree (  ) 

Get a vector of pointers to ExprNodes that correspond to a scalar-valued OSExpressionTree in prefix format.

Returns:
the expression tree as a vector of ExprNodes in prefix.

Definition at line 142 of file OSExpressionTree.cpp.

std::vector< ExprNode * > ScalarExpressionTree::getPostfixFromExpressionTree (  ) 

Get a vector of pointers to ExprNodes that correspond to a scalar-valued OSExpressionTree in postfix format.

Returns:
the expression tree as a vector of ExprNodes in postfix.

Definition at line 148 of file OSExpressionTree.cpp.

std::map< int, int > * ScalarExpressionTree::getVariableIndicesMap (  ) 

Retrieve a map of the indices of the variables that are in the expression tree.

Returns:
a map of the variables in the current expression tree.

Definition at line 154 of file OSExpressionTree.cpp.

double ScalarExpressionTree::calculateFunction ( double *  x,
bool  new_x 
)

Calculate the expression tree function value given the current variable values using the calculateFunction method of OSnLNode.

If the function has been calculated, the method will retrieve it.

Parameters:
x holds the values of the variables in a double array.
new_x is false if any evaluation method was previously called for the current x
Returns:
the expression tree function value given the current variable values.

Definition at line 165 of file OSExpressionTree.cpp.


Member Data Documentation

m_treeRoot holds the root node (of OSnLNode type) of the expression tree.

Definition at line 106 of file OSExpressionTree.h.

A function to make a deep copy of an instance of this class.

Parameters:
that,: the instance from which information is to be copied
Returns:
whether the copy was created successfully m_dTreeRootValue is the function value of the root node

Definition at line 195 of file OSExpressionTree.h.


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

Generated on 5 Jul 2015 by  doxygen 1.6.1