Skip to content

Commit

Permalink
- start using sample-lookup for codegen
Browse files Browse the repository at this point in the history
- remove unused function SimCodeUtil.failUnlessResidual


git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@14888 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
lochel committed Jan 22, 2013
1 parent f4fef63 commit a81605a
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 39 deletions.
33 changes: 14 additions & 19 deletions Compiler/BackEnd/BackendDAEUtil.mo
Original file line number Diff line number Diff line change
Expand Up @@ -1164,27 +1164,22 @@ algorithm
end matchcontinue;
end calculateVarSizes;


public function numberOfZeroCrossings "function: numberOfZeroCrossings
author: Frenkel TUD"
public function numberOfZeroCrossings "function numberOfZeroCrossings
author: lochel"
input BackendDAE.BackendDAE inBackendDAE;
output Integer outng "number of zerocrossings";
output Integer outng_sample "number of zerocrossings that are samples";
output Integer outng_rel "number of relation in zerocrossings";
output Integer outng_math "number of relation in zerocrossings";
output Integer outNumZeroCrossings "number of zerocrossings" ;
output Integer outNumTimeEvents "number of zerocrossings that are samples" ;
output Integer outNumRelations;
output Integer outNumMathEventFunctions;
protected
list<ZeroCrossing> zeroCrossingLst;
algorithm
(outng,outng_sample,outng_rel,outng_math):=
match (inBackendDAE)
local
Integer ng,nsam, ngrel, ngmath;
list<ZeroCrossing> zc, samples;
case (BackendDAE.DAE(shared=BackendDAE.SHARED(eventInfo = BackendDAE.EVENT_INFO(zeroCrossingLst = zc, sampleLst =samples, relationsNumber=ngrel, numberMathEvents = ngmath))))
equation
ng = listLength(zc);
nsam = listLength(samples);
then
(ng,nsam,ngrel,ngmath);
end match;
BackendDAE.DAE(shared=BackendDAE.SHARED(eventInfo=BackendDAE.EVENT_INFO(sampleLookup=BackendDAE.SAMPLE_LOOKUP(nSamples=outNumTimeEvents),
zeroCrossingLst=zeroCrossingLst,
relationsNumber=outNumRelations,
numberMathEvents=outNumMathEventFunctions))) := inBackendDAE;

outNumZeroCrossings := listLength(zeroCrossingLst);
end numberOfZeroCrossings;

protected function calculateValues "function: calculateValues
Expand Down
21 changes: 6 additions & 15 deletions Compiler/BackEnd/SimCodeUtil.mo
Original file line number Diff line number Diff line change
Expand Up @@ -7062,15 +7062,6 @@ algorithm
end matchcontinue;
end filterNonConstant;


protected function failUnlessResidual
input BackendDAE.Equation eq;
algorithm
_ := match (eq)
case (BackendDAE.RESIDUAL_EQUATION(exp=_)) then ();
end match;
end failUnlessResidual;

