Changeset 76a03a4 in OpenModelica


Ignore:
Timestamp:
2012-11-18T22:40:57+01:00 (11 years ago)
Author:
Jens Frenkel <jens.frenkel@…>
Branches:
Added-citation-metadata, maintenance/v1.14, maintenance/v1.15, maintenance/v1.16, maintenance/v1.17, maintenance/v1.18, maintenance/v1.19, maintenance/v1.20, maintenance/v1.21, maintenance/v1.22, master, omlib-staging
Children:
6c5ab51
Parents:
29ff8d9f
Message:
  • test new remove simple equation implementation

git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@13952 f25d12d1-65f4-0310-ae8a-bbce733d8d8e

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Compiler/BackEnd/BackendDAEOptimize.mo

    rfbc30a8d r76a03a4  
    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.