gravatar
kpeter (Peter Kovacs)
kpeter@inf.elte.hu
Exploit that the standard maps are reference maps (#190)
0 9 0
default
9 files changed with 345 insertions and 345 deletions:
↑ Collapse diff ↑
Ignore white space 6 line context
... ...
@@ -455,3 +455,3 @@
455 455
      for(NodeIt n(_g);n!=INVALID;++n) {
456
        _excess->set(n, (*_delta)[n]);
456
        (*_excess)[n] = (*_delta)[n];
457 457
      }
... ...
@@ -460,4 +460,4 @@
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
      }
... ...
@@ -484,3 +484,3 @@
484 484
      for(NodeIt n(_g);n!=INVALID;++n) {
485
        _excess->set(n, (*_delta)[n]);
485
        (*_excess)[n] = (*_delta)[n];
486 486
      }
... ...
@@ -490,8 +490,8 @@
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 {
... ...
@@ -499,4 +499,4 @@
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
        }
... ...
@@ -539,6 +539,6 @@
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);
... ...
@@ -548,3 +548,3 @@
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]))
... ...
@@ -563,6 +563,6 @@
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);
... ...
@@ -572,3 +572,3 @@
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]))
... ...
@@ -581,3 +581,3 @@
581 581

	
582
        _excess->set(act, exc);
582
        (*_excess)[act] = exc;
583 583
        if(!_tol.positive(exc)) _level->deactivate(act);
Ignore white space 6 line context
... ...
@@ -1317,3 +1317,3 @@
1317 1317
      for(NodeIt n(_g);n!=INVALID;++n) {
1318
        _head.set(n, INVALID);
1318
        _head[n] = INVALID;
1319 1319
      }
... ...
@@ -1324,4 +1324,4 @@
1324 1324
      Node t = _g.target(arc);
1325
      _left.set(arc, INVALID);
1326
      _right.set(arc, INVALID);
1325
      _left[arc] = INVALID;
1326
      _right[arc] = INVALID;
1327 1327

	
... ...
@@ -1329,4 +1329,4 @@
1329 1329
      if (e == INVALID) {
1330
        _head.set(s, arc);
1331
        _parent.set(arc, INVALID);
1330
        _head[s] = arc;
1331
        _parent[arc] = INVALID;
1332 1332
        return;
... ...
@@ -1336,4 +1336,4 @@
1336 1336
          if (_left[e] == INVALID) {
1337
            _left.set(e, arc);
1338
            _parent.set(arc, e);
1337
            _left[e] = arc;
1338
            _parent[arc] = e;
1339 1339
            splay(arc);
... ...
@@ -1345,4 +1345,4 @@
1345 1345
          if (_right[e] == INVALID) {
1346
            _right.set(e, arc);
1347
            _parent.set(arc, e);
1346
            _right[e] = arc;
1347
            _parent[arc] = e;
1348 1348
            splay(arc);
... ...
@@ -1359,3 +1359,3 @@
1359 1359
        if (_right[arc] != INVALID) {
1360
          _parent.set(_right[arc], _parent[arc]);
1360
          _parent[_right[arc]] = _parent[arc];
1361 1361
        }
... ...
@@ -1363,19 +1363,19 @@
1363 1363
          if (_left[_parent[arc]] == arc) {
1364
            _left.set(_parent[arc], _right[arc]);
1364
            _left[_parent[arc]] = _right[arc];
1365 1365
          } else {
1366
            _right.set(_parent[arc], _right[arc]);
1366
            _right[_parent[arc]] = _right[arc];
1367 1367
          }
1368 1368
        } else {
1369
          _head.set(_g.source(arc), _right[arc]);
1369
          _head[_g.source(arc)] = _right[arc];
1370 1370
        }
1371 1371
      } else if (_right[arc] == INVALID) {
1372
        _parent.set(_left[arc], _parent[arc]);
1372
        _parent[_left[arc]] = _parent[arc];
1373 1373
        if (_parent[arc] != INVALID) {
1374 1374
          if (_left[_parent[arc]] == arc) {
1375
            _left.set(_parent[arc], _left[arc]);
1375
            _left[_parent[arc]] = _left[arc];
1376 1376
          } else {
1377
            _right.set(_parent[arc], _left[arc]);
1377
            _right[_parent[arc]] = _left[arc];
1378 1378
          }
1379 1379
        } else {
1380
          _head.set(_g.source(arc), _left[arc]);
1380
          _head[_g.source(arc)] = _left[arc];
1381 1381
        }
... ...
@@ -1389,18 +1389,18 @@
1389 1389
          Arc s = _parent[e];
1390
          _right.set(_parent[e], _left[e]);
1390
          _right[_parent[e]] = _left[e];
1391 1391
          if (_left[e] != INVALID) {
1392
            _parent.set(_left[e], _parent[e]);
1392
            _parent[_left[e]] = _parent[e];
1393 1393
          }
1394 1394

	
1395
          _left.set(e, _left[arc]);
1396
          _parent.set(_left[arc], e);
1397
          _right.set(e, _right[arc]);
1398
          _parent.set(_right[arc], e);
1395
          _left[e] = _left[arc];
1396
          _parent[_left[arc]] = e;
1397
          _right[e] = _right[arc];
1398
          _parent[_right[arc]] = e;
1399 1399

	
1400
          _parent.set(e, _parent[arc]);
1400
          _parent[e] = _parent[arc];
1401 1401
          if (_parent[arc] != INVALID) {
1402 1402
            if (_left[_parent[arc]] == arc) {
1403
              _left.set(_parent[arc], e);
1403
              _left[_parent[arc]] = e;
1404 1404
            } else {
1405
              _right.set(_parent[arc], e);
1405
              _right[_parent[arc]] = e;
1406 1406
            }
... ...
@@ -1409,5 +1409,5 @@
1409 1409
        } else {
1410
          _right.set(e, _right[arc]);
1411
          _parent.set(_right[arc], e);
1412
          _parent.set(e, _parent[arc]);
1410
          _right[e] = _right[arc];
1411
          _parent[_right[arc]] = e;
1412
          _parent[e] = _parent[arc];
1413 1413

	
... ...
@@ -1415,8 +1415,8 @@
1415 1415
            if (_left[_parent[arc]] == arc) {
1416
              _left.set(_parent[arc], e);
1416
              _left[_parent[arc]] = e;
1417 1417
            } else {
1418
              _right.set(_parent[arc], e);
1418
              _right[_parent[arc]] = e;
1419 1419
            }
1420 1420
          } else {
1421
            _head.set(_g.source(arc), e);
1421
            _head[_g.source(arc)] = e;
1422 1422
          }
... ...
@@ -1432,6 +1432,6 @@
1432 1432
        Arc left = refreshRec(v,a,m-1);
1433
        _left.set(me, left);
1434
        _parent.set(left, me);
1433
        _left[me] = left;
1434
        _parent[left] = me;
1435 1435
      } else {
1436
        _left.set(me, INVALID);
1436
        _left[me] = INVALID;
1437 1437
      }
... ...
@@ -1439,6 +1439,6 @@
1439 1439
        Arc right = refreshRec(v,m+1,b);
1440
        _right.set(me, right);
1441
        _parent.set(right, me);
1440
        _right[me] = right;
1441
        _parent[right] = me;
1442 1442
      } else {
1443
        _right.set(me, INVALID);
1443
        _right[me] = INVALID;
1444 1444
      }
