Skip to content

Commit

Permalink
- continued with remove functions from DAELow
Browse files Browse the repository at this point in the history
  • Loading branch information
Willi Braun committed Oct 26, 2010
1 parent 93806fb commit 6627e96
Show file tree
Hide file tree
Showing 5 changed files with 2,315 additions and 2,313 deletions.
2 changes: 1 addition & 1 deletion Compiler/BackendDAETransform.mo
Expand Up @@ -2688,7 +2688,7 @@ algorithm
case((DAE.CALL(Absyn.IDENT(name = "der"),{e1},tuple_ = false,builtin = true),(vars,funcs))) equation
e1 = Derive.differentiateExpTime(e1,(vars,funcs));
e1 = ExpressionSimplify.simplify(e1);
bt = BackendDAEUtil.statesExp(e1,BackendDAE.emptyBintree);
bt = statesExp(e1,BackendDAE.emptyBintree);
(newStates,_) = BackendDAEUtil.bintreeToList(bt);
vars = updateStatesVars(vars,newStates);
then ((e1,(vars,funcs)));
Expand Down
10 changes: 6 additions & 4 deletions Compiler/BackendDAEUtil.mo
Expand Up @@ -267,7 +267,7 @@ algorithm
BackendDAE.EventInfo ev;
case (BackendDAE.DAELOW(orderedVars = v,knownVars = kn,orderedEqs = e,removedEqs = re,initialEqs = ia,arrayEqs = ae,algorithms = al,eventInfo = ev))
equation
v_lst = BackendDAEUtil.varList(v);
v_lst = varList(v);
bt = statesDaelow2(v_lst, BackendDAE.emptyBintree);
then
bt;
Expand Down Expand Up @@ -295,7 +295,7 @@ algorithm
equation
BackendDAE.STATE() = BackendVariable.varKind(v);
cr = BackendVariable.varCref(v);
bt = treeAdd(bt, cr, 0);
bt = DAELow.treeAdd(bt, cr, 0);
bt = statesDaelow2(vs, bt);
then
bt;
Expand All @@ -304,7 +304,7 @@ algorithm
equation
BackendDAE.DUMMY_STATE() = BackendVariable.varKind(v);
cr = BackendVariable.varCref(v);
bt = treeAdd(bt, cr, 0);
bt = DAELow.treeAdd(bt, cr, 0);
bt = statesDaelow2(vs, bt);
then
bt;
Expand Down Expand Up @@ -874,7 +874,7 @@ algorithm
end matchcontinue;
end bintreeToListOpt;


/* NOT USED
protected function statesEqns "function: statesEqns
author: PA
Takes a list of equations and an (empty) BackendDAE.BinTree and
Expand Down Expand Up @@ -924,6 +924,8 @@ algorithm
fail();
end matchcontinue;
end statesEqns;
*/


