COIN-OR::LEMON - Graph Library

Changeset 199:e3aba2c72be4 in lemon-1.2 for lemon


Ignore:
Timestamp:
07/10/08 16:03:23 (16 years ago)
Author:
Balazs Dezso <deba@…>
Branch:
default
Phase:
public
Message:

Bug fix in GraphCopy? (ticket #117)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/graph_utils.h

    r169 r199  
    603603        for (typename From::ArcIt it(from); it != INVALID; ++it) {
    604604          arcRefMap[it] = to.addArc(nodeRefMap[from.source(it)],
    605                                           nodeRefMap[from.target(it)]);
     605                                    nodeRefMap[from.target(it)]);
    606606        }
    607607      }
     
    629629        }
    630630        for (typename From::EdgeIt it(from); it != INVALID; ++it) {
    631           edgeRefMap[it] = to.addArc(nodeRefMap[from.source(it)],
    632                                        nodeRefMap[from.target(it)]);
     631          edgeRefMap[it] = to.addEdge(nodeRefMap[from.u(it)],
     632                                      nodeRefMap[from.v(it)]);
    633633        }
    634634      }
     
    926926
    927927      Value operator[](const Key& key) const {
    928         bool forward =
    929           (_from.direction(key) ==
    930            (_node_ref[_from.source(key)] == _to.source(_edge_ref[key])));
     928        bool forward = _from.u(key) != _from.v(key) ?
     929          _node_ref[_from.source(key)] ==
     930          _to.source(_to.direct(_edge_ref[key], true)) :
     931          _from.direction(key);
    931932        return _to.direct(_edge_ref[key], forward);
    932933      }
Note: See TracChangeset for help on using the changeset viewer.