Skip to content
This repository has been archived by the owner on May 18, 2019. It is now read-only.

Commit

Permalink
Simplify counting number of real variables
Browse files Browse the repository at this point in the history
  • Loading branch information
sjoelund authored and OpenModelica-Hudson committed Nov 8, 2016
1 parent d487be4 commit 1b514e3
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
7 changes: 7 additions & 0 deletions Compiler/SimCode/SimCodeUtil.mo
Original file line number Diff line number Diff line change
Expand Up @@ -12893,5 +12893,12 @@ algorithm
files := DoubleEndedList.toListAndClear(delst);
end getFunctionIndex;

public function nVariablesReal
input SimCode.VarInfo varInfo;
output Integer n;
algorithm
n := 2*varInfo.numStateVars+varInfo.numAlgVars+varInfo.numDiscreteReal+varInfo.numOptimizeConstraints+varInfo.numOptimizeFinalConstraints;
end nVariablesReal;

annotation(__OpenModelica_Interface="backend");
end SimCodeUtil;
2 changes: 1 addition & 1 deletion Compiler/Template/CodegenC.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -1214,7 +1214,7 @@ template populateModelInfo(ModelInfo modelInfo, String fileNamePrefix, String gu
%>

data->modelData->nStates = <%varInfo.numStateVars%>;
data->modelData->nVariablesReal = 2*<%varInfo.numStateVars%>+<%varInfo.numAlgVars%>+<%varInfo.numDiscreteReal%>+<%varInfo.numOptimizeConstraints%> + <%varInfo.numOptimizeFinalConstraints%>;
data->modelData->nVariablesReal = <%nVariablesReal(varInfo)%>;
data->modelData->nDiscreteReal = <%varInfo.numDiscreteReal%>;
data->modelData->nVariablesInteger = <%varInfo.numIntAlgVars%>;
data->modelData->nVariablesBoolean = <%varInfo.numBoolAlgVars%>;
Expand Down
5 changes: 5 additions & 0 deletions Compiler/Template/SimCodeTV.mo
Original file line number Diff line number Diff line change
Expand Up @@ -922,6 +922,11 @@ package SimCodeUtil
input String suffix;
output String newName;
end addFunctionIndex;

function nVariablesReal
input SimCode.VarInfo varInfo;
output Integer n;
end nVariablesReal;
end SimCodeUtil;

package SimCodeFunctionUtil
Expand Down

0 comments on commit 1b514e3

Please sign in to comment.