@@ -323,8 +323,7 @@ protected function evaluateSelectedParameters
323323 output BackendVarTransform . VariableReplacements oReplEvaluate;
324324 output Integer oMark;
325325algorithm
326- (oKnVars,oCache,oRepl,oReplEvaluate,oMark) :=
327- matchcontinue(iSelected,iKnVars,m,inIEqns,iCache,env,iMark,markarr,iRepl,iReplEvaluate)
326+ (oKnVars,oCache,oRepl,oReplEvaluate,oMark) := match (iSelected,iKnVars,m,inIEqns,iCache,env,iMark,markarr,iRepl,iReplEvaluate)
328327 local
329328 Integer i,mark;
330329 list< Integer > rest;
@@ -334,6 +333,40 @@ algorithm
334333 Env . Cache cache;
335334 case ({},_,_,_,_,_,_,_,_,_) then (iKnVars,iCache,iRepl,iReplEvaluate,iMark);
336335 case (i::rest,_,_,_,_,_,_,_,_,_)
336+ equation
337+ (knVars,cache,repl,repleval,mark) = evaluateSelectedParameters0(i,iKnVars,m,inIEqns,iCache,env,iMark,markarr,iRepl,iReplEvaluate);
338+ (knVars,cache,repl,repleval,mark) = evaluateSelectedParameters(rest,knVars,m,inIEqns,cache,env,mark,markarr,repl,repleval);
339+ then (knVars,cache,repl,repleval,mark);
340+ end match;
341+ end evaluateSelectedParameters;
342+
343+ protected function evaluateSelectedParameters0
344+ "author Frenkel TUD"
345+ input Integer i;
346+ input BackendDAE . Variables iKnVars;
347+ input BackendDAE . IncidenceMatrix m;
348+ input BackendDAE . EquationArray inIEqns;
349+ input Env . Cache iCache;
350+ input Env . Env env;
351+ input Integer iMark;
352+ input array< Integer > markarr;
353+ input BackendVarTransform . VariableReplacements iRepl;
354+ input BackendVarTransform . VariableReplacements iReplEvaluate;
355+ output BackendDAE . Variables oKnVars;
356+ output Env . Cache oCache;
357+ output BackendVarTransform . VariableReplacements oRepl;
358+ output BackendVarTransform . VariableReplacements oReplEvaluate;
359+ output Integer oMark;
360+ algorithm
361+ (oKnVars,oCache,oRepl,oReplEvaluate,oMark) := matchcontinue(i,iKnVars,m,inIEqns,iCache,env,iMark,markarr,iRepl,iReplEvaluate)
362+ local
363+ Integer mark;
364+ list< Integer > rest;
365+ BackendDAE . Variables knVars;
366+ BackendVarTransform . VariableReplacements repl,repleval;
367+ BackendDAE . Var v;
368+ Env . Cache cache;
369+ case (_,_,_,_,_,_,_,_,_,_)
337370 equation
338371 false = intGt(markarr[i],0 ) "not allready evaluated" ;
339372 _ = arrayUpdate(markarr,i,iMark);
@@ -343,19 +376,16 @@ algorithm
343376 v = BackendVariable . getVarAt(knVars,i);
344377 (v,knVars,cache,repl,mark) = evaluateFixedAttribute(v,true ,knVars,m,inIEqns,cache,env,mark,markarr,repl);
345378 (knVars,cache,repl,repleval) = evaluateSelectedParameter(v,i,knVars,inIEqns,repl,iReplEvaluate,cache,env);
346- (knVars,cache,repl,repleval,mark) = evaluateSelectedParameters(rest,knVars,m,inIEqns,cache,env,mark,markarr,repl,repleval);
347379 then
348380 (knVars,cache,repl,repleval,mark);
349- case (i::rest ,_,_,_,_,_,_,_,_,_)
381+ case (_ ,_,_,_,_,_,_,_,_,_)
350382 equation
351383 // evaluate parameter
352384 v = BackendVariable . getVarAt(iKnVars,i);
353385 (knVars,cache,repl,repleval) = evaluateSelectedParameter(v,i,iKnVars,inIEqns,iRepl,iReplEvaluate,iCache,env);
354- (knVars,cache,repl,repleval,mark) = evaluateSelectedParameters(rest,knVars,m,inIEqns,cache,env,iMark,markarr,repl,repleval);
355- then
356- (knVars,cache,repl,repleval,mark);
386+ then (knVars,cache,repl,repleval,iMark);
357387 end matchcontinue;
358- end evaluateSelectedParameters ;
388+ end evaluateSelectedParameters0 ;
359389
360390protected function evaluateSelectedParameters1
361391"author Frenkel TUD"
0 commit comments