#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <sbml/SBMLTypes.h>
#include "config.h"
#include "sbmlsolver/cvodedata.h"
#include "sbmlsolver/processAST.h"
#include "sbmlsolver/ASTIndexNameNode.h"
#include "sbmlsolver/solverError.h"
Include dependency graph for processAST.c:
Functions | |
SBML_ODESOLVER_API void | setUserDefinedFunction (double(*udf)(char *, int, double *)) |
Sets function pointer for user defined function to udf. | |
ASTNode_t * | copyAST (const ASTNode_t *f) |
Copies the passed AST, including potential SOSlib ASTNodeIndex, and returns the copy. | |
SBML_ODESOLVER_API double | evaluateAST (ASTNode_t *n, cvodeData_t *data) |
Evaluates the passed formula n by a simple recursion and returns the result as a double value. | |
SBML_ODESOLVER_API ASTNode_t * | differentiateAST (ASTNode_t *f, char *x) |
Returns the derivative f' of the passed formula f with respect to the passed variable x, using basic differentiation rules. | |
ASTNode_t * | determinantNAST (ASTNode_t ***A, int N) |
!! experimental function determinantNAST !! NOT TESTED !! !! WILL RUN OUT OF MEMORY FOR BIG SYSTEMS !! calculates the determinant of the jacobian matrix, is not used and can only be activated with hidden commandline option -d. | |
ASTNode_t * | indexAST (const ASTNode_t *f, int nvalues, char **names) |
Takes an AST and a string array `names' and converts AST_NAME to AST_IndexName, which holds the name of the variable and additionally its index in the passed array `names'. | |
SBML_ODESOLVER_API ASTNode_t * | simplifyAST (ASTNode_t *f) |
Takes an AST f, and returns a simplified copy of f. |