/home/coin/SVN-release/OS-2.4.0/OS/src/OSCommonInterfaces/OSExpressionTree.h

Go to the documentation of this file.
00001 /* $Id: OSExpressionTree.h 4292 2011-09-21 05:47:18Z kmartin $ */
00016 #ifndef EXPRESSIONTREE_H
00017 #define EXPRESSIONTREE_H
00018 
00019 #include "OSnLNode.h"
00020 #include <vector>
00021 #include <map>
00022 
00023 
00033 class OSExpressionTree
00034 {
00035 
00036 public:
00037 
00041     OSnLNode *m_treeRoot;
00042 
00046     OSExpressionTree();
00047 
00051     ~OSExpressionTree();
00052 
00056     bool IsEqual(OSExpressionTree *that);
00057 
00070     double calculateFunction( double *x, bool new_x);
00071 
00072 
00081     std::vector<OSnLNode*> getPrefixFromExpressionTree();
00082 
00091     std::vector<OSnLNode*> getPostfixFromExpressionTree();
00092 
00093 
00094 
00101     std::map<int, int> *mapVarIdx;
00102 
00111     std::map<int, int> *getVariableIndiciesMap();
00115     bool  m_bIndexMapGenerated;
00116 
00121     bool bADMustReTape;
00122 
00126     bool bDestroyNlNodes;
00127 
00128 
00129 private:
00130 
00131 
00135     double m_dTreeRootValue;
00136 
00137 
00138 
00139 };//end OSExpressionTree
00140 
00141 
00142 
00143 
00144 #endif
00145 

Generated on Thu Sep 22 03:06:00 2011 by  doxygen 1.4.7