Skip to content

Commit

Permalink
- fix warning
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@15285 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Jens Frenkel committed Feb 23, 2013
1 parent 4df56eb commit aead67e
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 37 deletions.
14 changes: 7 additions & 7 deletions Compiler/BackEnd/BackendDAEOptimize.mo
Expand Up @@ -1745,7 +1745,6 @@ algorithm
Integer c;
list<list<Integer>> rest;
Env.Cache cache;
list<DAE.ComponentRef> crlst;
list<Integer> ilst;
list<BackendDAE.Var> vlst;

Expand All @@ -1761,13 +1760,14 @@ algorithm
(knvars,repl1,cache);
case (ilst::rest,_,_,_,_,_)
equation
vlst = List.map1r(ilst,BackendVariable.getVarAt,inKnVars);
crlst = List.map(vlst,BackendVariable.varCref);
str = stringDelimitList(List.map(crlst,ComponentReference.printComponentRefStr),"\n");
str = stringAppendList({"BackendDAEOptimize.traverseVariablesSorted faild because of strong connected Block in Parameters!\n",str,"\n"});
Error.addMessage(Error.INTERNAL_ERROR, {str});
//vlst = List.map1r(ilst,BackendVariable.getVarAt,inKnVars);
//str = stringDelimitList(List.map(vlst,BackendDump.varString),"\n");
//str = stringAppendList({"BackendDAEOptimize.traverseVariablesSorted faild because of strong connected Block in Parameters!\n",str,"\n"});
//Error.addMessage(Error.INTERNAL_ERROR, {str});
(knvars,repl1,cache) = traverseVariablesSorted(List.map(ilst,List.create),inKnVars,repl,replEvaluate,iCache,env);
(knvars,repl1,cache) = traverseVariablesSorted(rest,knvars,repl,repl1,cache,env);
then
fail();
(knvars,repl1,cache);
end matchcontinue;
end traverseVariablesSorted;

Expand Down
54 changes: 24 additions & 30 deletions Compiler/BackEnd/EvaluateParameter.mo
Expand Up @@ -225,9 +225,9 @@ algorithm
markarr = arrayCreate(size,-1);
(knvars,cache,repl,repleval,mark) = evaluateSelectedParameters(selectedParameter,knvars,m,inieqns,cache,env,1,markarr,repl,repleval);
// replace evaluated parameter in parameters
comps = BackendDAETransform.tarjanAlgorithm(mt, ass);
comps = BackendDAETransform.tarjanAlgorithm(mt, ass);
// evaluate vars with bind expression consists of evaluated vars
(knvars,repl,repleval,cache,mark) = traverseVariablesSorted(comps,knvars,m,inieqns,cache,env,mark,markarr,repl,repleval);
(knvars,repl,repleval,cache,mark) = traverseParameterSorted(comps,knvars,m,inieqns,cache,env,mark,markarr,repl,repleval);
Debug.fcall(Flags.DUMP_EA_REPL, BackendVarTransform.dumpReplacements, repleval);
// replace evaluated parameter in variables
(systs,(knvars,m,inieqns,cache,env,mark,markarr,repl,repleval)) = List.mapFold(systs,replaceEvaluatedParametersSystem,(knvars,m,inieqns,cache,env,mark,markarr,repl,repleval));
Expand Down Expand Up @@ -765,7 +765,7 @@ algorithm
end matchcontinue;
end replaceCrefWithBindStartExp;

protected function traverseVariablesSorted
protected function traverseParameterSorted
input list<list<Integer>> inComps;
input BackendDAE.Variables inKnVars;
input BackendDAE.IncidenceMatrix m;
Expand All @@ -791,7 +791,6 @@ algorithm
Integer i,mark;
list<list<Integer>> rest;
Env.Cache cache;
list<DAE.ComponentRef> crlst;
list<Integer> ilst;
list<BackendDAE.Var> vlst;

Expand All @@ -801,21 +800,22 @@ algorithm
case({i}::rest,_,_,_,_,_,_,_,_,_)
equation
v = BackendVariable.getVarAt(inKnVars,i);
(knvars,repl1,evrepl,cache,mark) = evaluateParameterBindings(v,i,inKnVars,m,inIEqns,iCache,env,iMark,markarr,repl,replEvaluate);
(knvars,repl1,evrepl,cache,mark) = traverseVariablesSorted(rest,inKnVars,m,inIEqns,iCache,env,iMark,markarr,repl1,evrepl);
(v,knvars,cache,repl1,mark) = evaluateFixedAttribute(v,true,inKnVars,m,inIEqns,iCache,env,iMark,markarr,repl);
(knvars,repl1,evrepl,cache,mark) = evaluateParameterBindings(v,i,knvars,m,inIEqns,cache,env,mark,markarr,repl1,replEvaluate);
(knvars,repl1,evrepl,cache,mark) = traverseParameterSorted(rest,knvars,m,inIEqns,cache,env,mark,markarr,repl1,evrepl);
then
(knvars,repl1,evrepl,cache,mark);
case (ilst::rest,_,_,_,_,_,_,_,_,_)
equation
vlst = List.map1r(ilst,BackendVariable.getVarAt,inKnVars);
crlst = List.map(vlst,BackendVariable.varCref);
str = stringDelimitList(List.map(crlst,ComponentReference.printComponentRefStr),"\n");
str = stringAppendList({"BackendDAEOptimize.traverseVariablesSorted faild because of strong connected Block in Parameters!\n",str,"\n"});
Error.addMessage(Error.INTERNAL_ERROR, {str});
// vlst = List.map1r(ilst,BackendVariable.getVarAt,inKnVars);
// str = stringDelimitList(List.map(vlst,BackendDump.varString),"\n");
// print(stringAppendList({"EvaluateParameter.traverseParameterSorted faild because of strong connected Block in Parameters!\n",str,"\n"}));
(knvars,repl1,evrepl,cache,mark) = traverseParameterSorted(List.map(ilst,List.create),inKnVars,m,inIEqns,iCache,env,iMark,markarr,repl,replEvaluate);
(knvars,repl1,evrepl,cache,mark) = traverseParameterSorted(rest,knvars,m,inIEqns,cache,env,mark,markarr,repl1,evrepl);
then
fail();
(knvars,repl1,evrepl,cache,mark);
end matchcontinue;
end traverseVariablesSorted;
end traverseParameterSorted;

