Skip to content

Commit

Permalink
- splitted the getInt-Function
Browse files Browse the repository at this point in the history
- fixed HPCOM of CPP-Runtime

git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@22387 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Marcus Walther committed Sep 22, 2014
1 parent 0bbf7da commit 721d03a
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 16 deletions.
22 changes: 11 additions & 11 deletions Compiler/Template/CodegenCpp.tpl
Expand Up @@ -4300,12 +4300,15 @@ let conditionvariables = conditionvariable(zeroCrossings,simCode)

match modelInfo
case MODELINFO(vars=SIMVARS(__)) then
let getrealvars =(List.partition(listAppend( listAppend(vars.algVars, vars.discreteAlgVars), vars.paramVars ), 100) |> ls hasindex idx => 'void getReal_<%idx%>(double* z);
void setReal_<%idx%>(const double* z);'
;separator="\n")

let getrealvars = (List.partition(listAppend(listAppend(vars.algVars, vars.discreteAlgVars), vars.paramVars), 100) |> ls hasindex idx =>
<<
void getReal_<%idx%>(double* z);
void setReal_<%idx%>(const double* z);
>>
;separator="\n")
let getintvars = (List.partition(listAppend(listAppend(vars.intAlgVars, vars.intParamVars), vars.intAliasVars), 100) |> ls hasindex idx => 'void getInteger_<%idx%>(int* z);';separator="\n")
<<
class <%lastIdentOfPath(modelInfo.name)%>: public IContinuous, public IEvent, public IStepEvent, public ITime, public ISystemProperties <%if Flags.isSet(Flags.WRITE_TO_BUFFER) then ', public IReduceDAE'%>, public SystemDefaultImplementation
class <%lastIdentOfPath(modelInfo.name)%>: public IContinuous, public IEvent, public IStepEvent, public ITime, public ISystemProperties <%if Flags.isSet(Flags.WRITE_TO_BUFFER) then ', public IReduceDAE'%>, public SystemDefaultImplementation
{
<%friendclasses%>
Expand All @@ -4320,6 +4323,7 @@ match modelInfo
protected:
//Methods:
<%getrealvars%>
<%getintvars%>
bool isConsistent();
//Called to handle all events occured at same time
Expand Down Expand Up @@ -12807,17 +12811,13 @@ case MODELINFO(vars=SIMVARS(__)) then
let getrealvariable = giveVariablesWithSplit(lastIdentOfPath(name)+ "::getReal","double* z","z",listAppend( listAppend(vars.algVars, vars.discreteAlgVars), vars.paramVars ), simCode, contextOther, useFlatArrayNotation)
let setrealvariable = setVariablesWithSplit(lastIdentOfPath(name)+ "::setReal","const double* z","z",listAppend( listAppend(vars.algVars, vars.discreteAlgVars), vars.paramVars ), simCode, contextOther, useFlatArrayNotation)

let getintvariable = giveVariablesWithSplit(lastIdentOfPath(name)+ "::getInteger","int* z","z",listAppend(listAppend( vars.intAlgVars, vars.intParamVars ), vars.intAliasVars ), simCode, contextOther, useFlatArrayNotation)
<<

<%getrealvariable%>
<%setrealvariable%>

void <%lastIdentOfPath(name)%>::getInteger(int* z)
{
<%listAppend( listAppend( vars.intAlgVars, vars.intParamVars ), vars.intAliasVars ) |>
var hasindex i0 fromindex 0 => giveVariablesDefault(var, i0, useFlatArrayNotation)
;separator="\n"%>
}
<%getintvariable%>

void <%lastIdentOfPath(name)%>::getBoolean(bool* z)
{
Expand Down
15 changes: 10 additions & 5 deletions Compiler/Template/CodegenCppHpcom.tpl
Expand Up @@ -107,11 +107,15 @@ case SIMCODE(modelInfo = MODELINFO(__)) then

match modelInfo
case MODELINFO(vars=SIMVARS(__)) then
let getrealvars =(List.partition(listAppend(listAppend(vars.algVars, vars.discreteAlgVars), vars.paramVars ), 100) |> ls hasindex idx => 'void getReal_<%idx%>(double* z);
void setReal_<%idx%>(const double* z);'
;separator="\n")
let getrealvars = (List.partition(listAppend(listAppend(vars.algVars, vars.discreteAlgVars), vars.paramVars), 100) |> ls hasindex idx =>
<<
void getReal_<%idx%>(double* z);
void setReal_<%idx%>(const double* z);
>>
;separator="\n")
let getintvars = (List.partition(listAppend(listAppend(vars.intAlgVars, vars.intParamVars), vars.intAliasVars), 100) |> ls hasindex idx => 'void getInteger_<%idx%>(int* z);';separator="\n")
<<
class <%lastIdentOfPath(modelInfo.name)%>: public IContinuous, public IEvent, public ITime, public ISystemProperties <%if Flags.isSet(Flags.WRITE_TO_BUFFER) then ', public IReduceDAE'%>, public SystemDefaultImplementation
class <%lastIdentOfPath(modelInfo.name)%>: public IContinuous, public IEvent, public IStepEvent, public ITime, public ISystemProperties <%if Flags.isSet(Flags.WRITE_TO_BUFFER) then ', public IReduceDAE'%>, public SystemDefaultImplementation
{
<%friendclasses%>
Expand All @@ -128,6 +132,7 @@ case SIMCODE(modelInfo = MODELINFO(__)) then
protected:
//Methods:
<%getrealvars%>
<%getintvars%>
<%addHpcomFunctionHeaders%>
Expand Down Expand Up @@ -621,7 +626,7 @@ case SIMCODE(modelInfo = MODELINFO(__)) then
//Initialize array elements
<%initializeArrayElements(simCode,useFlatArrayNotation)%>
_functions = new Functions(_simTime);
_functions = new Functions(_simTime,__z,__zDot);
<%hpcomConstructorExtension%>
Expand Down

0 comments on commit 721d03a

Please sign in to comment.