COPASI API  4.40.278
CEvaluationNodeVariable Class Reference

#include <CEvaluationNodeVariable.h>

Inheritance diagram for CEvaluationNodeVariable:
[legend]

Public Member Functions

virtual void calculate () override
 
 CEvaluationNodeVariable (const CEvaluationNodeVariable &src)
 
 CEvaluationNodeVariable (const SubType &subType, const Data &data)
 
virtual CIssue compile () override
 
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 override
 
virtual CValidatedUnit getUnit (const CMathContainer &container, const std::vector< CValidatedUnit > &units) const override
 
virtual CIssue setValueType (const ValueType &valueType) override
 
virtual ASTNode * toAST (const CDataModel *pDataModel) const override
 
virtual ~CEvaluationNodeVariable ()
 
- 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
 
 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
 
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 CEvaluationTreegetTree () const
 
const C_FLOAT64getValuePointer () const
 
const ValueTypegetValueType () const
 
virtual std::string getXPPString (const std::vector< std::string > &children) 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 CValidatedUnit setUnit (const CMathContainer &container, const std::map< CEvaluationNode *, CValidatedUnit > &currentUnits, std::map< CEvaluationNode *, CValidatedUnit > &targetUnits) const
 
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

 CEvaluationNodeVariable ()
 

Private Attributes

size_t mIndex
 

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 presenting numbers used in an evaluation trees

Constructor & Destructor Documentation

◆ CEvaluationNodeVariable() [1/3]

CEvaluationNodeVariable::CEvaluationNodeVariable ( )
private

Default constructor

References CEvaluationNode::mPrecedence, and PRECEDENCE_NUMBER.

Referenced by fromAST().

◆ CEvaluationNodeVariable() [2/3]

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

Default constructor

Parameters
constSubType & subType
constData & data

References CEvaluationNode::mPrecedence, and PRECEDENCE_NUMBER.

◆ CEvaluationNodeVariable() [3/3]

CEvaluationNodeVariable::CEvaluationNodeVariable ( const CEvaluationNodeVariable src)

Copy constructor

Parameters
constCEvaluationNodeVariable & src

◆ ~CEvaluationNodeVariable()

CEvaluationNodeVariable::~CEvaluationNodeVariable ( )
virtual

Destructor

Member Function Documentation

◆ calculate()

void CEvaluationNodeVariable::calculate ( void  )
overridevirtual

Calculate the numerical result of the node. It is assumed that all child nodes are up to date.

Reimplemented from CEvaluationNode.

References CEvaluationTree::getVariableValue(), mIndex, CEvaluationNode::mpTree, and CEvaluationNode::mValue.

◆ compile()

◆ fromAST()

CEvaluationNode * CEvaluationNodeVariable::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 CEvaluationNodeVariable(), and CEvaluationNode::DEFAULT.

Referenced by CEvaluationTree::fromAST().

◆ getIndex()

size_t CEvaluationNodeVariable::getIndex ( ) const

◆ getMMLString()

std::string CEvaluationNodeVariable::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 CMathMl::fixName(), CCopasiNode< std::string >::mData, and mIndex.

◆ getUnit()

CValidatedUnit CEvaluationNodeVariable::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< CUnit > & units
Returns
CUnit unit

Reimplemented from CEvaluationNode.

References mIndex.

◆ setValueType()

CIssue CEvaluationNodeVariable::setValueType ( const ValueType valueType)
overridevirtual

Set the type the result of the node

Parameters
constValueType & valueType
Returns
CIssue issue;

Reimplemented from CEvaluationNode.

References CEvaluationNode::mValueType, CEvaluationNode::setValueType(), and CEvaluationNode::Unknown.

◆ toAST()

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

Converts this node to an AST Node of type AST_NAME

Returns
ASTNode* the resulting ASTNode.

Reimplemented from CEvaluationNode.

References CCopasiNode< std::string >::getData().

Member Data Documentation

◆ mIndex

size_t CEvaluationNodeVariable::mIndex
private

Index of the variable used to retrieve its value from the tree.

Referenced by calculate(), compile(), getIndex(), getMMLString(), and getUnit().


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