Skip to content

Commit

Permalink
- Refactoring
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@10103 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
sjoelund committed Oct 13, 2011
1 parent b52a7b4 commit b61cecd
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 20 deletions.
11 changes: 6 additions & 5 deletions Compiler/BackEnd/SimCode.mo
Expand Up @@ -132,7 +132,7 @@ uniontype SimCode
list<RecordDeclaration> recordDecls;
list<String> externalFunctionIncludes;
list<SimEqSystem> allEquations;
list<SimEqSystem> odeEquations;
list<list<SimEqSystem>> odeEquations;
list<SimEqSystem> algebraicEquations;
list<SimEqSystem> residualEquations;
list<SimEqSystem> initialEquations;
Expand Down Expand Up @@ -2200,7 +2200,7 @@ algorithm
recordDecls,
externalFunctionIncludes,
allEquations,
odeEquations,
{odeEquations},
algebraicEquations,
residualEquations,
initialEquations,
Expand Down Expand Up @@ -11949,7 +11949,8 @@ algorithm
list<DAE.Exp> literals "shared literals";
list<RecordDeclaration> recordDecls;
list<String> externalFunctionIncludes;
list<SimEqSystem> allEquations,odeEquations,algebraicEquations,residualEquations,initialEquations,parameterEquations,removedEquations,sampleEquations;
list<list<SimEqSystem>> odeEquations;
list<SimEqSystem> allEquations,algebraicEquations,residualEquations,initialEquations,parameterEquations,removedEquations,sampleEquations;
list<DAE.Statement> algorithmAndEquationAsserts;
list<BackendDAE.ZeroCrossing> zeroCrossings;
list<SampleCondition> sampleConditions;
Expand Down Expand Up @@ -11984,8 +11985,8 @@ algorithm
files = {};
files = getFilesFromSimVars(vars, files);
files = getFilesFromFunctions(functions, files);
files = getFilesFromSimEqSystems({allEquations,odeEquations,algebraicEquations,residualEquations,
initialEquations,parameterEquations,removedEquations,sampleEquations}, files);
files = getFilesFromSimEqSystems(allEquations::algebraicEquations::residualEquations::
initialEquations::parameterEquations::removedEquations::sampleEquations::odeEquations, files);
files = getFilesFromStatements(algorithmAndEquationAsserts, files);
files = getFilesFromWhenClauses(whenClauses, files);
files = getFilesFromExtObjInfo(extObjInfo, files);
Expand Down
12 changes: 6 additions & 6 deletions Compiler/susan_codegen/SimCode/SimCodeC.tpl
Expand Up @@ -1010,18 +1010,18 @@ template functionWhenReinitStatementElse(list<WhenOperator> reinits, Text &preEx
>>
end functionWhenReinitStatementElse;

template functionODE(list<SimEqSystem> derivativEquations, Text method)
template functionODE(list<list<SimEqSystem>> derivativEquations, Text method)
"Generates function in simulation file."
::=
let () = System.tmpTickReset(0)
let &varDecls = buffer "" /*BUFD*/
let odeEquations = (derivativEquations |> eq =>
equation_(eq, contextSimulationNonDiscrete, &varDecls /*BUFC*/)
let odeEquations = (derivativEquations |> eqs => (eqs |> eq =>
equation_(eq, contextSimulationNonDiscrete, &varDecls /*BUFC*/); separator="\n")
;separator="\n")
let &varDecls2 = buffer "" /*BUFD*/
let stateContPartInline = (derivativEquations |> eq =>
equation_(eq, contextInlineSolver, &varDecls2 /*BUFC*/)
;separator="\n")
let stateContPartInline = (derivativEquations |> eqs => (eqs |> eq =>
equation_(eq, contextInlineSolver, &varDecls2 /*BUFC*/); separator="\n")
;separator="\n")
<<
int functionODE()
{
Expand Down
4 changes: 2 additions & 2 deletions Compiler/susan_codegen/SimCode/SimCodeCSharp.tpl
Expand Up @@ -806,13 +806,13 @@ public override void FunStoreDelayed()
>>
end functionStoreDelayed;

template functionODE(list<SimEqSystem> stateContEquations, SimCode simCode) ::=
template functionODE(list<list<SimEqSystem>> stateContEquations, SimCode simCode) ::=
let()= System.tmpTickReset(1)
<<
public override void FunODE()
{
<% localRepresentationArrayDefines %>
<%stateContEquations |> it => equation_(it, contextOther, simCode) ;separator="\n"%>
<%stateContEquations |> eqs => (eqs |> it => equation_(it, contextOther, simCode)) ;separator="\n"%>
}
>>
end functionODE;
Expand Down
8 changes: 4 additions & 4 deletions Compiler/susan_codegen/SimCode/SimCodeCpp.tpl
Expand Up @@ -3659,11 +3659,11 @@ template checkForDiscreteEvents(list<ComponentRef> discreteModelVars,SimCode sim
>>
end checkForDiscreteEvents;
template update(list<SimEqSystem> continousEquations,list<SimEqSystem> discreteEquations,list<SimWhenClause> whenClauses,list<SimEqSystem> parameterEquations,SimCode simCode)
template update(list<list<SimEqSystem>> continousEquations,list<SimEqSystem> discreteEquations,list<SimWhenClause> whenClauses,list<SimEqSystem> parameterEquations,SimCode simCode)
::=
let &varDecls = buffer "" /*BUFD*/
let continous = (continousEquations |> eq =>
equation_(eq, contextOther, &varDecls /*BUFC*/,simCode)
let continous = (continousEquations |> eqs => (eqs |> eq =>
equation_(eq, contextOther, &varDecls /*BUFC*/,simCode))
;separator="\n")
let paraEquations = (parameterEquations |> eq =>
equation_(eq, contextOther, &varDecls /*BUFD*/,simCode)
Expand Down Expand Up @@ -3749,4 +3749,4 @@ template functionWhenReinitStatementThen(list<WhenOperator> reinits, Text &varDe
>>
end functionWhenReinitStatementThen;
end SimCodeCpp;
end SimCodeCpp;
4 changes: 2 additions & 2 deletions Compiler/susan_codegen/SimCode/SimCodeQSS.tpl
Expand Up @@ -492,7 +492,7 @@ template functionPreWhenCondition (list<tuple<DAE.Exp, Integer>> conditions, Tex
;separator=" || ")
end functionPreWhenCondition;

template functionQssStaticBlocks(list<SimEqSystem> derivativEquations,list<ZeroCrossing> zeroCrossings, QSSinfo qssInfo, Integer nStates)
template functionQssStaticBlocks(list<list<SimEqSystem>> derivativEquations,list<ZeroCrossing> zeroCrossings, QSSinfo qssInfo, Integer nStates)
"Generates function in simulation file."
::=
match qssInfo
Expand Down Expand Up @@ -550,7 +550,7 @@ template generateInputs(BackendQSS.DevsStruct devsst, Integer index, list<Backen
; separator="\n")
end generateInputs;

template generateStaticFunc(list<SimEqSystem> odeEq,list<ZeroCrossing> zeroCrossings,
template generateStaticFunc(list<list<SimEqSystem>> odeEq,list<ZeroCrossing> zeroCrossings,
Text &varDecls /*BUFP*/, BackendQSS.DevsStruct devsst,list<list<SimCode.SimEqSystem>> BLTblocks, list<BackendDAE.Var> varLst, Integer nStates)
"Generate the cases for the static function "
::=
Expand Down
2 changes: 1 addition & 1 deletion Compiler/susan_codegen/SimCode/SimCodeTV.mo
Expand Up @@ -65,7 +65,7 @@ package SimCode
list<RecordDeclaration> recordDecls;
list<String> externalFunctionIncludes;
list<SimEqSystem> allEquations;
list<SimEqSystem> odeEquations;
list<list<SimEqSystem>> odeEquations;
list<SimEqSystem> algebraicEquations;
list<SimEqSystem> residualEquations;
list<SimEqSystem> initialEquations;
Expand Down

0 comments on commit b61cecd

Please sign in to comment.