14 #include <sbml/math/ASTNode.h>
26 mpDelayedObject(NULL),
33 mpDelayedObject(NULL),
39 mValue = std::numeric_limits<C_FLOAT64>::quiet_NaN();
52 mpDelayedObject(NULL),
62 switch (
mType & 0x00FFFFFF)
88 if (const_cast<CEvaluationNodeDelay*>(
this)->
compile(NULL))
90 switch (
mType & 0x00FFFFFF)
93 return mData +
"(" + children[0] +
"," + children[1] +
")";
107 switch (
mType & 0x00FFFFFF)
110 return mData +
"(" + children[0] +
"," + children[1] +
")";
123 switch (
mType & 0x00FFFFFF)
126 return mData +
"(" + children[0] +
"," + children[1] +
")";
139 switch (
mType & 0x00FFFFFF)
142 return mData +
"(" + children[0] +
"," + children[1] +
")";
155 switch (
mType & 0x00FFFFFF)
158 return mData +
"(" + children[0] +
"," + children[1] +
")";
171 assert(pASTNode->getNumChildren() == children.size());
173 size_t i = 0, iMax = children.size();
176 std::string data =
"delay";
180 for (i = 0; i < iMax; ++i)
182 pConvertedNode->
addChild(children[i]);
186 return pConvertedNode;
191 ASTNode* pNode =
new ASTNode(AST_FUNCTION_DELAY);
208 const std::vector< std::vector< std::string > > & )
const
210 std::ostringstream out;
212 switch (
mType & 0x00FFFFFF)
215 out <<
"<mrow>" << std::endl;
217 out <<
"<mi>" <<
mData <<
"</mi>" << std::endl;
218 out <<
"<mrow>" << std::endl;
219 out <<
"<mo> (</mo>" << std::endl;
220 out <<
"<mrow>" << std::endl;
224 out <<
"<mo> , </mo>" << std::endl;
228 out <<
"</mrow>" << std::endl;
229 out <<
"<mo>) </mo>" << std::endl;
231 out <<
"</mrow>" << std::endl;
232 out <<
"</mrow>" << std::endl;
virtual ASTNode * toAST(const CCopasiDataModel *pDataModel) const
CCopasiNode< Data > * getSibling()
virtual std::string getDisplayString(const std::vector< std::string > &children) const
ASTNode * toAST(const CCopasiDataModel *pDataModel) const
virtual std::string getInfix(const std::vector< std::string > &children) const
virtual ~CEvaluationNodeDelay()
virtual bool compile(const CEvaluationTree *pTree)
virtual std::string getBerkeleyMadonnaString(const std::vector< std::string > &children) const
virtual std::string getXPPString(const std::vector< std::string > &children) const
CEvaluationNode * mpDeltaT
static CEvaluationNode * fromAST(const ASTNode *pASTNode, const std::vector< CEvaluationNode * > &children)
#define PRECEDENCE_FUNCTION
virtual bool addChild(CCopasiNode< Data > *pChild, CCopasiNode< Data > *pAfter=NULL)
virtual std::string getMMLString(const std::vector< std::string > &children, bool expand, const std::vector< std::vector< std::string > > &variables) const
static Type subType(const Type &type)
class CEvaluationNode::CPrecedence mPrecedence
virtual bool compile(const CEvaluationTree *pTree)
#define PRECEDENCE_NUMBER
CEvaluationNode * mpDelayedObject
virtual std::string getCCodeString(const std::vector< std::string > &children) const
CCopasiNode< Data > * getChild()