copasi API
0.1
|
#include <sstream>
#include "compare_utilities.h"
#include "sbml/math/ASTNode.h"
#include "sbml/Model.h"
#include "CNormalBase.h"
#include "CNormalFraction.h"
#include "CNormalFunction.h"
#include "CNormalSum.h"
#include "CNormalProduct.h"
#include "CNormalLogical.h"
#include "CNormalLogicalItem.h"
#include "CNormalChoice.h"
#include "CNormalChoiceLogical.h"
#include "CNormalGeneralPower.h"
#include "CNormalItemPower.h"
#include "CNormalItem.h"
#include "CNormalTranslation.h"
#include "ConvertToCEvaluationNode.h"
#include "copasi/utilities/CCopasiTree.h"
#include "copasi/function/CFunctionDB.h"
#include "copasi/function/CFunction.h"
#include "copasi/function/CFunctionParameters.h"
#include "copasi/function/CFunctionParameter.h"
#include "copasi/function/CEvaluationTree.h"
#include "copasi/function/CEvaluationNode.h"
#include "copasi/function/CEvaluationNodeObject.h"
#include "copasi/sbml/ConverterASTNode.h"
#include "sbml/FunctionDefinition.h"
Functions | |
ASTNode * | create_expression (const ASTNode *pSource, const ListOfFunctionDefinitions *pFunctions) |
ASTNode * | expand_function_calls (const ASTNode *pNode, const ListOfFunctionDefinitions *pFunctions) |
ASTNode * | expand_function_call (const ASTNode *pCall, const ListOfFunctionDefinitions *pFunctions) |
ASTNode * | replace_variable_names (const ASTNode *pNode, const std::map< std::string, const ASTNode * > &argumentMap) |
bool | are_equal (const CNormalFraction *pLHS, const CNormalFraction *pRHS) |
void | normalize_variable_names (CNormalBase *pBase, std::map< std::string, std::string > &variableMap) |
CNormalFraction * | create_simplified_normalform (const ASTNode *pSource) |
CNormalFraction * | create_normalform (const ASTNode *pSource) |
ASTNode * | replace_SEC (const ASTNode *pChild) |
ASTNode * | replace_CSC (const ASTNode *pChild) |
ASTNode * | replace_COT (const ASTNode *pChild) |
ASTNode * | replace_SINH (const ASTNode *pChild) |
ASTNode * | replace_COSH (const ASTNode *pChild) |
ASTNode * | replace_TANH (const ASTNode *pChild) |
ASTNode * | replace_SECH (const ASTNode *pChild) |
ASTNode * | replace_CSCH (const ASTNode *pChild) |
ASTNode * | replace_COTH (const ASTNode *pChild) |
ASTNode * | replace_ARCSINH (const ASTNode *pChild) |
ASTNode * | replace_ARCCOSH (const ASTNode *pChild) |
ASTNode * | replace_ARCTANH (const ASTNode *pChild) |
ASTNode * | replace_ARCSECH (const ASTNode *pChild) |
ASTNode * | replace_ARCCSCH (const ASTNode *pChild) |
CEvaluationNode * | expand_function_calls (const CEvaluationNode *pNode, CFunctionDB *pFunctionDB) |
CEvaluationNode * | expand_function_call (const CEvaluationNodeCall *pCall, CFunctionDB *pFunctionDB) |
CEvaluationNode * | replace_variable_names (const CEvaluationNode *pNode, const std::map< std::string, const CEvaluationNode * > &argumentMap) |
bool are_equal | ( | const CNormalFraction * | pLHS, |
const CNormalFraction * | pRHS | ||
) |
This method takes two normalforms and normalizes the variable names in both expressions. Afterwards the two expressions are compared. If they are equal true is returned.
ASTNode* create_expression | ( | const ASTNode * | pSource, |
const ListOfFunctionDefinitions * | pFunctions | ||
) |
Creates an expanded expression from the given expression. This method expands all function calls. On failure NULL is returned, otherwise an expanded copy of the original node is returned.
CNormalFraction* create_normalform | ( | const ASTNode * | pSource | ) |
This method converts a given ASTNode into a CNormalFraction. The resulting normalform is not necessarily simplified.
CNormalFraction* create_simplified_normalform | ( | const ASTNode * | pSource | ) |
This method converts a given ASTNode into a CNormalFraction. The expression is simplified in the process to create the "final" normalform.
ASTNode* expand_function_call | ( | const ASTNode * | pCall, |
const ListOfFunctionDefinitions * | pFunctions | ||
) |
This method expands the given function call. On failure NULL is returned, otherwise on expression of the expanded function call is returned.
CEvaluationNode* expand_function_call | ( | const CEvaluationNodeCall * | pCall, |
CFunctionDB * | pFunctionDB | ||
) |
This method expands the given function call. On failure NULL is returned, otherwise on expression of the expanded function call is returned.
ASTNode* expand_function_calls | ( | const ASTNode * | pNode, |
const ListOfFunctionDefinitions * | pFunctions | ||
) |
This method expands the function calls in the given expression. On failure NULL is returned, otherwise a copy of the original node is returned where all function calls have been expanded.
CEvaluationNode* expand_function_calls | ( | const CEvaluationNode * | pNode, |
CFunctionDB * | pFunctionDB | ||
) |
This method expands the function calls in the given expression. On failure NULL is returned, otherwise a copy of the original node is returned where all function calls have been expanded.
void normalize_variable_names | ( | CNormalBase * | pBase, |
std::map< std::string, std::string > & | variableMap | ||
) |
This method normalizes the variable names in a given normalform expression. The first variable found in the expression is named "variable1", the second "variable2" and so on.
ASTNode* replace_ARCCOSH | ( | const ASTNode * | pChild | ) |
This function replaces a call to ARCCOSH by log(X + sqrt(X-1) * sqrt(X+1))
ASTNode* replace_ARCCSCH | ( | const ASTNode * | pChild | ) |
This function replaces a call to ARCCSCH by log(sqrt(1+ (1/ (X^2)))+(1/X))
ASTNode* replace_ARCSECH | ( | const ASTNode * | pChild | ) |
This function replaces a call to ARCSECH by log(sqrt((1/X)-1) * sqrt(1+(1/X)) + 1/X)
ASTNode* replace_ARCSINH | ( | const ASTNode * | pChild | ) |
This function replaces a call to ARCSINH by log(X + sqrt(X^2 + 1))
ASTNode* replace_ARCTANH | ( | const ASTNode * | pChild | ) |
This function replaces a call to ARCTANH by 1/2 * (log(1+X) - log(1-X))
ASTNode* replace_COSH | ( | const ASTNode * | pChild | ) |
This function replaces a call to COSH by (e^X+e^(-X))/2
ASTNode* replace_COT | ( | const ASTNode * | pChild | ) |
This function replaces a call to COT by COS/SIN.
ASTNode* replace_COTH | ( | const ASTNode * | pChild | ) |
This function replaces a call to COTH by (e^X+e^(-X))/(e^X-e^(-X))
ASTNode* replace_CSC | ( | const ASTNode * | pChild | ) |
This function replaces a call to CSC by 1/SIN.
ASTNode* replace_CSCH | ( | const ASTNode * | pChild | ) |
This function replaces a call to CSCH by 2/(e^X-e^(-X))
ASTNode* replace_SEC | ( | const ASTNode * | pChild | ) |
This function replaces a call to SEC by 1/COS.
ASTNode* replace_SECH | ( | const ASTNode * | pChild | ) |
This function replaces a call to SECH by 2/(e^X+e^(-X))
ASTNode* replace_SINH | ( | const ASTNode * | pChild | ) |
This function replaces a call to SINH by (e^X-e^(-X))/2.
ASTNode* replace_TANH | ( | const ASTNode * | pChild | ) |
This function replaces a call to TANH by (e^X-e^(-X))/(e^X+e^(-X))
ASTNode* replace_variable_names | ( | const ASTNode * | pNode, |
const std::map< std::string, const ASTNode * > & | argumentMap | ||
) |
CEvaluationNode* replace_variable_names | ( | const CEvaluationNode * | pNode, |
const std::map< std::string, const CEvaluationNode * > & | argumentMap | ||
) |