COPASI API  4.40.278
CEvaluationNodeDelay Class Reference

#include <CEvaluationNodeDelay.h>

Inheritance diagram for CEvaluationNodeDelay:
[legend]

Public Member Functions

 CEvaluationNodeDelay (const CEvaluationNodeDelay &src)
 
 CEvaluationNodeDelay (const SubType &subType, const Data &data)
 
virtual CIssue compile () override
 
virtual std::string getBerkeleyMadonnaString (const std::vector< std::string > &children) const override
 
virtual std::string getCCodeString (const std::vector< std::string > &children) const override
 
virtual std::string getDisplayString (const std::vector< std::string > &children) const override
 
virtual std::string getInfix (const std::vector< std::string > &children) const override
 
virtual std::string getMMLString (const std::vector< std::string > &children, bool expand, const std::vector< std::vector< std::string > > &variables) const override
 
virtual CValidatedUnit getUnit (const CMathContainer &container, const std::vector< CValidatedUnit > &units) const override
 
virtual std::string getXPPString (const std::vector< std::string > &children) const override
 
virtual CValidatedUnit setUnit (const CMathContainer &container, const std::map< CEvaluationNode *, CValidatedUnit > &currentUnits, std::map< CEvaluationNode *, CValidatedUnit > &targetUnits) const override
 
ASTNode * toAST (const CDataModel *pDataModel) const override
 
virtual ~CEvaluationNodeDelay ()
 
- Public Member Functions inherited from CEvaluationNode
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
 
virtual void calculate ()
 
 CEvaluationNode ()
 
 CEvaluationNode (const CEvaluationNode &src)
 
CEvaluationNodecopyBranch () const
 
CEvaluationNodecopyNode (CEvaluationNode *child1, CEvaluationNode *child2) const
 
CEvaluationNodecopyNode (const std::vector< CEvaluationNode * > &children) const
 
const CEvaluationNodefindTopMinus (const std::vector< CFunctionAnalyzer::CValue > &callParameters) const
 
const CEvaluationTreegetTree () const
 
const C_FLOAT64getValuePointer () const
 
const ValueTypegetValueType () const
 
virtual bool isBoolean () const
 
const MainTypemainType () const
 
bool operator!= (const CEvaluationNode &right) const
 
bool operator< (const CEvaluationNode &rhs)
 
bool operator< (const CEvaluationNode &right) const
 
bool operator== (const CEvaluationNode &right) const
 
void printRecursively () const
 
void printRecursively (std::ostream &os, int indent=0) const
 
void setTree (const CEvaluationTree *pTree)
 
virtual CIssue setValueType (const ValueType &valueType)
 
virtual CEvaluationNodesimplifyNode (const std::vector< CEvaluationNode * > &children) const
 
CEvaluationNodesplitBranch (const CEvaluationNode *splitnode, bool left) const
 
const SubTypesubType () const
 
virtual ~CEvaluationNode ()
 
- Public Member Functions inherited from CCopasiNode< std::string >
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 DatagetData ()
 
virtual const DatagetData () 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 ()
 

Static Public Member Functions

static CEvaluationNodefromAST (const ASTNode *pASTNode, const std::vector< CEvaluationNode * > &children)
 
- Static Public Member Functions inherited from CEvaluationNode
static CEvaluationNodecreate (const MainType &mainType, const SubType &subType, const std::string &data)
 
static bool isKeyword (const std::string &str)
 

Private Member Functions

 CEvaluationNodeDelay ()
 

Private Attributes

CEvaluationNodempDelayLagNode
 
const C_FLOAT64mpDelayLagValue
 
CEvaluationNodempDelayValueNode
 
const C_FLOAT64mpDelayValueValue
 

Additional Inherited Members

- Public Types inherited from CEvaluationNode
enum class  MainType {
  INVALID , NUMBER , CONSTANT , OPERATOR ,
  OBJECT , FUNCTION , CALL , STRUCTURE ,
  CHOICE , VARIABLE , WHITESPACE , LOGICAL ,
  MV_FUNCTION , VECTOR , DELAY , UNIT ,
  __SIZE
}
 
enum class  SubType {
  DEFAULT , DELAY , IF , VECTOR ,
  CN , DOUBLE , FUNCTION , LOG ,
  OPEN , PI , POWER , EXPRESSION ,
  POINTER , EXPONENTIALE , INTEGER , LOG10 ,
  MULTIPLY , OR , VECTOROPEN , COMMA ,
  DIVIDE , ENOTATION , EXP , True ,
  XOR , RATIONALE , AND , CLOSE ,
  False , MODULUS , SIN , VECTORCLOSE ,
  COS , EQ , Infinity , PLUS ,
  NaN , MINUS , NE , TAN ,
  REMAINDER , GT , SEC , CSC ,
  GE , COT , LT , LE ,
  SINH , COSH , TANH , SECH ,
  CSCH , COTH , ARCSIN , ARCCOS ,
  ARCTAN , ARCSEC , ARCCSC , ARCCOT ,
  ARCSINH , ARCCOSH , ARCTANH , ARCSECH ,
  ARCCSCH , ARCCOTH , SQRT , ABS ,
  FLOOR , CEIL , FACTORIAL , NOT ,
  RUNIFORM , RNORMAL , MAX , MIN ,
  RGAMMA , RPOISSON , SIGN , AVOGADRO ,
  INVALID , __SIZE
}
 
enum class  ValueType { Unknown , Boolean , Number , __SIZE }
 
- Public Types inherited from CCopasiNode< std::string >
typedef std::string Data
 
- Static Public Attributes inherited from CEvaluationNode
static const CEnumAnnotation< std::string, MainTypeMainTypeName
 
static const CEnumAnnotation< std::string, SubTypeSubTypeName
 
- Protected Member Functions inherited from CEvaluationNode
 CEvaluationNode (const MainType &type, const SubType &subType, const Data &data)
 
- Protected Member Functions inherited from CCopasiNode< std::string >
bool setChild (CCopasiNode< Data > *pChild)
 
bool setParent (CCopasiNode< Data > *pParent)
 
bool setSibling (CCopasiNode< Data > *pSibling)
 
- Protected Attributes inherited from CEvaluationNode
MainType mMainType
 
class CEvaluationNode::CPrecedence mPrecedence
 
const CEvaluationTreempTree
 
const C_FLOAT64mpValue
 
SubType mSubType
 
C_FLOAT64 mValue
 
ValueType mValueType
 
- Protected Attributes inherited from CCopasiNode< std::string >
Data mData
 

Detailed Description

This is class for nodes representing the (SBML) delay function.

Constructor & Destructor Documentation

◆ CEvaluationNodeDelay() [1/3]

CEvaluationNodeDelay::CEvaluationNodeDelay ( )
private

◆ CEvaluationNodeDelay() [2/3]

CEvaluationNodeDelay::CEvaluationNodeDelay ( const SubType subType,
const Data data 
)

◆ CEvaluationNodeDelay() [3/3]

CEvaluationNodeDelay::CEvaluationNodeDelay ( const CEvaluationNodeDelay src)

Copy constructor

Parameters
constCEvaluationNodeDelay & src

◆ ~CEvaluationNodeDelay()

CEvaluationNodeDelay::~CEvaluationNodeDelay ( )
virtual

Destructor

Member Function Documentation

◆ compile()

◆ fromAST()

CEvaluationNode * CEvaluationNodeDelay::fromAST ( const ASTNode *  pASTNode,
const std::vector< CEvaluationNode * > &  children 
)
static

Creates a new CEvaluationNodeCall from an ASTNode and the given children

Parameters
constASTNode* pNode
conststd::vector< CEvaluationNode * > & children
Returns
CEvaluationNode * pCretedNode

References CCopasiNode< _Data >::addChild(), CEvaluationNodeDelay(), CEvaluationNode::compile(), CEvaluationNode::DELAY, and CEvaluationNode::subType().

Referenced by CEvaluationTree::fromAST().

◆ getBerkeleyMadonnaString()

std::string CEvaluationNodeDelay::getBerkeleyMadonnaString ( const std::vector< std::string > &  children) const
overridevirtual

Retrieve the display string of the node and its eventual child nodes in Berkeley Madonna format.

Returns
const Data & value

Reimplemented from CEvaluationNode.

References CEvaluationNode::DELAY, CCopasiNode< std::string >::mData, and CEvaluationNode::mSubType.

◆ getCCodeString()

std::string CEvaluationNodeDelay::getCCodeString ( const std::vector< std::string > &  children) const
overridevirtual

Retrieve the display string of the node and its eventual child nodes in C.

Returns
const Data & value

Reimplemented from CEvaluationNode.