... ...
@@ -1454,6 +1454,6 @@
1454 1454
          Arc head = refreshRec(v,0,v.size()-1);
1455
          _head.set(n, head);
1456
          _parent.set(head, INVALID);
1455
          _head[n] = head;
1456
          _parent[head] = INVALID;
1457 1457
        }
1458
        else _head.set(n, INVALID);
1458
        else _head[n] = INVALID;
1459 1459
      }
... ...
@@ -1463,11 +1463,11 @@
1463 1463
      Arc w = _parent[v];
1464
      _parent.set(v, _parent[w]);
1465
      _parent.set(w, v);
1466
      _left.set(w, _right[v]);
1467
      _right.set(v, w);
1464
      _parent[v] = _parent[w];
1465
      _parent[w] = v;
1466
      _left[w] = _right[v];
1467
      _right[v] = w;
1468 1468
      if (_parent[v] != INVALID) {
1469 1469
        if (_right[_parent[v]] == w) {
1470
          _right.set(_parent[v], v);
1470
          _right[_parent[v]] = v;
1471 1471
        } else {
1472
          _left.set(_parent[v], v);
1472
          _left[_parent[v]] = v;
1473 1473
        }
... ...
@@ -1475,3 +1475,3 @@
1475 1475
      if (_left[w] != INVALID){
1476
        _parent.set(_left[w], w);
1476
        _parent[_left[w]] = w;
1477 1477
      }
... ...
@@ -1481,11 +1481,11 @@
1481 1481
      Arc w = _parent[v];
1482
      _parent.set(v, _parent[w]);
1483
      _parent.set(w, v);
1484
      _right.set(w, _left[v]);
1485
      _left.set(v, w);
1482
      _parent[v] = _parent[w];
1483
      _parent[w] = v;
1484
      _right[w] = _left[v];
1485
      _left[v] = w;
1486 1486
      if (_parent[v] != INVALID){
1487 1487
        if (_left[_parent[v]] == w) {
1488
          _left.set(_parent[v], v);
1488
          _left[_parent[v]] = v;
1489 1489
        } else {
1490
          _right.set(_parent[v], v);
1490
          _right[_parent[v]] = v;
1491 1491
        }
... ...
@@ -1493,3 +1493,3 @@
1493 1493
      if (_right[w] != INVALID){
1494
        _parent.set(_right[w], w);
1494
        _parent[_right[w]] = w;
1495 1495
      }
Ignore white space 6 line context
... ...
@@ -78,3 +78,3 @@
78 78
    {
79
      _where.set(*p=i,p);
79
      _where[*p=i] = p;
80 80
    }
... ...
@@ -86,3 +86,3 @@
86 86
          *p=i;
87
          _where.set(i,p);
87
          _where[i] = p;
88 88
        }
... ...
@@ -93,4 +93,4 @@
93 93
      Vit ct = _where[ti];
94
      _where.set(ti,_where[*i=*j]);
95
      _where.set(*j,ct);
94
      _where[ti] = _where[*i=*j];
95
      _where[*j] = ct;
96 96
      *j=ti;
... ...
@@ -228,3 +228,3 @@
228 228
      Item it = *_last_active[_highest_active];
229
      _level.set(it,_level[it]+1);
229
      ++_level[it];
230 230
      swap(_last_active[_highest_active]--,_last_active[_highest_active+1]);
... ...
@@ -251,3 +251,3 @@
251 251
      copy(li,_first[new_level]);
252
      _level.set(li,new_level);
252
      _level[li] = new_level;
253 253
      _highest_active=new_level;
... ...
@@ -271,3 +271,3 @@
271 271
      --_last_active[_max_level];
272
      _level.set(li,_max_level);
272
      _level[li] = _max_level;
273 273

	
... ...
@@ -301,3 +301,3 @@
301 301
      Item it =*_last_active[level];
302
      _level.set(it,_level[it]+1);
302
      ++_level[it];
303 303
      swap(_last_active[level]--, --_first[level+1]);
... ...
@@ -321,3 +321,3 @@
321 321
      copy(ai,_first[new_level]);
322
      _level.set(ai,new_level);
322
      _level[ai] = new_level;
323 323
      if (new_level>_highest_active) _highest_active=new_level;
... ...
@@ -341,3 +341,3 @@
341 341
      --_last_active[_max_level];
342
      _level.set(ai,_max_level);
342
      _level[ai] = _max_level;
343 343

	
... ...
@@ -372,3 +372,3 @@
372 372
      copy(i,_first[new_level]);
373
      _level.set(i,new_level);
373
      _level[i] = new_level;
374 374
      if(new_level>_highest_active) _highest_active=new_level;
... ...
@@ -384,3 +384,3 @@
384 384
    void dirtyTopButOne(Item i) {
385
      _level.set(i,_max_level - 1);
385
      _level[i] = _max_level - 1;
386 386
    }
... ...
@@ -396,3 +396,3 @@
396 396
      for(Vit i=f;i!=tl;++i)
397
        _level.set(*i,_max_level);
397
        _level[*i] = _max_level;
398 398
      for(int i=l;i<=_max_level;i++)
... ...
@@ -435,4 +435,4 @@
435 435
          *n=i;
436
          _where.set(i,n);
437
          _level.set(i,_max_level);
436
          _where[i] = n;
437
          _level[i] = _max_level;
438 438
          ++n;
... ...
@@ -445,3 +445,3 @@
445 445
      swap(_where[i],_init_num);
446
      _level.set(i,_init_lev);
446
      _level[i] = _init_lev;
447 447
      ++_init_num;
... ...
@@ -553,3 +553,3 @@
553 553
    void activate(Item i) {
554
      _active.set(i, true);
554
      _active[i] = true;
555 555

	
... ...
@@ -562,5 +562,5 @@
562 562
      //unlace
563
      _next.set(_prev[i], _next[i]);
563
      _next[_prev[i]] = _next[i];
564 564
      if (_next[i] != INVALID) {
565
        _prev.set(_next[i], _prev[i]);
565
        _prev[_next[i]] = _prev[i];
566 566
      } else {
... ...
@@ -569,5 +569,5 @@
569 569
      //lace
570
      _next.set(i, _first[level]);
571
      _prev.set(_first[level], i);
572
      _prev.set(i, INVALID);
570
      _next[i] = _first[level];
571
      _prev[_first[level]] = i;
572
      _prev[i] = INVALID;
573 573
      _first[level] = i;
... ...
@@ -581,3 +581,3 @@
581 581
    void deactivate(Item i) {
582
      _active.set(i, false);
582
      _active[i] = false;
583 583
      int level = _level[i];
... ...
@@ -588,5 +588,5 @@
588 588
      //unlace
589
      _prev.set(_next[i], _prev[i]);
589
      _prev[_next[i]] = _prev[i];
590 590
      if (_prev[i] != INVALID) {
591
        _next.set(_prev[i], _next[i]);
591
        _next[_prev[i]] = _next[i];
592 592
      } else {
... ...
@@ -595,5 +595,5 @@
595 595
      //lace
596
      _prev.set(i, _last[level]);
597
      _next.set(_last[level], i);
598
      _next.set(i, INVALID);
596
      _prev[i] = _last[level];
597
      _next[_last[level]] = i;
598
      _next[i] = INVALID;
599 599
      _last[level] = i;
... ...
@@ -687,3 +687,3 @@
687 687
      if (_next[i] != INVALID) {
688
        _prev.set(_next[i], INVALID);
688
        _prev[_next[i]] = INVALID;
689 689
        _first[_highest_active] = _next[i];
... ...
@@ -693,3 +693,3 @@
693 693
      }
694
      _level.set(i, ++_highest_active);
694
      _level[i] = ++_highest_active;
695 695
      if (_first[_highest_active] == INVALID) {
... ...
@@ -697,7 +697,7 @@
697 697
        _last[_highest_active] = i;
698
        _prev.set(i, INVALID);
699
        _next.set(i, INVALID);
698
        _prev[i] = INVALID;
699
        _next[i] = INVALID;
700 700
      } else {
701
        _prev.set(_first[_highest_active], i);
702
        _next.set(i, _first[_highest_active]);
701
        _prev[_first[_highest_active]] = i;
702
        _next[i] = _first[_highest_active];
703 703
        _first[_highest_active] = i;
... ...
@@ -716,3 +716,3 @@
716 716
      if (_next[i] != INVALID) {
717
        _prev.set(_next[i], INVALID);
717
        _prev[_next[i]] = INVALID;
718 718
        _first[_highest_active] = _next[i];
... ...
@@ -722,10 +722,10 @@
722 722
      }
723
      _level.set(i, _highest_active = new_level);
723
      _level[i] = _highest_active = new_level;
724 724
      if (_first[_highest_active] == INVALID) {
725 725
        _first[_highest_active] = _last[_highest_active] = i;
726
        _prev.set(i, INVALID);
727
        _next.set(i, INVALID);
726
        _prev[i] = INVALID;
727
        _next[i] = INVALID;
728 728
      } else {
729
        _prev.set(_first[_highest_active], i);
730
        _next.set(i, _first[_highest_active]);
729
        _prev[_first[_highest_active]] = i;
730
        _next[i] = _first[_highest_active];
731 731
        _first[_highest_active] = i;
... ...
@@ -740,5 +740,5 @@
740 740
      Item i = _first[_highest_active];
741
      _level.set(i, _max_level);
741
      _level[i] = _max_level;
742 742
      if (_next[i] != INVALID) {
743
        _prev.set(_next[i], INVALID);
743
        _prev[_next[i]] = INVALID;
744 744
        _first[_highest_active] = _next[i];
... ...
@@ -776,3 +776,3 @@
776 776
      if (_next[i] != INVALID) {
777
        _prev.set(_next[i], INVALID);
777
        _prev[_next[i]] = INVALID;
778 778
        _first[l] = _next[i];
... ...
@@ -782,10 +782,10 @@
782 782
      }
783
      _level.set(i, ++l);
783
      _level[i] = ++l;
784 784
      if (_first[l] == INVALID) {
785 785
        _first[l] = _last[l] = i;
786
        _prev.set(i, INVALID);
787
        _next.set(i, INVALID);
786
        _prev[i] = INVALID;
787
        _next[i] = INVALID;
788 788
      } else {
789
        _prev.set(_first[l], i);
790
        _next.set(i, _first[l]);
789
        _prev[_first[l]] = i;
790
        _next[i] = _first[l];
791 791
        _first[l] = i;
... ...
@@ -805,3 +805,3 @@
805 805
      if (_next[i] != INVALID) {
806
        _prev.set(_next[i], INVALID);
806
        _prev[_next[i]] = INVALID;
807 807
        _first[l] = _next[i];
... ...
@@ -811,10 +811,10 @@
811 811
      }
812
      _level.set(i, l = new_level);
812
      _level[i] = l = new_level;
813 813
      if (_first[l] == INVALID) {
814 814
        _first[l] = _last[l] = i;
815
        _prev.set(i, INVALID);
816
        _next.set(i, INVALID);
815
        _prev[i] = INVALID;
816
        _next[i] = INVALID;
817 817
      } else {
818
        _prev.set(_first[l], i);
819
        _next.set(i, _first[l]);
818
        _prev[_first[l]] = i;
819
        _next[i] = _first[l];
820 820
        _first[l] = i;
... ...
@@ -834,3 +834,3 @@
834 834
      if (_next[i] != INVALID) {
835
        _prev.set(_next[i], INVALID);
835
        _prev[_next[i]] = INVALID;
836 836
        _first[l] = _next[i];
... ...
@@ -840,3 +840,3 @@
840 840
      }
841
      _level.set(i, _max_level);
841
      _level[i] = _max_level;
842 842
      if (l == _highest_active) {
... ...
@@ -858,3 +858,3 @@
858 858
      if (_next[i] != INVALID) {
859
        _prev.set(_next[i], _prev[i]);
859
        _prev[_next[i]] = _prev[i];
860 860
      } else {
... ...
@@ -863,3 +863,3 @@
863 863
      if (_prev[i] != INVALID) {
864
        _next.set(_prev[i], _next[i]);
864
        _next[_prev[i]] = _next[i];
865 865
      } else {
... ...
@@ -867,10 +867,10 @@
867 867
      }
868
      _level.set(i, new_level);
868
      _level[i] = new_level;
869 869
      if (_first[new_level] == INVALID) {
870 870
        _first[new_level] = _last[new_level] = i;
871
        _prev.set(i, INVALID);
872
        _next.set(i, INVALID);
871
        _prev[i] = INVALID;
872
        _next[i] = INVALID;
873 873
      } else {
874
        _prev.set(_first[new_level], i);
875
        _next.set(i, _first[new_level]);
874
        _prev[_first[new_level]] = i;
875
        _next[i] = _first[new_level];
876 876
        _first[new_level] = i;
... ...
@@ -890,3 +890,3 @@
890 890
    void dirtyTopButOne(Item i) {
891
      _level.set(i, _max_level - 1);
891
      _level[i] = _max_level - 1;
892 892
    }
... ...
@@ -901,3 +901,3 @@
901 901
        while (n != INVALID) {
902
          _level.set(n, _max_level);
902
          _level[n] = _max_level;
903 903
          n = _next[n];
... ...
@@ -939,4 +939,4 @@
939 939
          i != INVALID; ++i) {
940
        _level.set(i, _max_level);
941
        _active.set(i, false);
940
        _level[i] = _max_level;
941
        _active[i] = false;
942 942
      }
... ...
@@ -946,3 +946,3 @@
946 946
    void initAddItem(Item i) {
947
      _level.set(i, _init_level);
947
      _level[i] = _init_level;
948 948
      if (_last[_init_level] == INVALID) {
... ...
@@ -950,8 +950,8 @@
950 950
        _last[_init_level] = i;
951
        _prev.set(i, INVALID);
952
        _next.set(i, INVALID);
951
        _prev[i] = INVALID;
952
        _next[i] = INVALID;
953 953
      } else {
954
        _prev.set(i, _last[_init_level]);
955
        _next.set(i, INVALID);
956
        _next.set(_last[_init_level], i);
954
        _prev[i] = _last[_init_level];
955
        _next[i] = INVALID;
956
        _next[_last[_init_level]] = i;
957 957
        _last[_init_level] = i;
Ignore white space 6 line context
... ...
@@ -145,7 +145,7 @@
145 145
      for (NodeIt n(_graph); n != INVALID; ++n) {
146
	_pred->set(n, _root);
147
	_order->set(n, -1);
146
        (*_pred)[n] = _root;
147
        (*_order)[n] = -1;
148 148
      }
149
      _pred->set(_root, INVALID);
150
      _weight->set(_root, std::numeric_limits<Value>::max()); 
149
      (*_pred)[_root] = INVALID;
150
      (*_weight)[_root] = std::numeric_limits<Value>::max(); 
151 151
    }
... ...
@@ -166,3 +166,3 @@
166 166

	
167
	_weight->set(n, fa.flowValue());
167
	(*_weight)[n] = fa.flowValue();
168 168

	
... ...
@@ -170,3 +170,3 @@
170 170
	  if (nn != n && fa.minCut(nn) && (*_pred)[nn] == pn) {
171
	    _pred->set(nn, n);
171
	    (*_pred)[nn] = n;
172 172
	  }
... ...
@@ -174,6 +174,6 @@
174 174
	if ((*_pred)[pn] != INVALID && fa.minCut((*_pred)[pn])) {
175
	  _pred->set(n, (*_pred)[pn]);
176
	  _pred->set(pn, n);
177
	  _weight->set(n, (*_weight)[pn]);
178
	  _weight->set(pn, fa.flowValue());	
175
	  (*_pred)[n] = (*_pred)[pn];
176
	  (*_pred)[pn] = n;
177
	  (*_weight)[n] = (*_weight)[pn];
178
	  (*_weight)[pn] = fa.flowValue();
179 179
	}
... ...
@@ -181,3 +181,3 @@
181 181

	
182
      _order->set(_root, 0);
182
      (*_order)[_root] = 0;
183 183
      int index = 1;
... ...
@@ -192,3 +192,3 @@
192 192
	while (!st.empty()) {
193
	  _order->set(st.back(), index++);
193
	  (*_order)[st.back()] = index++;
194 194
	  st.pop_back();
... ...
@@ -311,5 +311,5 @@
311 311
      typename Graph::template NodeMap<bool> reached(_graph, false);
312
      reached.set(_root, true);
312
      reached[_root] = true;
313 313
      cutMap.set(_root, !s_root);
314
      reached.set(rn, true);
314
      reached[rn] = true;
315 315
      cutMap.set(rn, s_root);
Ignore white space 6 line context
... ...
@@ -163,3 +163,3 @@
163 163
    void activate(const Node& i) {
164
      _active->set(i, true);
164
      (*_active)[i] = true;
165 165

	
... ...
@@ -169,5 +169,5 @@
169 169
      //unlace
170
      _next->set((*_prev)[i], (*_next)[i]);
170
      (*_next)[(*_prev)[i]] = (*_next)[i];
171 171
      if ((*_next)[i] != INVALID) {
172
        _prev->set((*_next)[i], (*_prev)[i]);
172
        (*_prev)[(*_next)[i]] = (*_prev)[i];
173 173
      } else {
... ...
@@ -176,5 +176,5 @@
176 176
      //lace
177
      _next->set(i, _first[bucket]);
178
      _prev->set(_first[bucket], i);
179
      _prev->set(i, INVALID);
177
      (*_next)[i] = _first[bucket];
178
      (*_prev)[_first[bucket]] = i;
179
      (*_prev)[i] = INVALID;
180 180
      _first[bucket] = i;
... ...
@@ -183,3 +183,3 @@
183 183
    void deactivate(const Node& i) {
184
      _active->set(i, false);
184
      (*_active)[i] = false;
185 185
      int bucket = (*_bucket)[i];
... ...
@@ -189,5 +189,5 @@
189 189
      //unlace
190
      _prev->set((*_next)[i], (*_prev)[i]);
190
      (*_prev)[(*_next)[i]] = (*_prev)[i];
191 191
      if ((*_prev)[i] != INVALID) {
192
        _next->set((*_prev)[i], (*_next)[i]);
192
        (*_next)[(*_prev)[i]] = (*_next)[i];
193 193
      } else {
... ...
@@ -196,5 +196,5 @@
196 196
      //lace
197
      _prev->set(i, _last[bucket]);
198
      _next->set(_last[bucket], i);
199
      _next->set(i, INVALID);
197
      (*_prev)[i] = _last[bucket];
198
      (*_next)[_last[bucket]] = i;
199
      (*_next)[i] = INVALID;
200 200
      _last[bucket] = i;
... ...
@@ -205,10 +205,10 @@
205 205
      if (_last[bucket] != INVALID) {
206
        _prev->set(i, _last[bucket]);
207
        _next->set(_last[bucket], i);
208
        _next->set(i, INVALID);
206
        (*_prev)[i] = _last[bucket];
207
        (*_next)[_last[bucket]] = i;
208
        (*_next)[i] = INVALID;
209 209
        _last[bucket] = i;
210 210
      } else {
211
        _prev->set(i, INVALID);
211
        (*_prev)[i] = INVALID;
212 212
        _first[bucket] = i;
213
        _next->set(i, INVALID);
213
        (*_next)[i] = INVALID;
214 214
        _last[bucket] = i;
... ...
@@ -220,3 +220,3 @@
220 220
      for (NodeIt n(_graph); n != INVALID; ++n) {
221
        _excess->set(n, 0);
221
        (*_excess)[n] = 0;
222 222
      }
... ...
@@ -224,3 +224,3 @@
224 224
      for (ArcIt a(_graph); a != INVALID; ++a) {
225
        _flow->set(a, 0);
225
        (*_flow)[a] = 0;
226 226
      }
... ...
@@ -234,3 +234,3 @@
234 234

	
235
        reached.set(_source, true);
235
        reached[_source] = true;
236 236
        bool first_set = true;
... ...
@@ -242,3 +242,3 @@
242 242
          queue[qlast++] = t;
243
          reached.set(t, true);
243
          reached[t] = true;
244 244

	
... ...
@@ -259,3 +259,3 @@
259 259
              if (!reached[u] && _tolerance.positive((*_capacity)[a])) {
260
                reached.set(u, true);
260
                reached[u] = true;
261 261
                queue[qlast++] = u;
... ...
@@ -268,6 +268,6 @@
268 268
        ++bucket_num;
269
        _bucket->set(_source, 0);
269
        (*_bucket)[_source] = 0;
270 270
        _dormant[0] = true;
271 271
      }
272
      _source_set->set(_source, true);
272
      (*_source_set)[_source] = true;
273 273

	
... ...
@@ -278,4 +278,4 @@
278 278
            Node u = _graph.target(a);
279
            _flow->set(a, (*_capacity)[a]);
280
            _excess->set(u, (*_excess)[u] + (*_capacity)[a]);
279
            (*_flow)[a] = (*_capacity)[a];
280
            (*_excess)[u] += (*_capacity)[a];
281 281
            if (!(*_active)[u] && u != _source) {
... ...
@@ -320,4 +320,4 @@
320 320
              if (!_tolerance.less(rem, excess)) {
321
                _flow->set(a, (*_flow)[a] + excess);
322
                _excess->set(v, (*_excess)[v] + excess);
321
                (*_flow)[a] += excess;
322
                (*_excess)[v] += excess;
323 323
                excess = 0;
... ...
@@ -326,4 +326,4 @@
326 326
                excess -= rem;
327
                _excess->set(v, (*_excess)[v] + rem);
328
                _flow->set(a, (*_capacity)[a]);
327
                (*_excess)[v] += rem;
328
                (*_flow)[a] = (*_capacity)[a];
329 329
              }
... ...
@@ -344,4 +344,4 @@
344 344
              if (!_tolerance.less(rem, excess)) {
345
                _flow->set(a, (*_flow)[a] - excess);
346
                _excess->set(v, (*_excess)[v] + excess);
345
                (*_flow)[a] -= excess;
346
                (*_excess)[v] += excess;
347 347
                excess = 0;
... ...
@@ -350,4 +350,4 @@
350 350
                excess -= rem;
351
                _excess->set(v, (*_excess)[v] + rem);
352
                _flow->set(a, 0);
351
                (*_excess)[v] += rem;
352
                (*_flow)[a] = 0;
353 353
              }
... ...
@@ -360,3 +360,3 @@
360 360

	
361
          _excess->set(n, excess);
361
          (*_excess)[n] = excess;
362 362

	
... ...
@@ -378,3 +378,3 @@
378 378
              _first[(*_bucket)[n]] = (*_next)[n];
379
              _prev->set((*_next)[n], INVALID);
379
              (*_prev)[(*_next)[n]] = INVALID;
380 380

	
... ...
@@ -384,6 +384,6 @@
384 384
              new_set->push_front(bucket_num);
385
              _bucket->set(n, bucket_num);
385
              (*_bucket)[n] = bucket_num;
386 386
              _first[bucket_num] = _last[bucket_num] = n;
387
              _next->set(n, INVALID);
388
              _prev->set(n, INVALID);
387
              (*_next)[n] = INVALID;
388
              (*_prev)[n] = INVALID;
389 389
              _dormant[bucket_num] = true;
... ...
@@ -397,3 +397,3 @@
397 397
              _first[*_highest] = (*_next)[n];
398
              _prev->set((*_next)[n], INVALID);
398
              (*_prev)[(*_next)[n]] = INVALID;
399 399

	
... ...
@@ -411,6 +411,6 @@
411 411

	
412
              _bucket->set(n, *_highest);
413
              _next->set(n, _first[*_highest]);
412
              (*_bucket)[n] = *_highest;
413
              (*_next)[n] = _first[*_highest];
414 414
              if (_first[*_highest] != INVALID) {
415
                _prev->set(_first[*_highest], n);
415
                (*_prev)[_first[*_highest]] = n;
416 416
              } else {
... ...
@@ -436,3 +436,3 @@
436 436
          for (NodeIt i(_graph); i != INVALID; ++i) {
437
            _min_cut_map->set(i, true);
437
            (*_min_cut_map)[i] = true;
438 438
          }
... ...
@@ -442,3 +442,3 @@
442 442
            while (n != INVALID) {
443
              _min_cut_map->set(n, false);
443
              (*_min_cut_map)[n] = false;
444 444
              n = (*_next)[n];
... ...
@@ -455,3 +455,3 @@
455 455
            } else {
456
              _prev->set((*_next)[target], (*_prev)[target]);
456
              (*_prev)[(*_next)[target]] = (*_prev)[target];
457 457
              new_target = (*_next)[target];
... ...
@@ -461,3 +461,3 @@
461 461
            } else {
462
              _next->set((*_prev)[target], (*_next)[target]);
462
              (*_next)[(*_prev)[target]] = (*_next)[target];
463 463
            }
... ...
@@ -477,5 +477,5 @@
477 477

	
478
          _bucket->set(target, 0);
478
          (*_bucket)[target] = 0;
479 479

	
480
          _source_set->set(target, true);
480
          (*_source_set)[target] = true;
481 481
          for (OutArcIt a(_graph, target); a != INVALID; ++a) {
... ...
@@ -487,4 +487,4 @@
487 487
            }
488
            _excess->set(v, (*_excess)[v] + rem);
489
            _flow->set(a, (*_capacity)[a]);
488
            (*_excess)[v] += rem;
489
            (*_flow)[a] = (*_capacity)[a];
490 490
          }
... ...
@@ -498,4 +498,4 @@
498 498
            }
499
            _excess->set(v, (*_excess)[v] + rem);
500
            _flow->set(a, 0);
499
            (*_excess)[v] += rem;
500
            (*_flow)[a] = 0;
501 501
          }
... ...
@@ -519,3 +519,3 @@
519 519
      for (NodeIt n(_graph); n != INVALID; ++n) {
520
        _excess->set(n, 0);
520
        (*_excess)[n] = 0;
521 521
      }
... ...
@@ -523,3 +523,3 @@
523 523
      for (ArcIt a(_graph); a != INVALID; ++a) {
524
        _flow->set(a, 0);
524
        (*_flow)[a] = 0;
525 525
      }
... ...
@@ -533,3 +533,3 @@
533 533

	
534
        reached.set(_source, true);
534
        reached[_source] = true;
535 535

	
... ...
@@ -542,3 +542,3 @@
542 542
          queue[qlast++] = t;
543
          reached.set(t, true);
543
          reached[t] = true;
544 544

	
... ...
@@ -559,3 +559,3 @@
559 559
              if (!reached[u] && _tolerance.positive((*_capacity)[a])) {
560
                reached.set(u, true);
560
                reached[u] = true;
561 561
                queue[qlast++] = u;
... ...
@@ -568,6 +568,6 @@
568 568
        ++bucket_num;
569
        _bucket->set(_source, 0);
569
        (*_bucket)[_source] = 0;
570 570
        _dormant[0] = true;
571 571
      }
572
      _source_set->set(_source, true);
572
      (*_source_set)[_source] = true;
573 573

	
... ...
@@ -578,4 +578,4 @@
578 578
            Node u = _graph.source(a);
579
            _flow->set(a, (*_capacity)[a]);
580
            _excess->set(u, (*_excess)[u] + (*_capacity)[a]);
579
            (*_flow)[a] = (*_capacity)[a];
580
            (*_excess)[u] += (*_capacity)[a];
581 581
            if (!(*_active)[u] && u != _source) {
... ...
@@ -620,4 +620,4 @@
620 620
              if (!_tolerance.less(rem, excess)) {
621
                _flow->set(a, (*_flow)[a] + excess);
622
                _excess->set(v, (*_excess)[v] + excess);
621
                (*_flow)[a] += excess;
622
                (*_excess)[v] += excess;
623 623
                excess = 0;
... ...
@@ -626,4 +626,4 @@
626 626
                excess -= rem;
627
                _excess->set(v, (*_excess)[v] + rem);
628
                _flow->set(a, (*_capacity)[a]);
627
                (*_excess)[v] += rem;
628
                (*_flow)[a] = (*_capacity)[a];
629 629
              }
... ...
@@ -644,4 +644,4 @@
644 644
              if (!_tolerance.less(rem, excess)) {
645
                _flow->set(a, (*_flow)[a] - excess);
646
                _excess->set(v, (*_excess)[v] + excess);
645
                (*_flow)[a] -= excess;
646
                (*_excess)[v] += excess;
647 647
                excess = 0;
... ...
@@ -650,4 +650,4 @@
650 650
                excess -= rem;
651
                _excess->set(v, (*_excess)[v] + rem);
652
                _flow->set(a, 0);
651
                (*_excess)[v] += rem;
652
                (*_flow)[a] = 0;
653 653
              }
... ...
@@ -660,3 +660,3 @@
660 660

	
661
          _excess->set(n, excess);
661
          (*_excess)[n] = excess;
662 662

	
... ...
@@ -678,3 +678,3 @@
678 678
              _first[(*_bucket)[n]] = (*_next)[n];
679
              _prev->set((*_next)[n], INVALID);
679
              (*_prev)[(*_next)[n]] = INVALID;
680 680

	
... ...
@@ -684,6 +684,6 @@
684 684
              new_set->push_front(bucket_num);
685
              _bucket->set(n, bucket_num);
685
              (*_bucket)[n] = bucket_num;
686 686
              _first[bucket_num] = _last[bucket_num] = n;
687
              _next->set(n, INVALID);
688
              _prev->set(n, INVALID);
687
              (*_next)[n] = INVALID;
688
              (*_prev)[n] = INVALID;
689 689
              _dormant[bucket_num] = true;
... ...
@@ -697,3 +697,3 @@
697 697
              _first[*_highest] = (*_next)[n];
698
              _prev->set((*_next)[n], INVALID);
698
              (*_prev)[(*_next)[n]] = INVALID;
699 699

	
... ...
@@ -710,6 +710,6 @@
710 710

	
711
              _bucket->set(n, *_highest);
712
              _next->set(n, _first[*_highest]);
711
              (*_bucket)[n] = *_highest;
712
              (*_next)[n] = _first[*_highest];
713 713
              if (_first[*_highest] != INVALID) {
714
                _prev->set(_first[*_highest], n);
714
                (*_prev)[_first[*_highest]] = n;
715 715
              } else {
... ...
@@ -735,3 +735,3 @@
735 735
          for (NodeIt i(_graph); i != INVALID; ++i) {
736
            _min_cut_map->set(i, false);
736
            (*_min_cut_map)[i] = false;
737 737
          }
... ...
@@ -741,3 +741,3 @@
741 741
            while (n != INVALID) {
742
              _min_cut_map->set(n, true);
742
              (*_min_cut_map)[n] = true;
743 743
              n = (*_next)[n];
... ...
@@ -754,3 +754,3 @@
754 754
            } else {
755
              _prev->set((*_next)[target], (*_prev)[target]);
755
              (*_prev)[(*_next)[target]] = (*_prev)[target];
756 756
              new_target = (*_next)[target];
... ...
@@ -760,3 +760,3 @@
760 760
            } else {
761
              _next->set((*_prev)[target], (*_next)[target]);
761
              (*_next)[(*_prev)[target]] = (*_next)[target];
762 762
            }
... ...
@@ -776,5 +776,5 @@
776 776

	
777
          _bucket->set(target, 0);
777
          (*_bucket)[target] = 0;
778 778

	
779
          _source_set->set(target, true);
779
          (*_source_set)[target] = true;
780 780
          for (InArcIt a(_graph, target); a != INVALID; ++a) {
... ...
@@ -786,4 +786,4 @@
786 786
            }
787
            _excess->set(v, (*_excess)[v] + rem);
788
            _flow->set(a, (*_capacity)[a]);
787
            (*_excess)[v] += rem;
788
            (*_flow)[a] = (*_capacity)[a];
789 789
          }
... ...
@@ -797,4 +797,4 @@
797 797
            }
798
            _excess->set(v, (*_excess)[v] + rem);
799
            _flow->set(a, 0);
798
            (*_excess)[v] += rem;
799
            (*_flow)[a] = 0;
800 800
          }
Ignore white space 6 line context
... ...
@@ -284,3 +284,3 @@
284 284
        while (base != nca) {
285
          _ear->set(node, arc);
285
          (*_ear)[node] = arc;
286 286

	
... ...
@@ -291,3 +291,3 @@
291 291
            n = _graph.target(a);
292
            _ear->set(n, _graph.oppositeArc(a));
292
            (*_ear)[n] = _graph.oppositeArc(a);
293 293
          }
... ...
@@ -297,3 +297,3 @@
297 297
          _blossom_set->insert(node, _blossom_set->find(base));
298
          _status->set(node, EVEN);
298
          (*_status)[node] = EVEN;
299 299
          _node_queue[_last++] = node;
... ...
@@ -306,3 +306,3 @@
306 306

	
307
      _blossom_rep->set(_blossom_set->find(nca), nca);
307
      (*_blossom_rep)[_blossom_set->find(nca)] = nca;
308 308

	
... ...
@@ -315,3 +315,3 @@
315 315
        while (base != nca) {
316
          _ear->set(node, arc);
316
          (*_ear)[node] = arc;
317 317

	
... ...
@@ -322,3 +322,3 @@
322 322
            n = _graph.target(a);
323
            _ear->set(n, _graph.oppositeArc(a));
323
            (*_ear)[n] = _graph.oppositeArc(a);
324 324
          }
... ...
@@ -328,3 +328,3 @@
328 328
          _blossom_set->insert(node, _blossom_set->find(base));
329
          _status->set(node, EVEN);
329
          (*_status)[node] = EVEN;
330 330
          _node_queue[_last++] = node;
... ...
@@ -337,3 +337,3 @@
337 337

	
338
      _blossom_rep->set(_blossom_set->find(nca), nca);
338
      (*_blossom_rep)[_blossom_set->find(nca)] = nca;
339 339
    }
... ...
@@ -346,7 +346,7 @@
346 346

	
347
      _ear->set(odd, _graph.oppositeArc(a));
347
      (*_ear)[odd] = _graph.oppositeArc(a);
348 348
      Node even = _graph.target((*_matching)[odd]);
349
      _blossom_rep->set(_blossom_set->insert(even), even);
350
      _status->set(odd, ODD);
351
      _status->set(even, EVEN);
349
      (*_blossom_rep)[_blossom_set->insert(even)] = even;
350
      (*_status)[odd] = ODD;
351
      (*_status)[even] = EVEN;
352 352
      int tree = _tree_set->find((*_blossom_rep)[_blossom_set->find(base)]);
... ...
@@ -364,7 +364,7 @@
364 364

	
365
      _matching->set(odd, _graph.oppositeArc(a));
366
      _status->set(odd, MATCHED);
365
      (*_matching)[odd] = _graph.oppositeArc(a);
366
      (*_status)[odd] = MATCHED;
367 367

	
368 368
      Arc arc = (*_matching)[even];
369
      _matching->set(even, a);
369
      (*_matching)[even] = a;
370 370

	
... ...
@@ -374,5 +374,5 @@
374 374
        even = _graph.target(arc);
375
        _matching->set(odd, arc);
375
        (*_matching)[odd] = arc;
376 376
        arc = (*_matching)[even];
377
        _matching->set(even, _graph.oppositeArc((*_matching)[odd]));
377
        (*_matching)[even] = _graph.oppositeArc((*_matching)[odd]);
378 378
      }
... ...
@@ -382,3 +382,3 @@
382 382
        if ((*_status)[it] == ODD) {
383
          _status->set(it, MATCHED);
383
          (*_status)[it] = MATCHED;
384 384
        } else {
... ...
@@ -387,3 +387,3 @@
387 387
               jt != INVALID; ++jt) {
388
            _status->set(jt, MATCHED);
388
            (*_status)[jt] = MATCHED;
389 389
          }
... ...
@@ -429,4 +429,4 @@
429 429
      for(NodeIt n(_graph); n != INVALID; ++n) {
430
        _matching->set(n, INVALID);
431
        _status->set(n, UNMATCHED);
430
        (*_matching)[n] = INVALID;
431
        (*_status)[n] = UNMATCHED;
432 432
      }
... ...
@@ -440,4 +440,4 @@
440 440
      for (NodeIt n(_graph); n != INVALID; ++n) {
441
        _matching->set(n, INVALID);
442
        _status->set(n, UNMATCHED);
441
        (*_matching)[n] = INVALID;
442
        (*_status)[n] = UNMATCHED;
443 443
      }
... ...
@@ -448,6 +448,6 @@
448 448
            if ((*_matching)[v] == INVALID && v != n) {
449
              _matching->set(n, a);
450
              _status->set(n, MATCHED);
451
              _matching->set(v, _graph.oppositeArc(a));
452
              _status->set(v, MATCHED);
449
              (*_matching)[n] = a;
450
              (*_status)[n] = MATCHED;
451
              (*_matching)[v] = _graph.oppositeArc(a);
452
              (*_status)[v] = MATCHED;
453 453
              break;
... ...
@@ -471,4 +471,4 @@
471 471
      for (NodeIt n(_graph); n != INVALID; ++n) {
472
        _matching->set(n, INVALID);
473
        _status->set(n, UNMATCHED);
472
        (*_matching)[n] = INVALID;
473
        (*_status)[n] = UNMATCHED;
474 474
      }
... ...
@@ -479,4 +479,4 @@
479 479
          if ((*_matching)[u] != INVALID) return false;
480
          _matching->set(u, _graph.direct(e, true));
481
          _status->set(u, MATCHED);
480
          (*_matching)[u] = _graph.direct(e, true);
481
          (*_status)[u] = MATCHED;
482 482

	
... ...
@@ -484,4 +484,4 @@
484 484
          if ((*_matching)[v] != INVALID) return false;
485
          _matching->set(v, _graph.direct(e, false));
486
          _status->set(v, MATCHED);
485
          (*_matching)[v] = _graph.direct(e, false);
486
          (*_status)[v] = MATCHED;
487 487
        }
... ...
@@ -499,3 +499,3 @@
499 499
          _tree_set->insert(n);
500
          _status->set(n, EVEN);
500
          (*_status)[n] = EVEN;
501 501
          processSparse(n);
... ...
@@ -514,3 +514,3 @@
514 514
          _tree_set->insert(n);
515
          _status->set(n, EVEN);
515
          (*_status)[n] = EVEN;
516 516
          processDense(n);
... ...
@@ -1550,5 +1550,5 @@
1550 1550

	
1551
        _matching->set(base, matching);
1551
        (*_matching)[base] = matching;
1552 1552
        _blossom_node_list.push_back(base);
1553
        _node_potential->set(base, pot);
1553
        (*_node_potential)[base] = pot;
1554 1554
      } else {
... ...
@@ -1646,13 +1646,13 @@
1646 1646
      for (ArcIt e(_graph); e != INVALID; ++e) {
1647
        _node_heap_index->set(e, BinHeap<Value, IntArcMap>::PRE_HEAP);
1647
        (*_node_heap_index)[e] = BinHeap<Value, IntArcMap>::PRE_HEAP;
1648 1648
      }
1649 1649
      for (NodeIt n(_graph); n != INVALID; ++n) {
1650
        _delta1_index->set(n, _delta1->PRE_HEAP);
1650
        (*_delta1_index)[n] = _delta1->PRE_HEAP;
1651 1651
      }
1652 1652
      for (EdgeIt e(_graph); e != INVALID; ++e) {
1653
        _delta3_index->set(e, _delta3->PRE_HEAP);
1653
        (*_delta3_index)[e] = _delta3->PRE_HEAP;
1654 1654
      }
1655 1655
      for (int i = 0; i < _blossom_num; ++i) {
1656
        _delta2_index->set(i, _delta2->PRE_HEAP);
1657
        _delta4_index->set(i, _delta4->PRE_HEAP);
1656
        (*_delta2_index)[i] = _delta2->PRE_HEAP;
1657
        (*_delta4_index)[i] = _delta4->PRE_HEAP;
1658 1658
      }
... ...
@@ -1668,3 +1668,3 @@
1668 1668
        }
1669
        _node_index->set(n, index);
1669
        (*_node_index)[n] = index;
1670 1670
        (*_node_data)[index].pot = max;
... ...
@@ -2743,5 +2743,5 @@
2743 2743

	
2744
        _matching->set(base, matching);
2744
        (*_matching)[base] = matching;
2745 2745
        _blossom_node_list.push_back(base);
2746
        _node_potential->set(base, pot);
2746
        (*_node_potential)[base] = pot;
2747 2747
      } else {
... ...
@@ -2833,10 +2833,10 @@
2833 2833
      for (ArcIt e(_graph); e != INVALID; ++e) {
2834
        _node_heap_index->set(e, BinHeap<Value, IntArcMap>::PRE_HEAP);
2834
        (*_node_heap_index)[e] = BinHeap<Value, IntArcMap>::PRE_HEAP;
2835 2835
      }
2836 2836
      for (EdgeIt e(_graph); e != INVALID; ++e) {
2837
        _delta3_index->set(e, _delta3->PRE_HEAP);
2837
        (*_delta3_index)[e] = _delta3->PRE_HEAP;
2838 2838
      }
2839 2839
      for (int i = 0; i < _blossom_num; ++i) {
2840
        _delta2_index->set(i, _delta2->PRE_HEAP);
2841
        _delta4_index->set(i, _delta4->PRE_HEAP);
2840
        (*_delta2_index)[i] = _delta2->PRE_HEAP;
2841
        (*_delta4_index)[i] = _delta4->PRE_HEAP;
2842 2842
      }
... ...
@@ -2852,3 +2852,3 @@
2852 2852
        }
2853
        _node_index->set(n, index);
2853
        (*_node_index)[n] = index;
2854 2854
        (*_node_data)[index].pot = max;
Ignore white space 6 line context
... ...
@@ -295,3 +295,3 @@
295 295
      }
296
      _arc_order->set(minimum.arc, _dual_variables.size());
296
      (*_arc_order)[minimum.arc] = _dual_variables.size();
297 297
      DualVariable var(_dual_node_list.size() - 1,
... ...
@@ -337,3 +337,3 @@
337 337
      }
338
      _arc_order->set(minimum.arc, _dual_variables.size());
338
      (*_arc_order)[minimum.arc] = _dual_variables.size();
339 339
      DualVariable var(node_bottom, _dual_node_list.size(), minimum.value);
... ...
@@ -366,3 +366,3 @@
366 366
        _heap->pop();
367
        _node_order->set(source, -1);
367
        (*_node_order)[source] = -1;
368 368
        for (OutArcIt it(*_digraph, source); it != INVALID; ++it) {
... ...
@@ -652,4 +652,4 @@
652 652
        (*_cost_arcs)[it].arc = INVALID;
653
        _node_order->set(it, -3);
654
        _heap_cross_ref->set(it, Heap::PRE_HEAP);
653
        (*_node_order)[it] = -3;
654
        (*_heap_cross_ref)[it] = Heap::PRE_HEAP;
655 655
        _pred->set(it, INVALID);
... ...
@@ -658,3 +658,3 @@
658 658
        _arborescence->set(it, false);
659
        _arc_order->set(it, -1);
659
        (*_arc_order)[it] = -1;
660 660
      }
Show white space 6 line context
... ...
@@ -406,3 +406,3 @@
406 406
      for (NodeIt n(_graph); n != INVALID; ++n) {
407
        _excess->set(n, 0);
407
        (*_excess)[n] = 0;
408 408
      }
... ...
@@ -419,6 +419,6 @@
419 419
      std::vector<Node> queue;
420
      reached.set(_source, true);
420
      reached[_source] = true;
421 421

	
422 422
      queue.push_back(_target);
423
      reached.set(_target, true);
423
      reached[_target] = true;
424 424
      while (!queue.empty()) {
... ...
@@ -431,3 +431,3 @@
431 431
            if (!reached[u] && _tolerance.positive((*_capacity)[e])) {
432
              reached.set(u, true);
432
              reached[u] = true;
433 433
              _level->initAddItem(u);
... ...
@@ -446,3 +446,3 @@
446 446
          _flow->set(e, (*_capacity)[e]);
447
          _excess->set(u, (*_excess)[u] + (*_capacity)[e]);
447
          (*_excess)[u] += (*_capacity)[e];
448 448
          if (u != _target && !_level->active(u)) {
... ...
@@ -480,3 +480,3 @@
480 480
        if (excess < 0 && n != _source) return false;
481
        _excess->set(n, excess);
481
        (*_excess)[n] = excess;
482 482
      }
... ...
@@ -489,6 +489,6 @@
489 489
      std::vector<Node> queue;
490
      reached.set(_source, true);
490
      reached[_source] = true;
491 491

	
492 492
      queue.push_back(_target);
493
      reached.set(_target, true);
493
      reached[_target] = true;
494 494
      while (!queue.empty()) {
... ...
@@ -502,3 +502,3 @@
502 502
                _tolerance.positive((*_capacity)[e] - (*_flow)[e])) {
503
              reached.set(u, true);
503
              reached[u] = true;
504 504
              _level->initAddItem(u);
... ...
@@ -510,3 +510,3 @@
510 510
            if (!reached[v] && _tolerance.positive((*_flow)[e])) {
511
              reached.set(v, true);
511
              reached[v] = true;
512 512
              _level->initAddItem(v);
... ...
@@ -526,3 +526,3 @@
526 526
          _flow->set(e, (*_capacity)[e]);
527
          _excess->set(u, (*_excess)[u] + rem);
527
          (*_excess)[u] += rem;
528 528
          if (u != _target && !_level->active(u)) {
... ...
@@ -538,3 +538,3 @@
538 538
          _flow->set(e, 0);
539
          _excess->set(v, (*_excess)[v] + rem);
539
          (*_excess)[v] += rem;
540 540
          if (v != _target && !_level->active(v)) {
... ...
@@ -579,3 +579,3 @@
579 579
                _flow->set(e, (*_flow)[e] + excess);
580
                _excess->set(v, (*_excess)[v] + excess);
580
                (*_excess)[v] += excess;
581 581
                excess = 0;
... ...
@@ -584,3 +584,3 @@
584 584
                excess -= rem;
585
                _excess->set(v, (*_excess)[v] + rem);
585
                (*_excess)[v] += rem;
586 586
                _flow->set(e, (*_capacity)[e]);
... ...
@@ -602,3 +602,3 @@
602 602
                _flow->set(e, (*_flow)[e] - excess);
603
                _excess->set(v, (*_excess)[v] + excess);
603
                (*_excess)[v] += excess;
604 604
                excess = 0;
... ...
@@ -607,3 +607,3 @@
607 607
                excess -= rem;
608
                _excess->set(v, (*_excess)[v] + rem);
608
                (*_excess)[v] += rem;
609 609
                _flow->set(e, 0);
... ...
@@ -617,3 +617,3 @@
617 617

	
618
          _excess->set(n, excess);
618
          (*_excess)[n] = excess;
619 619

	
... ...
@@ -652,3 +652,3 @@
652 652
                _flow->set(e, (*_flow)[e] + excess);
653
                _excess->set(v, (*_excess)[v] + excess);
653
                (*_excess)[v] += excess;
654 654
                excess = 0;
... ...
@@ -657,3 +657,3 @@
657 657
                excess -= rem;
658
                _excess->set(v, (*_excess)[v] + rem);
658
                (*_excess)[v] += rem;
659 659
                _flow->set(e, (*_capacity)[e]);
... ...
@@ -675,3 +675,3 @@
675 675
                _flow->set(e, (*_flow)[e] - excess);
676
                _excess->set(v, (*_excess)[v] + excess);
676
                (*_excess)[v] += excess;
677 677
                excess = 0;
... ...
@@ -680,3 +680,3 @@
680 680
                excess -= rem;
681
                _excess->set(v, (*_excess)[v] + rem);
681
                (*_excess)[v] += rem;
682 682
                _flow->set(e, 0);
... ...
@@ -690,3 +690,3 @@
690 690

	
691
          _excess->set(n, excess);
691
          (*_excess)[n] = excess;
692 692

	
... ...
@@ -733,3 +733,3 @@
733 733
      for (NodeIt n(_graph); n != INVALID; ++n) {
734
        reached.set(n, (*_level)[n] < _level->maxLevel());
734
        reached[n] = (*_level)[n] < _level->maxLevel();
735 735
      }
... ...
@@ -741,3 +741,3 @@
741 741
      queue.push_back(_source);
742
      reached.set(_source, true);
742
      reached[_source] = true;
743 743

	
... ...
@@ -751,3 +751,3 @@
751 751
            if (!reached[v] && _tolerance.positive((*_flow)[e])) {
752
              reached.set(v, true);
752
              reached[v] = true;
753 753
              _level->initAddItem(v);
... ...
@@ -760,3 +760,3 @@
760 760
                _tolerance.positive((*_capacity)[e] - (*_flow)[e])) {
761
              reached.set(u, true);
761
              reached[u] = true;
762 762
              _level->initAddItem(u);
... ...
@@ -794,3 +794,3 @@
794 794
              _flow->set(e, (*_flow)[e] + excess);
795
              _excess->set(v, (*_excess)[v] + excess);
795
              (*_excess)[v] += excess;
796 796
              excess = 0;
... ...
@@ -799,3 +799,3 @@
799 799
              excess -= rem;
800
              _excess->set(v, (*_excess)[v] + rem);
800
              (*_excess)[v] += rem;
801 801
              _flow->set(e, (*_capacity)[e]);
... ...
@@ -817,3 +817,3 @@
817 817
              _flow->set(e, (*_flow)[e] - excess);
818
              _excess->set(v, (*_excess)[v] + excess);
818
              (*_excess)[v] += excess;
819 819
              excess = 0;
... ...
@@ -822,3 +822,3 @@
822 822
              excess -= rem;
823
              _excess->set(v, (*_excess)[v] + rem);
823
              (*_excess)[v] += rem;
824 824
              _flow->set(e, 0);
... ...
@@ -832,3 +832,3 @@
832 832

	
833
        _excess->set(n, excess);
833
        (*_excess)[n] = excess;
834 834

	
Ignore white space 6 line context
... ...
@@ -101,12 +101,12 @@
101 101

	
102
  edge_cost_map.set(e1, -10);
103
  edge_cost_map.set(e2, -9);
104
  edge_cost_map.set(e3, -8);
105
  edge_cost_map.set(e4, -7);
106
  edge_cost_map.set(e5, -6);
107
  edge_cost_map.set(e6, -5);
108
  edge_cost_map.set(e7, -4);
109
  edge_cost_map.set(e8, -3);
110
  edge_cost_map.set(e9, -2);
111
  edge_cost_map.set(e10, -1);
102
  edge_cost_map[e1] = -10;
103
  edge_cost_map[e2] = -9;
104
  edge_cost_map[e3] = -8;
105
  edge_cost_map[e4] = -7;
106
  edge_cost_map[e5] = -6;
107
  edge_cost_map[e6] = -5;
108
  edge_cost_map[e7] = -4;
109
  edge_cost_map[e8] = -3;
110
  edge_cost_map[e9] = -2;
111
  edge_cost_map[e10] = -1;
112 112

	
0 comments (0 inline)