roadrunner  2.6.0
Fast simulator for SBML models
SetInitialValuesCodeGen.h
1 /*
2  * GetValuesCodeGen.h
3  *
4  * Created on: Sept 16, 2013
5  * Author: andy
6  */
7 
8 #ifndef RRLLVMSETINITIALVALUESCODEGEN_H_
9 #define RRLLVMSETINITIALVALUESCODEGEN_H_
10 
11 #include "CodeGenBase.h"
12 #include "ModelGeneratorContext.h"
13 #include "SymbolForest.h"
14 #include "ASTNodeFactory.h"
15 #include "ModelDataIRBuilder.h"
16 #include "SetInitialValueCodeGenBase.h"
17 #include <sbml/Model.h>
18 
19 namespace rrllvm
20 {
22  class SetFloatingSpeciesInitConcentrationCodeGen : public
23  SetInitialValueCodeGenBase<SetFloatingSpeciesInitConcentrationCodeGen, false>
24  {
25  public:
26  SetFloatingSpeciesInitConcentrationCodeGen(const ModelGeneratorContext& mgc);
27  ~SetFloatingSpeciesInitConcentrationCodeGen() {};
28 
29  StringIntVector getIds();
30 
31  bool isInitialValue() {
32  return true;
33  }
34 
35  static const char* FunctionName;
36  static const char* IndexArgName;
37  };
38 
39 
40 
41  class SetBoundarySpeciesInitConcentrationCodeGen : public
42  SetInitialValueCodeGenBase<SetBoundarySpeciesInitConcentrationCodeGen, false>
43  {
44  public:
45  SetBoundarySpeciesInitConcentrationCodeGen(const ModelGeneratorContext& mgc);
46  ~SetBoundarySpeciesInitConcentrationCodeGen() {};
47 
48  StringIntVector getIds();
49 
50  bool isInitialValue() {
51  return true;
52  }
53 
54  static const char* FunctionName;
55  static const char* IndexArgName;
56  };
57 
58 
59 
60  class SetFloatingSpeciesInitAmountCodeGen : public
61  SetInitialValueCodeGenBase<SetFloatingSpeciesInitAmountCodeGen, true>
62  {
63  public:
64  SetFloatingSpeciesInitAmountCodeGen(const ModelGeneratorContext& mgc);
65  ~SetFloatingSpeciesInitAmountCodeGen() {};
66 
67  StringIntVector getIds();
68 
69  bool isInitialValue() {
70  return true;
71  }
72 
73  static const char* FunctionName;
74  static const char* IndexArgName;
75  };
76 
77 
78 
79  class SetBoundarySpeciesInitAmountCodeGen : public
80  SetInitialValueCodeGenBase<SetBoundarySpeciesInitAmountCodeGen, true>
81  {
82  public:
83  SetBoundarySpeciesInitAmountCodeGen(const ModelGeneratorContext& mgc);
84  ~SetBoundarySpeciesInitAmountCodeGen() {};
85 
86  StringIntVector getIds();
87 
88  bool isInitialValue() {
89  return true;
90  }
91 
92  static const char* FunctionName;
93  static const char* IndexArgName;
94  };
95 
96 
97 
98  class SetCompartmentInitVolumeCodeGen : public
99  SetInitialValueCodeGenBase<SetCompartmentInitVolumeCodeGen, false>
100  {
101  public:
102  SetCompartmentInitVolumeCodeGen(const ModelGeneratorContext& mgc);
103  ~SetCompartmentInitVolumeCodeGen() {};
104 
105  StringIntVector getIds();
106 
107  bool isInitialValue() {
108  return true;
109  }
110 
111  static const char* FunctionName;
112  static const char* IndexArgName;
113  };
114 
115  class SetGlobalParameterInitValueCodeGen : public
116  SetInitialValueCodeGenBase<SetGlobalParameterInitValueCodeGen, false>
117  {
118  public:
119  SetGlobalParameterInitValueCodeGen(const ModelGeneratorContext& mgc);
120  ~SetGlobalParameterInitValueCodeGen() {};
121 
122  StringIntVector getIds();
123 
124  bool isInitialValue() {
125  return true;
126  }
127 
128  static const char* FunctionName;
129  static const char* IndexArgName;
130  };
131 
134 } /* namespace rrllvm */
135 #endif /* RRLLVMSETINITIALVALUESCODEGEN_H_ */