References CEvaluationNode::DELAY, CCopasiNode< std::string >::mData, and CEvaluationNode::mSubType.

◆ getDisplayString()

std::string CEvaluationNodeDelay::getDisplayString ( const std::vector< std::string > &  children) const
overridevirtual

Retrieve the display string of the node and its eventual child nodes.

Returns
const Data & value

Reimplemented from CEvaluationNode.

References CEvaluationNode::DELAY, CCopasiNode< std::string >::mData, and CEvaluationNode::mSubType.

◆ getInfix()

std::string CEvaluationNodeDelay::getInfix ( const std::vector< std::string > &  children) const
overridevirtual

Retrieve the infix value of the node and its eventual child nodes.

Returns
const Data & value

Reimplemented from CEvaluationNode.

References compile(), CEvaluationNode::DELAY, CCopasiNode< std::string >::mData, and CEvaluationNode::mSubType.

◆ getMMLString()

std::string CEvaluationNodeDelay::getMMLString ( const std::vector< std::string > &  children,
bool  expand,
const std::vector< std::vector< std::string > > &  variables 
) const
overridevirtual

Build the MathML string

Parameters
conststd::vector< std::string > & children
boolexpand = true
conststd::vector< std::vector< std::string > > & variables
Returns
std::string MMLString

Reimplemented from CEvaluationNode.

References CEvaluationNode::DELAY, CCopasiNode< std::string >::mData, and CEvaluationNode::mSubType.

◆ getUnit()

CValidatedUnit CEvaluationNodeDelay::getUnit ( const CMathContainer container,
const std::vector< CValidatedUnit > &  units 
) const
overridevirtual

Figure out the appropriate CUnit to use, based on the child nodes. This sets the default, appropriate for many cases, as Dimensionless

Parameters
constCMathContainer & container
conststd::vector< CValidatedUnit > & units
Returns
CValidatedUnit unit

Reimplemented from CEvaluationNode.

References CValidatedUnit::conflict(), CMathContainer::getModel(), CModel::getTimeUnit(), CValidatedUnit::merge(), and CValidatedUnit::setConflict().

◆ getXPPString()

std::string CEvaluationNodeDelay::getXPPString ( const std::vector< std::string > &  children) const
overridevirtual

Retrieve the display string of the node and its eventual child nodes in XPPAUT format.

Returns
const Data & value

Reimplemented from CEvaluationNode.

References CEvaluationNode::DELAY, CCopasiNode< std::string >::mData, and CEvaluationNode::mSubType.

◆ setUnit()

CValidatedUnit CEvaluationNodeDelay::setUnit ( const CMathContainer container,
const std::map< CEvaluationNode *, CValidatedUnit > &  currentUnits,
std::map< CEvaluationNode *, CValidatedUnit > &  targetUnits 
) const
overridevirtual

Set the unit for the node and return the resulting unit. The child node units are added to the map

Parameters
constCMathContainer & container
conststd::map < CEvaluationNode * , CValidatedUnit > & currentUnits
std::map< CEvaluationNode * , CValidatedUnit > & targetUnits
Returns
CValidatedUnit unit

Reimplemented from CEvaluationNode.

References CMathContainer::getModel(), CModel::getTimeUnit(), mpDelayLagNode, mpDelayValueNode, and CEvaluationNode::setUnit().

◆ toAST()

ASTNode * CEvaluationNodeDelay::toAST ( const CDataModel pDataModel) const
overridevirtual

Create a new ASTNode corresponding to this delay node.

Returns
ASTNode* return a pointer to the newly created node;

Reimplemented from CEvaluationNode.

References CCopasiNode< _Data >::addChild(), CCopasiNode< std::string >::getChild(), CCopasiNode< _Data >::getSibling(), and CEvaluationNode::toAST().

Member Data Documentation

◆ mpDelayLagNode

CEvaluationNode* CEvaluationNodeDelay::mpDelayLagNode
private

Referenced by compile(), and setUnit().

◆ mpDelayLagValue

const C_FLOAT64* CEvaluationNodeDelay::mpDelayLagValue
private

Referenced by compile().

◆ mpDelayValueNode

CEvaluationNode* CEvaluationNodeDelay::mpDelayValueNode
private

Referenced by compile(), and setUnit().

◆ mpDelayValueValue

const C_FLOAT64* CEvaluationNodeDelay::mpDelayValueValue
private

Referenced by compile().


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