10 #define CACHEDMODEL_H_
14 #pragma warning(disable: 4146)
15 #pragma warning(disable: 4141)
16 #pragma warning(disable: 4267)
17 #pragma warning(disable: 4624)
23 #pragma warning(default: 4146)
24 #pragma warning(default: 4141)
25 #pragma warning(default: 4267)
26 #pragma warning(default: 4624)
30 class ExecutableModel;
47 void loadState(std::istream& in, uint loadOpt);
50 EvalInitialConditionsCodeGen::FunctionPtr evalInitialConditionsPtr;
51 EvalReactionRatesCodeGen::FunctionPtr evalReactionRatesPtr;
52 GetBoundarySpeciesAmountCodeGen::FunctionPtr getBoundarySpeciesAmountPtr;
53 GetFloatingSpeciesAmountCodeGen::FunctionPtr getFloatingSpeciesAmountPtr;
54 GetBoundarySpeciesConcentrationCodeGen::FunctionPtr getBoundarySpeciesConcentrationPtr;
55 GetFloatingSpeciesConcentrationCodeGen::FunctionPtr getFloatingSpeciesConcentrationPtr;
56 GetCompartmentVolumeCodeGen::FunctionPtr getCompartmentVolumePtr;
57 GetGlobalParameterCodeGen::FunctionPtr getGlobalParameterPtr;
58 EvalRateRuleRatesCodeGen::FunctionPtr evalRateRuleRatesPtr;
59 GetEventTriggerCodeGen::FunctionPtr getEventTriggerPtr;
60 GetEventPriorityCodeGen::FunctionPtr getEventPriorityPtr;
61 GetEventDelayCodeGen::FunctionPtr getEventDelayPtr;
62 EventTriggerCodeGen::FunctionPtr eventTriggerPtr;
63 EventAssignCodeGen::FunctionPtr eventAssignPtr;
64 GetPiecewiseTriggerCodeGen::FunctionPtr getPiecewiseTriggerPtr;
65 EvalVolatileStoichCodeGen::FunctionPtr evalVolatileStoichPtr;
66 EvalConversionFactorCodeGen::FunctionPtr evalConversionFactorPtr;
67 SetBoundarySpeciesAmountCodeGen::FunctionPtr setBoundarySpeciesAmountPtr;
68 SetFloatingSpeciesAmountCodeGen::FunctionPtr setFloatingSpeciesAmountPtr;
69 SetBoundarySpeciesConcentrationCodeGen::FunctionPtr setBoundarySpeciesConcentrationPtr;
70 SetFloatingSpeciesConcentrationCodeGen::FunctionPtr setFloatingSpeciesConcentrationPtr;
71 SetCompartmentVolumeCodeGen::FunctionPtr setCompartmentVolumePtr;
72 SetGlobalParameterCodeGen::FunctionPtr setGlobalParameterPtr;
75 SetFloatingSpeciesInitConcentrationCodeGen::FunctionPtr setFloatingSpeciesInitConcentrationsPtr;
76 GetFloatingSpeciesInitConcentrationCodeGen::FunctionPtr getFloatingSpeciesInitConcentrationsPtr;
78 SetFloatingSpeciesInitAmountCodeGen::FunctionPtr setFloatingSpeciesInitAmountsPtr;
79 GetFloatingSpeciesInitAmountCodeGen::FunctionPtr getFloatingSpeciesInitAmountsPtr;
81 SetBoundarySpeciesInitConcentrationCodeGen::FunctionPtr setBoundarySpeciesInitConcentrationsPtr;
82 GetBoundarySpeciesInitConcentrationCodeGen::FunctionPtr getBoundarySpeciesInitConcentrationsPtr;
84 SetBoundarySpeciesInitAmountCodeGen::FunctionPtr setBoundarySpeciesInitAmountsPtr;
85 GetBoundarySpeciesInitAmountCodeGen::FunctionPtr getBoundarySpeciesInitAmountsPtr;
87 GetCompartmentInitVolumeCodeGen::FunctionPtr getCompartmentInitVolumesPtr;
88 SetCompartmentInitVolumeCodeGen::FunctionPtr setCompartmentInitVolumesPtr;
90 GetGlobalParameterInitValueCodeGen::FunctionPtr getGlobalParameterInitValuePtr;
91 SetGlobalParameterInitValueCodeGen::FunctionPtr setGlobalParameterInitValuePtr;
97 const LLVMModelDataSymbols* symbols;
98 std::unique_ptr<llvm::LLVMContext> context;
99 std::unique_ptr<llvm::ExecutionEngine> executionEngine;
101 llvm::Module* module =
nullptr;
103 std::string moduleStr;
105 const class Random* random;
106 std::unique_ptr<std::string> errStr;
108 std::unique_ptr<Jit> jit;
LLVM executable model interface.
C_DECL_SPEC bool rrcCallConv loadState(RRHandle handle, const char *filename)
Reload a road runner instance's state saved by saveState.
C_DECL_SPEC bool rrcCallConv saveState(RRHandle handle, const char *filename)
Save a road runner instance's state to a platform-specific binary file.