diff -r 8ab1d3d7dea7 -r e67ec65747fa lemon/circulation.h --- a/lemon/circulation.h Tue Dec 11 17:42:49 2007 +0000 +++ b/lemon/circulation.h Wed Dec 12 13:35:55 2007 +0000 @@ -403,9 +403,6 @@ _excess->set(_g.source(e), (*_excess)[_g.source(e)] - (*_flow)[e]); } - typename Graph::template NodeMap reached(_g, false); - - // global relabeling tested, but in general case it provides // worse performance for random graphs _level->initStart(); @@ -436,8 +433,8 @@ _excess->set(_g.source(e), (*_excess)[_g.source(e)] - (*_up)[e]); } else if (_tol.positive((*_excess)[_g.target(e)] + (*_lo)[e])) { _flow->set(e, (*_lo)[e]); - _excess->set(_g.target(e), (*_excess)[_g.target(e)] + (*_up)[e]); - _excess->set(_g.source(e), (*_excess)[_g.source(e)] - (*_up)[e]); + _excess->set(_g.target(e), (*_excess)[_g.target(e)] + (*_lo)[e]); + _excess->set(_g.source(e), (*_excess)[_g.source(e)] - (*_lo)[e]); } else { Value fc = -(*_excess)[_g.target(e)]; _flow->set(e, fc); @@ -471,7 +468,7 @@ int actlevel=(*_level)[act]; int mlevel=_node_num; Value exc=(*_excess)[act]; - + for(OutEdgeIt e(_g,act);e!=INVALID; ++e) { Node v = _g.target(e); Value fc=(*_up)[e]-(*_flow)[e]; @@ -488,7 +485,7 @@ } else { _flow->set(e, (*_up)[e]); - _excess->set(v, (*_excess)[v] + exc); + _excess->set(v, (*_excess)[v] + fc); if(!_level->active(v) && _tol.positive((*_excess)[v])) _level->activate(v); exc-=fc;