Changeset 13952


Ignore:
Timestamp:
2012-11-18T22:40:57+01:00 (11 years ago)
Author:
jfrenkel
Message:
  • test new remove simple equation implementation
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Compiler/BackEnd/BackendDAEOptimize.mo

    r13942 r13952  
    435435      list<BackendDAE.Var> varlst;
    436436      DAE.ElementSource source;
    437     case (BackendDAE.EQUATION(exp=e1,scalar=e2,source=source),(syst,shared,repl,eqns,b))
     437/*    case (BackendDAE.EQUATION(exp=e1,scalar=e2,source=source),(syst,shared,repl,eqns,b))
    438438      equation
    439439        varlst = BackendEquation.equationVars(eqn,BackendVariable.daeVars(syst));
     
    442442        (syst,shared,repl,eqns) = replacementsInEqnsFast(eqnType,cr,i,exp,repl,syst,shared,eqn,eqns);
    443443      then ((syst,shared,repl,eqns,true));
    444 /*    case (BackendDAE.EQUATION(exp=e1,scalar=e2,source=source),_)
     444*/    case (BackendDAE.EQUATION(exp=e1,scalar=e2,source=source),_)
    445445      then simpleEquation(e1,e2,source,false,inTpl);
    446446    case (BackendDAE.ARRAY_EQUATION(left=e1,right=e2,source=source),_)
     
    454454    case (BackendDAE.COMPLEX_EQUATION(left=e1,right=e2,source=source),_)
    455455      then simpleEquation(e1,e2,source,false,inTpl);
    456 */    case (_,(syst,shared,repl,eqns,b))
     456    case (_,(syst,shared,repl,eqns,b))
    457457      then ((syst,shared,repl,eqn::eqns,b));
    458458   end matchcontinue;
     
    934934algorithm
    935935  (av,ia,v,i) := match(astate,vstate,vrepl,in_av,in_ia,in_v,in_i)
     936    local
     937      Integer s,sa;
    936938    // no state keep it like it is
    937939    case (false,_,_,_,_,_,_) then (in_av,in_ia,in_v,in_i);
    938940    // alias state, var no state and replaceable -> switch
    939941    case (true,false,true,_,_,_,_) then (in_v,in_i,in_av,in_ia);
    940     // alias state, var state keep it like it is
    941     case (true,true,_,_,_,_,_) then (in_av,in_ia,in_v,in_i);
     942    // alias state, var state -> check StateSelect
     943    case (true,true,_,_,_,_,_)
     944      equation
     945        sa = BackendVariable.varStateSelectPrioAlias(in_av);
     946        s = BackendVariable.varStateSelectPrioAlias(in_v);
     947        ((av,ia,v,i)) = Util.if_(intGt(sa,s),(in_v,in_i,in_av,in_ia),(in_av,in_ia,in_v,in_i));
     948      then
     949        (av,ia,v,i);
    942950    // alias state, var not replacable -> do not replace
    943951    case (true,_,false,_,_,_,_) then fail();
     
    10831091    case BackendDAE.VAR(varKind=kind)
    10841092      equation
     1093        false = BackendVariable.isStateorStateDerVar(var) "cr1 not state";
    10851094        BackendVariable.isVarKindVariable(kind) "cr1 not constant";
    10861095        false = BackendVariable.isVarOnTopLevelAndOutput(var);
Note: See TracChangeset for help on using the changeset viewer.