Changeset 628:aa1804409f29 in lemon for lemon/circulation.h
- Timestamp:
- 04/14/09 10:35:38 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/circulation.h
r606 r628 454 454 455 455 for(NodeIt n(_g);n!=INVALID;++n) { 456 _excess->set(n, (*_delta)[n]);456 (*_excess)[n] = (*_delta)[n]; 457 457 } 458 458 459 459 for (ArcIt e(_g);e!=INVALID;++e) { 460 460 _flow->set(e, (*_lo)[e]); 461 _excess->set(_g.target(e), (*_excess)[_g.target(e)] + (*_flow)[e]);462 _excess->set(_g.source(e), (*_excess)[_g.source(e)] - (*_flow)[e]);461 (*_excess)[_g.target(e)] += (*_flow)[e]; 462 (*_excess)[_g.source(e)] -= (*_flow)[e]; 463 463 } 464 464 … … 483 483 484 484 for(NodeIt n(_g);n!=INVALID;++n) { 485 _excess->set(n, (*_delta)[n]);485 (*_excess)[n] = (*_delta)[n]; 486 486 } 487 487 … … 489 489 if (!_tol.positive((*_excess)[_g.target(e)] + (*_up)[e])) { 490 490 _flow->set(e, (*_up)[e]); 491 _excess->set(_g.target(e), (*_excess)[_g.target(e)] + (*_up)[e]);492 _excess->set(_g.source(e), (*_excess)[_g.source(e)] - (*_up)[e]);491 (*_excess)[_g.target(e)] += (*_up)[e]; 492 (*_excess)[_g.source(e)] -= (*_up)[e]; 493 493 } else if (_tol.positive((*_excess)[_g.target(e)] + (*_lo)[e])) { 494 494 _flow->set(e, (*_lo)[e]); 495 _excess->set(_g.target(e), (*_excess)[_g.target(e)] + (*_lo)[e]);496 _excess->set(_g.source(e), (*_excess)[_g.source(e)] - (*_lo)[e]);495 (*_excess)[_g.target(e)] += (*_lo)[e]; 496 (*_excess)[_g.source(e)] -= (*_lo)[e]; 497 497 } else { 498 498 Value fc = -(*_excess)[_g.target(e)]; 499 499 _flow->set(e, fc); 500 _excess->set(_g.target(e), 0);501 _excess->set(_g.source(e), (*_excess)[_g.source(e)] - fc);500 (*_excess)[_g.target(e)] = 0; 501 (*_excess)[_g.source(e)] -= fc; 502 502 } 503 503 } … … 538 538 if(!_tol.less(fc, exc)) { 539 539 _flow->set(e, (*_flow)[e] + exc); 540 _excess->set(v, (*_excess)[v] + exc);540 (*_excess)[v] += exc; 541 541 if(!_level->active(v) && _tol.positive((*_excess)[v])) 542 542 _level->activate(v); 543 _excess->set(act,0);543 (*_excess)[act] = 0; 544 544 _level->deactivate(act); 545 545 goto next_l; … … 547 547 else { 548 548 _flow->set(e, (*_up)[e]); 549 _excess->set(v, (*_excess)[v] + fc);549 (*_excess)[v] += fc; 550 550 if(!_level->active(v) && _tol.positive((*_excess)[v])) 551 551 _level->activate(v); … … 562 562 if(!_tol.less(fc, exc)) { 563 563 _flow->set(e, (*_flow)[e] - exc); 564 _excess->set(v, (*_excess)[v] + exc);564 (*_excess)[v] += exc; 565 565 if(!_level->active(v) && _tol.positive((*_excess)[v])) 566 566 _level->activate(v); 567 _excess->set(act,0);567 (*_excess)[act] = 0; 568 568 _level->deactivate(act); 569 569 goto next_l; … … 571 571 else { 572 572 _flow->set(e, (*_lo)[e]); 573 _excess->set(v, (*_excess)[v] + fc);573 (*_excess)[v] += fc; 574 574 if(!_level->active(v) && _tol.positive((*_excess)[v])) 575 575 _level->activate(v); … … 580 580 } 581 581 582 _excess->set(act, exc);582 (*_excess)[act] = exc; 583 583 if(!_tol.positive(exc)) _level->deactivate(act); 584 584 else if(mlevel==_node_num) {
Note: See TracChangeset
for help on using the changeset viewer.