COPASI API
4.16.103
|
#include <CEvaluationNodeVariable.h>
Public Types | |
enum | SubType { INVALID = 0x00FFFFFF, ANY = 0x00000000 } |
![]() | |
enum | Type { INVALID = 0xFF000000, NUMBER = 0x01000000, CONSTANT = 0x02000000, OPERATOR = 0x03000000, OBJECT = 0x04000000, FUNCTION = 0x05000000, CALL = 0x06000000, STRUCTURE = 0x07000000, CHOICE = 0x08000000, VARIABLE = 0x09000000, WHITESPACE = 0x0a000000, LOGICAL = 0x0b000000, MV_FUNCTION = 0x0c000000, VECTOR = 0x0d000000, DELAY = 0x0e000000 } |
![]() | |
typedef std::string | Data |
Public Member Functions | |
virtual void | calculate () |
CEvaluationNodeVariable (const SubType &subType, const Data &data) | |
CEvaluationNodeVariable (const CEvaluationNodeVariable &src) | |
virtual bool | compile (const CEvaluationTree *pTree) |
size_t | getIndex () const |
virtual std::string | getMMLString (const std::vector< std::string > &children, bool expand, const std::vector< std::vector< std::string > > &variables) const |
virtual ASTNode * | toAST (const CCopasiDataModel *pDataModel) const |
virtual | ~CEvaluationNodeVariable () |
![]() | |
void | addChildren (const std::vector< CEvaluationNode * > &children) |
std::string | buildBerkeleyMadonnaString () const |
std::string | buildCCodeString () const |
std::string | buildDisplayString () const |
std::string | buildInfix () const |
std::string | buildMMLString (bool expand, const std::vector< std::vector< std::string > > &variables) const |
std::string | buildXPPString () const |
CEvaluationNode () | |
CEvaluationNode (const CEvaluationNode &src) | |
CEvaluationNode * | copyBranch () const |
CEvaluationNode * | copyNode (CEvaluationNode *child1, CEvaluationNode *child2) const |
CEvaluationNode * | copyNode (const std::vector< CEvaluationNode * > &children) const |
const CEvaluationNode * | findTopMinus (const std::vector< CFunctionAnalyzer::CValue > &callParameters) const |
virtual std::string | getBerkeleyMadonnaString (const std::vector< std::string > &children) const |
virtual std::string | getCCodeString (const std::vector< std::string > &children) const |
virtual std::string | getDisplayString (const std::vector< std::string > &children) const |
virtual std::string | getInfix (const std::vector< std::string > &children) const |
const Type & | getType () const |
const C_FLOAT64 & | getValue () const |
const C_FLOAT64 * | getValuePointer () const |
virtual std::string | getXPPString (const std::vector< std::string > &children) const |
virtual bool | isBoolean () const |
virtual bool | operator!= (const CEvaluationNode &right) const |
bool | operator< (const CEvaluationNode &right) const |
bool | operator< (const CEvaluationNode &rhs) |
bool | operator== (const CEvaluationNode &right) const |
void | printRecursively (std::ostream &os, int indent=0) const |
void | printRecursively () const |
virtual CEvaluationNode * | simplifyNode (const std::vector< CEvaluationNode * > &children) const |
CEvaluationNode * | splitBranch (const CEvaluationNode *splitnode, bool left) const |
virtual | ~CEvaluationNode () |
![]() | |
virtual bool | addChild (CCopasiNode< Data > *pChild, CCopasiNode< Data > *pAfter=NULL) |
bool | addSibling (CCopasiNode< Data > *pSibling, CCopasiNode< Data > *pAfter=NULL) |
CCopasiNode (CCopasiNode< Data > *pParent=NULL) | |
CCopasiNode (const CCopasiNode< Data > &src) | |
CCopasiNode (const Data &data, CCopasiNode< Data > *pParent=NULL) | |
bool | deleteChildren () |
CCopasiNode< Data > * | getChild () |
const CCopasiNode< Data > * | getChild () const |
CCopasiNode< Data > * | getChild (const size_t &index) |
const CCopasiNode< Data > * | getChild (const size_t &index) const |
virtual const Data & | getData () const |
CCopasiNode< Data > * | getNext () |
const CCopasiNode< Data > * | getNext () const |
CCopasiNode< Data > * | getNextNonChild () |
const CCopasiNode< Data > * | getNextNonChild () const |
size_t | getNumChildren () const |
CCopasiNode< Data > * | getParent () |
const CCopasiNode< Data > * | getParent () const |
CCopasiNode< Data > * | getSibling () |
const CCopasiNode< Data > * | getSibling () const |
virtual bool | removeChild (CCopasiNode< Data > *pChild) |
virtual bool | setData (const Data &data) |
virtual | ~CCopasiNode () |
Private Member Functions | |
CEvaluationNodeVariable () | |
Private Attributes | |
size_t | mIndex |
const CEvaluationTree * | mpTree |
Additional Inherited Members | |
![]() | |
static CEvaluationNode * | create (const Type &type, const Data &data) |
static bool | isKeyword (const std::string &str) |
static Type | subType (const Type &type) |
static Type | type (const Type &type) |
![]() | |
CEvaluationNode (const Type &type, const Data &data) | |
![]() | |
bool | setChild (CCopasiNode< Data > *pChild) |
bool | setParent (CCopasiNode< Data > *pParent) |
bool | setSibling (CCopasiNode< Data > *pSibling) |
![]() | |
class CEvaluationNode::CPrecedence | mPrecedence |
const C_FLOAT64 * | mpValue |
Type | mType |
C_FLOAT64 | mValue |
![]() | |
Data | mData |
This is class for nodes presenting numbers used in an evaluation trees
Definition at line 32 of file CEvaluationNodeVariable.h.
Enumeration of possible node types. The typing of variables must be handled by the tree.
Enumerator | |
---|---|
INVALID | |
ANY |
Definition at line 39 of file CEvaluationNodeVariable.h.
|
private |
Default constructor
Definition at line 29 of file CEvaluationNodeVariable.cpp.
References CEvaluationNode::mPrecedence, and PRECEDENCE_NUMBER.
Default constructor
const | SubType & subType |
const | Data & data |
Definition at line 35 of file CEvaluationNodeVariable.cpp.
References CEvaluationNode::mPrecedence, and PRECEDENCE_NUMBER.
CEvaluationNodeVariable::CEvaluationNodeVariable | ( | const CEvaluationNodeVariable & | src | ) |
Copy constructor
const | CEvaluationNodeVariable & src |
Definition at line 42 of file CEvaluationNodeVariable.cpp.
|
virtual |
Calculate the numerical result of the node. It is assumed that all child nodes are up to date.
Reimplemented from CEvaluationNode.
Definition at line 63 of file CEvaluationNodeVariable.cpp.
References CEvaluationTree::getVariableValue(), mIndex, mpTree, and CEvaluationNode::mValue.
|
virtual |
Compile a node;
const | CEvaluationTree * pTree |
Reimplemented from CEvaluationNode.
Definition at line 50 of file CEvaluationNodeVariable.cpp.
References C_INVALID_INDEX, CCopasiNode< std::string >::getChild(), CEvaluationTree::getVariableIndex(), CCopasiNode< std::string >::mData, mIndex, and mpTree.
size_t CEvaluationNodeVariable::getIndex | ( | ) | const |
return the index of the variable in the function parameter list
Definition at line 68 of file CEvaluationNodeVariable.cpp.
References mIndex.
Referenced by CMathEventN::CTrigger::compile(), CMathContainer::copyBranch(), CDerive::deriveBranch(), CFunctionAnalyzer::evaluateNode(), and CFindDimensions::findDimension().
|
virtual |
Build the MathML string
const | std::vector< std::string > & children |
bool | expand = true |
const | std::vector< std::vector< std::string > > & variables |
Reimplemented from CEvaluationNode.
Definition at line 82 of file CEvaluationNodeVariable.cpp.
References CMathMl::fixName(), CCopasiNode< std::string >::mData, and mIndex.
|
virtual |
Converts this node to an AST Node of type AST_NAME
Reimplemented from CEvaluationNode.
Definition at line 71 of file CEvaluationNodeVariable.cpp.
References CCopasiNode< std::string >::getData().
|
private |
Index of the variable used to retrieve its value from the tree.
Definition at line 117 of file CEvaluationNodeVariable.h.
Referenced by calculate(), compile(), getIndex(), and getMMLString().
|
private |
Pointer to the evaluation tree.
Definition at line 112 of file CEvaluationNodeVariable.h.
Referenced by calculate(), and compile().