roadrunner
2.6.0
Fast simulator for SBML models
llvm
EvalInitialConditionsCodeGen.h
1
/*
2
* EvalInitialValueCodeGen.h
3
*
4
* Created on: Jun 29, 2013
5
* Author: andy
6
*/
7
8
#ifndef EvalInitialValueCodeGenH
9
#define EvalInitialValueCodeGenH
10
11
#include "ModelGeneratorContext.h"
12
#include "CodeGenBase.h"
13
#include "SymbolForest.h"
14
#include "ASTNodeFactory.h"
15
#include "ModelDataIRBuilder.h"
16
#include "SBMLInitialValueSymbolResolver.h"
17
#include "ModelDataSymbolResolver.h"
18
#include <sbml/Model.h>
19
#include <sbml/SBMLVisitor.h>
20
21
namespace
rrllvm
22
{
23
24
typedef
void (*EvalInitialConditions_FunctionPtr)(LLVMModelData*, size_t);
25
35
class
EvalInitialConditionsCodeGen
:
public
CodeGenBase
<EvalInitialConditions_FunctionPtr>
36
{
37
public
:
38
EvalInitialConditionsCodeGen
(
const
ModelGeneratorContext
&mgc);
39
virtual
~
EvalInitialConditionsCodeGen
();
40
41
llvm::Value *codeGen();
42
43
static
const
char
* FunctionName;
44
typedef
EvalInitialConditions_FunctionPtr FunctionPtr;
45
46
private
:
47
48
void
codeGenSpecies(
StoreSymbolResolver
& modelDataResolver,
49
LoadSymbolResolver
& loadResolver);
50
51
void
codeGenStoichiometry(llvm::Value *modelData,
52
ModelDataStoreSymbolResolver& modelDataResolver,
53
LoadSymbolResolver
& initialValueResolver);
54
55
void
codeGenCompartments(
StoreSymbolResolver
& modelDataResolver,
56
LoadSymbolResolver
& loadResolver);
57
58
void
codeGenGlobalParameters(
StoreSymbolResolver
& modelDataResolver,
59
LoadSymbolResolver
& loadResolver);
60
61
void
codeGenInitSpecies(
StoreSymbolResolver
& modelDataResolver,
62
LoadSymbolResolver
& loadResolver);
63
64
void
codeGenInitCompartments(
StoreSymbolResolver
& modelDataResolver,
65
LoadSymbolResolver
& loadResolver);
66
67
void
codeGenInitGlobalParameters(
StoreSymbolResolver
& modelDataResolver,
68
LoadSymbolResolver
& loadResolver);
69
};
70
71
}
/* namespace rr */
72
#endif
/* EvalInitialValueCodeGenH */
rrllvm::CodeGenBase
a convenience class to pull the vars out of a context, and store them as ivars.
Definition:
CodeGenBase.h:54
rrllvm::EvalInitialConditionsCodeGen
Generates a function called 'modeldata_initialvalues_set', which evaluates all of the initial conditi...
Definition:
EvalInitialConditionsCodeGen.h:36
rrllvm::LoadSymbolResolver
LLVM load instruction class.
Definition:
CodeGen.h:37
rrllvm::ModelGeneratorContext
All LLVM code generating objects basically need at a minimum three things to operate:
Definition:
ModelGeneratorContext.h:95
rrllvm::StoreSymbolResolver
LLVM store symbol class.
Definition:
CodeGen.h:79
Generated by
1.9.1