diff -r a99186a9b6b0 -r 371cf309fc3c lemon/pr_bipartite_matching.h --- a/lemon/pr_bipartite_matching.h Wed Nov 14 17:42:48 2007 +0000 +++ b/lemon/pr_bipartite_matching.h Wed Nov 14 17:44:42 2007 +0000 @@ -179,7 +179,7 @@ } if(nlevel<_node_num) { if(nlevel>=actlevel) - _levels.liftHighestActiveTo(nlevel+1); + _levels.liftHighestActive(nlevel+1); bact=_g.bNode(_matching[_g.aNode(bedge)]); if(--_cov[bact]<1) { _levels.activate(bact); @@ -190,12 +190,10 @@ _levels.deactivate(act); } else { - if(_node_num>actlevel) - _levels.liftHighestActiveTo(_node_num); - _levels.deactivate(act); + _levels.liftHighestActiveToTop(); } - if(_levels.onLevel(actlevel)==0) + if(_levels.emptyLevel(actlevel)) _levels.liftToTop(actlevel); } @@ -246,7 +244,7 @@ } if(nlevel<_node_num) { if(nlevel>=actlevel) - _levels.liftHighestActiveTo(nlevel+1); + _levels.liftHighestActive(nlevel+1); bact=_g.bNode(_matching[_g.aNode(bedge)]); if(--_cov[bact]<1) { _levels.activate(bact); @@ -257,12 +255,10 @@ _levels.deactivate(act); } else { - if(_node_num>actlevel) - _levels.liftHighestActiveTo(_node_num); - _levels.deactivate(act); + _levels.liftHighestActiveToTop(); } - if(_levels.onLevel(actlevel)==0) + if(_levels.emptyLevel(actlevel)) _empty_level=actlevel; return false; }