Skip to content

Commit 312252b

Browse files
author
Jens Frenkel
committed
- bugfix bootstrapping
- do not select discrete variables as tearing variables git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@14613 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
1 parent df21287 commit 312252b

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

Compiler/BackEnd/BackendDAEOptimize.mo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9042,7 +9042,7 @@ algorithm
90429042
points = List.fold2(states, calcVarWights,mt,ass2,points);
90439043
eqns = Matching.getUnassigned(arrayLength(m),ass2,{});
90449044
points = List.fold2(eqns,addEqnWights,m,ass1,points);
9045-
//points = List.fold1(states,discriminateDiscrete,vars,points);
9045+
points = List.fold1(states,discriminateDiscrete,vars,points);
90469046
//points = List.fold2(states,addOneEdgeEqnWights,(m,mt),ass1,points);
90479047
Debug.fcall(Flags.TEARING_DUMP, BackendDump.dumpMatching,points);
90489048
tvar = selectVarWithMostPoints(states,points,-1,-1);

Compiler/BackEnd/IndexReduction.mo

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2108,9 +2108,9 @@ algorithm
21082108
// try again and add also stateSelect.always vars.
21092109
nv = listLength(hov);
21102110
true = intGt(neqns,nv);
2111-
(varlst,dummyStates,isyst,ishared,iSetIndex) = processComps2New(nv,hov,neqns,eqnslst,ilst,inComps,isyst,ishared,vec2,inArg,hov,inDummyStates,iSetIndex);
2111+
(outDummyVars,dummyStates,syst,shared,setIndex) = processComps2New(nv,hov,neqns,eqnslst,ilst,inComps,isyst,ishared,vec2,inArg,hov,inDummyStates,iSetIndex);
21122112
then
2113-
(varlst,dummyStates,isyst,ishared,iSetIndex);
2113+
(outDummyVars,dummyStates,syst,shared,setIndex);
21142114
end matchcontinue;
21152115
end processComps2New;
21162116

@@ -2168,7 +2168,7 @@ algorithm
21682168
mT = BackendDAEUtil.transposeMatrix(m,inVarSize);
21692169
Debug.fcall(Flags.BLT_DUMP, BackendDump.printEqSystem, BackendDAE.EQSYSTEM(vars,eqns,SOME(m),SOME(mT),BackendDAE.NO_MATCHING(),{}));
21702170
// simplify the system
2171-
2171+
21722172
// do onefree matching
21732173
vec1 = arrayCreate(inEqnsSize,-1);
21742174
vec2 = arrayCreate(inVarSize,-1);

0 commit comments

Comments
 (0)