protected function evaluateParameterBindings
input BackendDAE.Var var;
Expand Down Expand Up @@ -859,26 +859,24 @@ algorithm
(repl,repleval) = addConstExpReplacement(e,cr,iRepl,iReplEvaluate);
(attr,(repleval,_)) = BackendDAEUtil.traverseBackendDAEVarAttr(attr,traverseExpVisitorWrapper,(repleval,false));
v = BackendVariable.setVarAttributes(v,attr);
(v,knVars,cache,repl,mark) = evaluateFixedAttribute(v,true,inKnVars,m,inIEqns,iCache,env,iMark,markarr,repl);
//false = Expression.expHasCrefs(e);
// evaluate expression
//(cache, value,_) = Ceval.ceval(iCache, env, e, false,NONE(),Ceval.NO_MSG());
//e1 = ValuesUtil.valueExp(value);
// set bind value
//v = BackendVariable.setBindExp(var,e1);
v = Debug.bcallret2(Expression.isConst(e),BackendVariable.setVarFinal,v, true, v);
knVars = BackendVariable.setVarAt(knVars,index,v);
knVars = BackendVariable.setVarAt(inKnVars,index,v);
then
(knVars,repl,repleval,cache,mark);
(knVars,repl,repleval,iCache,iMark);
case (BackendDAE.VAR(varName = cr,varKind=BackendDAE.PARAM(),bindValue=NONE(),values=attr),_,_,_,_,_,_,_,_,_,_)
equation
(v,knVars,cache,repl,mark) = evaluateFixedAttribute(var,true,inKnVars,m,inIEqns,iCache,env,iMark,markarr,iRepl);
true = BackendVariable.varFixed(v);
true = BackendVariable.varFixed(var);
e = DAEUtil.getStartAttrFail(attr);
// apply replacements
(e,true) = BackendVarTransform.replaceExp(e, iReplEvaluate, NONE());
(e,_) = ExpressionSimplify.simplify(e);
v = BackendVariable.setVarStartValue(v,e);
v = BackendVariable.setVarStartValue(var,e);
(repl,repleval) = addConstExpReplacement(e,cr,iRepl,iReplEvaluate);
(attr,(repleval,_)) = BackendDAEUtil.traverseBackendDAEVarAttr(attr,traverseExpVisitorWrapper,(repleval,false));
v = BackendVariable.setVarAttributes(v,attr);
Expand All @@ -889,9 +887,9 @@ algorithm
// set bind value
//v = BackendVariable.setBindExp(var,e1);
v = Debug.bcallret2(Expression.isConst(e),BackendVariable.setVarFinal,v, true, v);
knVars = BackendVariable.setVarAt(knVars,index,v);
knVars = BackendVariable.setVarAt(inKnVars,index,v);
then
(knVars,repl,repleval,cache,mark);
(knVars,repl,repleval,iCache,iMark);
// other vars
case (BackendDAE.VAR(bindExp=SOME(e),values=attr),_,_,_,_,_,_,_,_,_,_)
equation
Expand All @@ -901,23 +899,19 @@ algorithm
v = BackendVariable.setBindExp(var,e);
(attr,(repleval,_)) = BackendDAEUtil.traverseBackendDAEVarAttr(attr,traverseExpVisitorWrapper,(iReplEvaluate,false));
v = BackendVariable.setVarAttributes(v,attr);
(v,knVars,cache,repl,mark) = evaluateFixedAttribute(v,true,inKnVars,m,inIEqns,iCache,env,iMark,markarr,iRepl);
knVars = BackendVariable.setVarAt(knVars,index,v);
knVars = BackendVariable.setVarAt(inKnVars,index,v);
then
(knVars,repl,repleval,cache,mark);
(knVars,iRepl,repleval,iCache,iMark);
case (BackendDAE.VAR(values=attr),_,_,_,_,_,_,_,_,_,_)
equation
// apply replacements
(attr,(repleval,true)) = BackendDAEUtil.traverseBackendDAEVarAttr(attr,traverseExpVisitorWrapper,(iReplEvaluate,false));
v = BackendVariable.setVarAttributes(var,attr);
(v,knVars,cache,repl,mark) = evaluateFixedAttribute(v,true,inKnVars,m,inIEqns,iCache,env,iMark,markarr,iRepl);
knVars = BackendVariable.setVarAt(knVars,index,v);
knVars = BackendVariable.setVarAt(inKnVars,index,v);
then
(knVars,repl,repleval,cache,mark);
(knVars,iRepl,repleval,iCache,iMark);
else
equation
(v,knVars,cache,repl,mark) = evaluateFixedAttribute(var,true,inKnVars,m,inIEqns,iCache,env,iMark,markarr,iRepl);
then (knVars,repl,iReplEvaluate,cache,iMark);
then (inKnVars,iRepl,iReplEvaluate,iCache,iMark);
end matchcontinue;
end evaluateParameterBindings;

Expand Down

0 comments on commit aead67e

Please sign in to comment.