protected function createVarNominalAssertFromVars
input BackendDAE.EqSystem syst;
input BackendDAE.Shared shared;
Expand Down Expand Up @@ -7544,14 +7535,14 @@ protected function createVarInfo
input Integer numStateSets;
output SimCode.VarInfo varInfo;
protected
Integer ng, ng_sam, ng_rel, ng_math, numInitialResiduals;
Integer numZeroCrossings, numTimeEvents, numRelations, numMathEventFunctions, numInitialResiduals;
algorithm
(ng, ng_sam, ng_rel, ng_math) := BackendDAEUtil.numberOfZeroCrossings(dlow);
ng := filterNg(ng);
ng_sam := filterNg(ng_sam);
ng_rel := filterNg(ng_rel);
(numZeroCrossings, numTimeEvents, numRelations, numMathEventFunctions) := BackendDAEUtil.numberOfZeroCrossings(dlow);
numZeroCrossings := filterNg(numZeroCrossings);
numTimeEvents := filterNg(numTimeEvents);
numRelations := filterNg(numRelations);
numInitialResiduals := numInitialEquations+numInitialAlgorithms;
varInfo := SimCode.VARINFO(numHelpVars, ng, ng_sam, ng_rel, ng_math, nx, numInlineVars, ny, ny_int, ny_bool, na, na_int, na_bool, np, np_int, np_bool, numOutVars, numInVars,
varInfo := SimCode.VARINFO(numHelpVars, numZeroCrossings, numTimeEvents, numRelations, numMathEventFunctions, nx, numInlineVars, ny, ny_int, ny_bool, na, na_int, na_bool, np, np_int, np_bool, numOutVars, numInVars,
numInitialEquations, numInitialAlgorithms, numInitialResiduals, next, ny_string, np_string, na_string, 0, 0, numStateSets, SOME(dim_1), SOME(dim_2));
end createVarInfo;

Expand Down
10 changes: 5 additions & 5 deletions Compiler/Template/CodegenC.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ template simulationFile(SimCode simCode, String guid)
int measure_time_flag = 0;
#endif
<%functionInitializeDataStruc(modelInfo, fileNamePrefix, guid, allEquations, jacobianMatrixes, delayedExps, sampleLookup)%>
<%functionInitializeDataStruc(modelInfo, fileNamePrefix, guid, allEquations, jacobianMatrixes, delayedExps)%>
<%functionInitializeDataStruc2(modelInfo, allEquations, appendAllequations(jacobianMatrixes), parameterEquations, initialEquations, inlineEquations)%>
Expand Down Expand Up @@ -241,7 +241,7 @@ template simulationFileHeader(SimCode simCode)
end match
end simulationFileHeader;

template populateModelInfo(ModelInfo modelInfo, String fileNamePrefix, String guid, list<SimEqSystem> allEquations, list<SimCode.JacobianMatrix> symJacs, DelayedExpression delayed, BackendDAE.SampleLookup sampleLookup)
template populateModelInfo(ModelInfo modelInfo, String fileNamePrefix, String guid, list<SimEqSystem> allEquations, list<SimCode.JacobianMatrix> symJacs, DelayedExpression delayed)
"Generates information for data.modelInfo struct."
::=
match modelInfo
Expand Down Expand Up @@ -272,7 +272,7 @@ template populateModelInfo(ModelInfo modelInfo, String fileNamePrefix, String gu
data->modelData.nAliasString = <%varInfo.numStringAliasVars%>;

data->modelData.nZeroCrossings = <%varInfo.numZeroCrossings%>;
data->modelData.nSamples = <%varInfo.numTimeEvents%>; /* <%match sampleLookup case BackendDAE.SAMPLE_LOOKUP(__) then nSamples else -1%> */
data->modelData.nSamples = <%varInfo.numTimeEvents%>;
data->modelData.nRelations = <%varInfo.numRelations%>;
data->modelData.nMathEvents = <%varInfo.numMathEventFunctions%>;
data->modelData.nInitEquations = <%varInfo.numInitialEquations%>;
Expand All @@ -291,14 +291,14 @@ template populateModelInfo(ModelInfo modelInfo, String fileNamePrefix, String gu
end match
end populateModelInfo;

template functionInitializeDataStruc(ModelInfo modelInfo, String fileNamePrefix, String guid, list<SimEqSystem> allEquations, list<SimCode.JacobianMatrix> symJacs, DelayedExpression delayed, BackendDAE.SampleLookup sampleLookup)
template functionInitializeDataStruc(ModelInfo modelInfo, String fileNamePrefix, String guid, list<SimEqSystem> allEquations, list<SimCode.JacobianMatrix> symJacs, DelayedExpression delayed)
"Generates function in simulation file."
::=
<<
void setupDataStruc(DATA *data)
{
ASSERT(data, "Error while initialize Data");
<%populateModelInfo(modelInfo, fileNamePrefix, guid, allEquations, symJacs, delayed, sampleLookup)%>
<%populateModelInfo(modelInfo, fileNamePrefix, guid, allEquations, symJacs, delayed)%>
}
>>
end functionInitializeDataStruc;
Expand Down

0 comments on commit a81605a

Please sign in to comment.