copasi API  0.1
Public Types | Public Member Functions | Static Public Member Functions
CEvaluationNodeFunction Class Reference

#include <CEvaluationNodeFunction.h>

Inheritance diagram for CEvaluationNodeFunction:
CEvaluationNode CCopasiNode< std::string >

List of all members.

Public Types

enum  SubType {
  INVALID = 0x00FFFFFF, LOG = 0x00000000, LOG10 = 0x00000001, EXP = 0x00000002,
  SIN = 0x00000003, COS = 0x00000004, TAN = 0x00000005, SEC = 0x00000006,
  CSC = 0x00000007, COT = 0x00000008, SINH = 0x00000009, COSH = 0x0000000a,
  TANH = 0x0000000b, SECH = 0x0000000c, CSCH = 0x0000000d, COTH = 0x0000000e,
  ARCSIN = 0x0000000f, ARCCOS = 0x00000010, ARCTAN = 0x00000011, ARCSEC = 0x00000012,
  ARCCSC = 0x00000013, ARCCOT = 0x00000014, ARCSINH = 0x00000015, ARCCOSH = 0x00000016,
  ARCTANH = 0x00000017, ARCSECH = 0x00000018, ARCCSCH = 0x00000019, ARCCOTH = 0x0000001a,
  SQRT = 0x0000001b, ABS = 0x0000001c, FLOOR = 0x0000001d, CEIL = 0x0000001e,
  FACTORIAL = 0x0000001f, MINUS = 0x00000020, PLUS = 0x00000021, NOT = 0x00000022,
  RUNIFORM = 0x00000023, RNORMAL = 0x00000024
}

Public Member Functions

 CEvaluationNodeFunction (const SubType &subType, const Data &data)
 CEvaluationNodeFunction (const CEvaluationNodeFunction &src)
virtual ~CEvaluationNodeFunction ()
virtual const C_FLOAT64 & value () const
virtual bool compile (const CEvaluationTree *pTree)
virtual std::string getInfix () const
virtual std::string getDisplayString (const CEvaluationTree *pTree) const
virtual std::string getDisplay_C_String (const CEvaluationTree *pTree) const
virtual std::string getDisplay_MMD_String (const CEvaluationTree *pTree) const
virtual std::string getDisplay_XPP_String (const CEvaluationTree *pTree) const
virtual bool isBoolean () const
virtual ASTNode * toAST (const CCopasiDataModel *pDataModel) const
virtual CEvaluationNodesimplifyNode (const std::vector< CEvaluationNode * > &children) const
virtual void writeMathML (std::ostream &out, const std::vector< std::vector< std::string > > &env, bool expand=true, unsigned C_INT32 l=0) const
CEvaluationNodegetLeft ()
const CEvaluationNodegetLeft () const

Static Public Member Functions

static CEvaluationNodecreateNodeFromASTTree (const ASTNode &node)

Detailed Description

This is the class for nodes presenting build-in functions used in an evaluation trees.


Member Enumeration Documentation

Enumeration of possible node types.

Enumerator:
INVALID 
LOG 
LOG10 
EXP 
SIN 
COS 
TAN 
SEC 
CSC 
COT 
SINH 
COSH 
TANH 
SECH 
CSCH 
COTH 
ARCSIN 
ARCCOS 
ARCTAN 
ARCSEC 
ARCCSC 
ARCCOT 
ARCSINH 
ARCCOSH 
ARCTANH 
ARCSECH 
ARCCSCH 
ARCCOTH 
SQRT 
ABS 
FLOOR 
CEIL 
FACTORIAL 
MINUS 
PLUS 
NOT 
RUNIFORM 
RNORMAL 

Constructor & Destructor Documentation

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

Default constructor

Parameters:
constSubType & subType
constData & data
CEvaluationNodeFunction::CEvaluationNodeFunction ( const CEvaluationNodeFunction src)

Copy constructor

Parameters:
constCEvaluationNodeFunction & src
CEvaluationNodeFunction::~CEvaluationNodeFunction ( ) [virtual]

Destructor


Member Function Documentation

bool CEvaluationNodeFunction::compile ( const CEvaluationTree pTree) [virtual]

Compile a node;

Parameters:
constCEvaluationTree * pTree
Returns:
bool success;

Reimplemented from CEvaluationNode.

CEvaluationNode * CEvaluationNodeFunction::createNodeFromASTTree ( const ASTNode &  node) [static]

Creates a new CEvaluationNodeFunction from an ASTNode.

Parameters:
constASTNode* node
Returns:
CEvaluationNode* return a pointer to the newly created node;
std::string CEvaluationNodeFunction::getDisplay_C_String ( const CEvaluationTree pTree) const [virtual]

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

Returns:
const Data & value

Reimplemented from CEvaluationNode.

std::string CEvaluationNodeFunction::getDisplay_MMD_String ( const CEvaluationTree pTree) const [virtual]

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

Returns:
const Data & value

Reimplemented from CEvaluationNode.

std::string CEvaluationNodeFunction::getDisplay_XPP_String ( const CEvaluationTree pTree) const [virtual]

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

Returns:
const Data & value

Reimplemented from CEvaluationNode.

std::string CEvaluationNodeFunction::getDisplayString ( const CEvaluationTree pTree) const [virtual]

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

Returns:
const Data & value

Reimplemented from CEvaluationNode.

std::string CEvaluationNodeFunction::getInfix ( ) const [virtual]

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

Returns:
const Data & value

Reimplemented from CEvaluationNode.

CEvaluationNode * CEvaluationNodeFunction::getLeft ( )
const CEvaluationNode * CEvaluationNodeFunction::getLeft ( ) const
bool CEvaluationNodeFunction::isBoolean ( ) const [virtual]

Check whether the result is Boolean

Returns:
bool isBoolean

Reimplemented from CEvaluationNode.

CEvaluationNode * CEvaluationNodeFunction::simplifyNode ( const std::vector< CEvaluationNode * > &  children) const [virtual]

Create a simplified node for an operatorNode with children from vector (if not exist, = NULL), and assign new children

Returns:
CEvaluationNode* return a pointer to the simplified node;

Reimplemented from CEvaluationNode.

ASTNode * CEvaluationNodeFunction::toAST ( const CCopasiDataModel pDataModel) const [virtual]

Create a new ASTNode corresponding to this FunctionNode.

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

Reimplemented from CEvaluationNode.

virtual const C_FLOAT64& CEvaluationNodeFunction::value ( ) const [inline, virtual]

Retrieve the value of the node

Returns:
const C_FLOAT64 & value

Reimplemented from CEvaluationNode.

void CEvaluationNodeFunction::writeMathML ( std::ostream &  out,
const std::vector< std::vector< std::string > > &  env,
bool  expand = true,
unsigned C_INT32  l = 0 
) const [virtual]

generate display MathML recursively

Reimplemented from CEvaluationNode.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines