MicroModelicaCCompiler
4.5.3
|
Go to the documentation of this file.
22 #include <boost/variant/variant.hpp>
36 namespace MODEL_INSTANCE {
84 void freeVector(std::string name,
int size)
const;
88 _writer->write(vdm.alloc(), alloc);
89 if (!vdm.empty() && size > 0) {
90 std::stringstream buffer;
91 buffer <<
"cleanVector(" << vdm.accessVector() <<
", 0, " << size <<
");";
92 _writer->write(buffer.str(), init);
94 _writer->write(vdm.init(), init);
96 template <
class Builder>
104 _writer->write(model.genericDef(),
generic);
106 if (!
_writer->isEmpty(simple)) {
118 class QSSModelInstance :
public ModelInstance {
virtual void initializeDataStructures()=0
std::string allocateModel()
ClassicModelInstance(IR::Model &model, Util::CompileFlags &flags, WriterPtr writer)
void freeVector(std::string name, int size) const
Util::CompileFlags _flags
void definition() override
std::string allocateModel()
~QSSModelInstance() override=default
std::string componentDefinition(MODEL_INSTANCE::Component c)
static ModelConfig & instance()
void initializeDataStructures() override
std::string beginSwitch()
void allocateVectors() const
void initializeMatrix(DM vdm, WRITER::Section alloc, WRITER::Section init, int size)
void initializeDataStructures() override
virtual void definition()=0
Graph computationalGraph() override
virtual ~ModelInstance()=default
~ClassicModelInstance() override=default
std::string allocateModel()
virtual Graph computationalGraph()
void generateDef(IR::EquationTable eqs, WRITER::Section model_def, WRITER::Section simple, WRITER::Section generic)
void definition() override
void allocateVector(std::string name, int size) const
Util::CompileFlags _flags
std::shared_ptr< Writer > WriterPtr
Util::CompileFlags _flags
std::shared_ptr< ModelInstance > ModelInstancePtr