public function statesAndVarsExp
"function: statesAndVarsExp
Expand Down
22 changes: 11 additions & 11 deletions Compiler/BackendVariable.mo
Expand Up @@ -1199,37 +1199,37 @@ algorithm
BackendDAE.Variables vars,knvars;
case (cr,vars,_)
equation
((BackendDAE.VAR(varKind = BackendDAE.VARIABLE()) :: _),_) = BackendVariable.getVar(cr, vars);
((BackendDAE.VAR(varKind = BackendDAE.VARIABLE()) :: _),_) = getVar(cr, vars);
then
();
case (cr,vars,_)
equation
((BackendDAE.VAR(varKind = BackendDAE.STATE()) :: _),_) = BackendVariable.getVar(cr, vars);
((BackendDAE.VAR(varKind = BackendDAE.STATE()) :: _),_) = getVar(cr, vars);
then
();
case (cr,vars,_)
equation
((BackendDAE.VAR(varKind = BackendDAE.DUMMY_STATE()) :: _),_) = BackendVariable.getVar(cr, vars);
((BackendDAE.VAR(varKind = BackendDAE.DUMMY_STATE()) :: _),_) = getVar(cr, vars);
then
();
case (cr,vars,_)
equation
((BackendDAE.VAR(varKind = BackendDAE.DUMMY_DER()) :: _),_) = BackendVariable.getVar(cr, vars);
((BackendDAE.VAR(varKind = BackendDAE.DUMMY_DER()) :: _),_) = getVar(cr, vars);
then
();
case (cr,_,knvars)
equation
((BackendDAE.VAR(varKind = BackendDAE.VARIABLE()) :: _),_) = BackendVariable.getVar(cr, knvars);
((BackendDAE.VAR(varKind = BackendDAE.VARIABLE()) :: _),_) = getVar(cr, knvars);
then
();
case (cr,_,knvars)
equation
((BackendDAE.VAR(varKind = BackendDAE.DUMMY_STATE()) :: _),_) = BackendVariable.getVar(cr, knvars);
((BackendDAE.VAR(varKind = BackendDAE.DUMMY_STATE()) :: _),_) = getVar(cr, knvars);
then
();
case (cr,_,knvars)
equation
((BackendDAE.VAR(varKind = BackendDAE.DUMMY_DER()) :: _),_) = BackendVariable.getVar(cr, knvars);
((BackendDAE.VAR(varKind = BackendDAE.DUMMY_DER()) :: _),_) = getVar(cr, knvars);
then
();
end matchcontinue;
Expand Down Expand Up @@ -1266,8 +1266,8 @@ algorithm
(lst1_1,lst2_1) = moveVariables2(lst1, lst2, mvars);
v1 = BackendDAEUtil.emptyVars();
v2 = BackendDAEUtil.emptyVars();
vars = BackendVariable.addVars(lst1_1, v1);
knvars = BackendVariable.addVars(lst2_1, v2);
vars = addVars(lst1_1, v1);
knvars = addVars(lst2_1, v2);
then
(vars,knvars);
end matchcontinue;
Expand Down Expand Up @@ -1297,13 +1297,13 @@ algorithm
case ({},knvars,_) then ({},knvars);
case (((v as BackendDAE.VAR(varName = cr)) :: vs),knvars,mvars)
equation
_ = treeGet(mvars, cr) "alg var moved to known vars" ;
_ = DAELow.treeGet(mvars, cr) "alg var moved to known vars" ;
(vs_1,knvars_1) = moveVariables2(vs, knvars, mvars);
then
(vs_1,(v :: knvars_1));
case (((v as BackendDAE.VAR(varName = cr)) :: vs),knvars,mvars)
equation
failure(_ = treeGet(mvars, cr)) "alg var not moved to known vars" ;
failure(_ = DAELow.treeGet(mvars, cr)) "alg var not moved to known vars" ;
(vs_1,knvars_1) = moveVariables2(vs, knvars, mvars);
then
((v :: vs_1),knvars_1);
Expand Down
4 changes: 2 additions & 2 deletions Compiler/DAELow.mo
Expand Up @@ -1510,7 +1510,7 @@ algorithm
/* NOTE: Here it could be possible to run removeSimpleEquations again, since algebraic equations
could potentially be removed after a index reduction has been done. However, removing equations here
also require that e.g. zero crossings, array equations, etc. must be recalculated. */
s = statesDaelow(dae);
s = BackendDAEUtil.statesDaelow(dae);
e_lst = BackendDAEUtil.equationList(e);
re_lst = BackendDAEUtil.equationList(re);
ie_lst = BackendDAEUtil.equationList(ie);
Expand Down Expand Up @@ -8886,7 +8886,7 @@ algorithm
se = generadeDivExpErrorMsg(e,e2,vars);
/* check if expression contains variables */
crlst = Expression.extractCrefsFromExp(e2);
boollst = Util.listMap1r(crlst,BackendVariables.isVarKnown,varlst);
boollst = Util.listMap1r(crlst,BackendVariable.isVarKnown,varlst);
bres = Util.boolOrList(boollst);
then (se,bres);
end matchcontinue;
Expand Down

0 comments on commit 6627e96

Please sign in to comment.