COPASI API  4.16.103
ConvertToCEvaluationNode.h
Go to the documentation of this file.
1 // Begin CVS Header
2 // $Source: /Volumes/Home/Users/shoops/cvs/copasi_dev/copasi/compareExpressions/ConvertToCEvaluationNode.h,v $
3 // $Revision: 1.6 $
4 // $Name: $
5 // $Author: gauges $
6 // $Date: 2008/10/15 07:10:30 $
7 // End CVS Header
8 
9 // Copyright (C) 2008 by Pedro Mendes, Virginia Tech Intellectual
10 // Properties, Inc., EML Research, gGmbH, University of Heidelberg,
11 // and The University of Manchester.
12 // All rights reserved.
13 
14 // Copyright (C) 2001 - 2007 by Pedro Mendes, Virginia Tech Intellectual
15 // Properties, Inc. and EML Research, gGmbH.
16 // All rights reserved.
17 
18 #ifndef ConvertToCEvaluationNode_H__
19 #define ConvertToCEvaluationNode_H__
20 
21 #include <string>
22 #include <map>
23 
24 class CEvaluationNode;
25 class CNormalItem;
26 class CNormalItemPower;
27 class CNormalLcm;
28 class CNormalSum;
29 class CNormalProduct;
30 class CNormalBase;
31 class CNormalChoice;
33 class CNormalLogical;
34 class CNormalLogicalItem;
36 class CNormalFunction;
37 class CNormalCall;
38 
40 
41 extern std::map<std::string, const CEvaluationNode*> str2eval;
42 
57 
58 /**
59  * Create a fraction from a node. node is necessarily a DIVIDE operator if not the root node of the tree.
60  * @return CNormalFraction*, pointer to newly created fraction.
61  */
63 
64 /**
65  * Create an item from an evaluation node that need not be of specific type.
66  * @return CNormalItem*, pointer to newly created item.
67  */
69 
70 /**
71  * Create a product from an evaluation node that is not necessarily a multiply operator.
72  * @return CNormalProduct*, pointer to newly created product.
73  */
75 
76 /**
77  * Create a sum from an evaluation node -node does not need to be a PLUS operator!
78  * @return CNormalSum*, pointer to newly created sum
79  */
81 
82 /**
83  * Create an item power from an evaluation node.
84  * Node MUST BE a POWER operator with second child (exponent) of type NUMBER !!
85  * @return CNormalItemPower*, pointer to newly created item power.
86  */
88 
89 /**
90  * Create an general power from an evaluation node.
91  * Node MUST BE a POWER operator with second child (exponent) of type not NUMBER !!
92  * @return CNormalItemPower*, pointer to newly created general power (or modulo).
93  */
95 
96 /**
97  * Create an function call from an evaluation node.
98  * @return CNormalCall*, pointer to newly created call
99  */
100 CNormalCall * createCall(const CEvaluationNode* node);
101 
102 /**
103  * Create an function from an evaluation node.
104  * @return CNormalFunction*, pointer to newly created function
105  */
107 
108 /**
109  * Create an item power from an evaluation node.
110  * Must be a CEvaluationNodeChoice.
111  * @return CNormalChoice*, pointer to newly created choice node.
112 CNormalChoice * createChoice(const CEvaluationNode* node);
113  */
114 
115 /**
116  * Create an item power from an evaluation node.
117  * @return CNormalBase*, pointer to newly created normal base object power.
118  */
120 
121 /**
122  * Create an logical node from an evaluation node.
123  * Must be a CEvaluationNodeLogical or the not function.
124  * @return CNormalLogical*, pointer to newly created logical node.
125 CNormalLogical* createLogical(const CEvaluationNode* node);
126  */
127 
128 bool isLogical(const CEvaluationNode* pNode);
129 
131 
136 
137 #endif /* ConvertToCEvaluationNode_H__ */
CNormalCall * createCall(const CEvaluationNode *node)
CNormalProduct * createProduct(const CEvaluationNode *node)
CNormalLogical * createLogical(const CEvaluationNode *pNode)
CNormalFraction * createNormalRepresentation(const CEvaluationNode *node)
CNormalChoiceLogical * createLogicalChoice(const CEvaluationNode *pNode)
CEvaluationNode * convertToCEvaluationNode(const CNormalFraction &fraction)
bool isLogical(const CEvaluationNode *pNode)
CNormalItemPower * createItemPower(const CEvaluationNode *node)
CNormalFraction * createFraction(const CEvaluationNode *node)
CNormalSum * createSum(const CEvaluationNode *node)
std::map< std::string, const CEvaluationNode * > str2eval
C_LOGICAL logical
Definition: f2c.h:18
CNormalLogicalItem * createLogicalItem(const CEvaluationNode *pNode)
CNormalBase * createItemPowerItem(const CEvaluationNode *pNode)
CNormalChoice * createChoice(const CEvaluationNode *pNode)
CNormalGeneralPower * createGeneralPower(const CEvaluationNode *node)
CNormalFunction * createFunction(const CEvaluationNode *node)
CNormalItem * createItem(const CEvaluationNode *node)