roadrunner
2.6.0
Fast simulator for SBML models
|
pulls values from the original sbml document. More...
#include <SBMLInitialValueSymbolResolver.h>
Public Member Functions | |
SBMLInitialValueSymbolResolver (llvm::Value *modelData, const ModelGeneratorContext &ctx) | |
need a modelData ptr because it holds state needed from the random number generators, could be used for init assignmnets. | |
virtual llvm::Value * | loadSymbolValue (const std::string &symbol, const llvm::ArrayRef< llvm::Value * > &args=llvm::ArrayRef< llvm::Value * >()) |
generate an LLVM load instruction. More... | |
![]() | |
llvm::Value * | loadReactionRate (const libsbml::Reaction *) |
shortcut to get a reaction rate, performance wise, quicker than going through all the loadSymbolValue types. | |
void | recursiveSymbolPush (const std::string &symbol) override |
void | recursiveSymbolPop () override |
virtual bool | isLocalParameter (const std::string &symbol) override |
void | flushCache () |
Flush the symbol cache. More... | |
size_t | pushCacheBlock () override |
nested conditionals (or functions?) can push a local cache block, where symbols would be chached. More... | |
size_t | popCacheBlock () override |
Pop a scoped cache block, this clears these values, and any subsequent reads re-evaluate the requested symbol. More... | |
Additional Inherited Members | |
![]() | |
typedef std::list< std::string > | StringStack |
typedef std::unordered_map< std::string, llvm::Value * > | ValueMap |
typedef std::deque< ValueMap > | ValueMapStack |
![]() | |
LoadSymbolResolverBase (const ModelGeneratorContext &ctx, llvm::Value *modelData) | |
llvm::Value * | cacheValue (const std::string &symbol, const llvm::ArrayRef< llvm::Value * > &args, llvm::Value *value=nullptr) |
check in the symbol cache if the symbol exists, if so return it. More... | |
![]() | |
const ModelGeneratorContext & | modelGenContext |
const libsbml::Model * | model |
const LLVMModelDataSymbols & | modelDataSymbols |
const LLVMModelSymbols & | modelSymbols |
llvm::IRBuilder & | builder |
llvm::Value * | modelData |
StringStack | symbolStack |
ValueMapStack | symbolCache |
pulls values from the original sbml document.
|
virtual |
generate an LLVM load instruction.
symbol | the symbol name to resolve |
args | function argument list |
Implements rrllvm::LoadSymbolResolver.