EvalVolatileStoichCodeGen

class EvalVolatileStoichCodeGen : public rrllvm::CodeGenBase<EvalVolatileStoichCodeGen_FunctionPtr>

Evaluate ‘volatile stoichiometries’, or, stoichiometries that can change over the course of a simulation.

Public Functions

EvalVolatileStoichCodeGen(const ModelGeneratorContext &mgc)
virtual ~EvalVolatileStoichCodeGen()
virtual llvm::Value *codeGen()

Public Static Attributes

static const char *FunctionName = "evalVolatileStoich"

Private Functions

bool isConstantSpeciesReference(const libsbml::SimpleSpeciesReference *ref) const

determine if the given reference dpends on any non-constant elements.

only support non-constant species reference on l3v1 docs or above, currently we can’t determine if earlier version species references are constant or not.

bool isConstantASTNode(const libsbml::ASTNode *ast) const

go through the AST tree and see if any names reference non-constant document elements.