Skip to content

Commit

Permalink
- now hpcom codegeneration is working again
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@24190 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Marcus Walther committed Jan 26, 2015
1 parent d1b7f93 commit ec9e301
Showing 1 changed file with 17 additions and 13 deletions.
30 changes: 17 additions & 13 deletions Compiler/Template/CodegenCppHpcom.tpl
Expand Up @@ -403,14 +403,21 @@ template simulationCppFile(SimCode simCode,Context context,Text& extraFuncs,Text
<<
#include <Core/Modelica.h>
#include <Core/ModelicaDefine.h>
#include "OMCpp<%fileNamePrefix%>PreVariables.h"
#include "OMCpp<%fileNamePrefix%>.h"
#include "OMCpp<%fileNamePrefix%>Functions.h"
#include <Core/System/EventHandling.h>
#include <Core/System/DiscreteEvents.h>
#if defined(__TRICORE__) || defined(__vxworks)
#include <DataExchange/SimDouble.h>
#endif

/* Constructor */
<%className%>::<%className%>(IGlobalSettings* globalSettings,boost::shared_ptr<IAlgLoopSolverFactory> nonlinsolverfactory,boost::shared_ptr<ISimData> simData)
<%className%>::<%className%>(IGlobalSettings* globalSettings,boost::shared_ptr<IAlgLoopSolverFactory> nonlinsolverfactory,boost::shared_ptr<ISimData> sim_data)
:SystemDefaultImplementation(globalSettings)
, <%className%>PreVariables()
,_algLoopSolverFactory(nonlinsolverfactory)
,sim_Data(simData)
,_sim_data(sim_data)
<%hpcomMemberVariableDefinition%>
<%MemberVariable(modelInfo, hpcOmMemory,useFlatArrayNotation,true)%>
<%simulationInitFile(simCode ,extraFuncs ,extraFuncsDecl, extraFuncsNamespace, stateDerVectorName, useFlatArrayNotation)%>
Expand Down Expand Up @@ -468,14 +475,11 @@ template simulationCppFile(SimCode simCode,Context context,Text& extraFuncs,Text
//Initialize the state vector
SystemDefaultImplementation::initialize();
//Instantiate auxiliary object for event handling functionality
_event_handling.getCondition = boost::bind(&<%className%>::getCondition, this, _1);
//Todo: arrayReindex(modelInfo,useFlatArrayNotation)
//Initialize array elements
<%initializeArrayElements(simCode ,extraFuncs ,extraFuncsDecl, extraFuncsNamespace,useFlatArrayNotation)%>
//_event_handling.getCondition = boost::bind(&<%className%>::getCondition, this, _1);
_functions = new Functions(_simTime,__z,__zDot,_initial,_terminate);
//Todo: reindex all arrays removed // arrayReindex(modelInfo,useFlatArrayNotation)
<%hpcomConstructorExtension%>
_functions = new Functions(_simTime,__z,__zDot,_initial,_terminate);
}

<%if(HpcOmMemory.useHpcomMemoryOptimization(hpcOmMemory)) then
Expand All @@ -502,21 +506,22 @@ template simulationCppFile(SimCode simCode,Context context,Text& extraFuncs,Text
else ''
%>

<%lastIdentOfPath(modelInfo.name)%>::~<%lastIdentOfPath(modelInfo.name)%>()
/* Destructor */
<%className%>::~<%className%>()
{
if(_functions != NULL)
delete _functions;
<%hpcomDestructorExtension%>
deleteObjects();
}

void <%className%>::deleteObjects()
{
if(_functions != NULL)
delete _functions;
deleteAlgloopSolverVariables();
}


<%generateInitAlgloopsolverVariables(listAppend(allEquations,initialEquations),simCode ,extraFuncs ,extraFuncsDecl, extraFuncsNamespace,className)%>

<%generateDeleteAlgloopsolverVariables(listAppend(allEquations,initialEquations),simCode ,extraFuncs ,extraFuncsDecl, extraFuncsNamespace,className)%>
Expand Down Expand Up @@ -545,7 +550,6 @@ template simulationCppFile(SimCode simCode,Context context,Text& extraFuncs,Text
<%getCondition(zeroCrossings,whenClauses,simCode ,extraFuncs ,extraFuncsDecl, extraFuncsNamespace, stateDerVectorName, useFlatArrayNotation)%>
<%handleSystemEvents(zeroCrossings,whenClauses,simCode ,extraFuncs ,extraFuncsDecl, extraFuncsNamespace)%>
<%saveAll(modelInfo,simCode ,extraFuncs ,extraFuncsDecl, extraFuncsNamespace,stateDerVectorName,useFlatArrayNotation)%>
<%initPrevars(modelInfo,simCode , &extraFuncs , &extraFuncsDecl, extraFuncsNamespace,stateDerVectorName,useFlatArrayNotation)%>

<%LabeledDAE(modelInfo.labels,simCode ,extraFuncs ,extraFuncsDecl, extraFuncsNamespace, stateDerVectorName, useFlatArrayNotation)%>
<%giveVariables(modelInfo,context,useFlatArrayNotation,simCode ,extraFuncs ,extraFuncsDecl, extraFuncsNamespace)%>
Expand Down

0 comments on commit ec9e301

Please sign in to comment.