COIN-OR::LEMON - Graph Library

Changeset 1195:4d07dd56fa9a in lemon-0.x


Ignore:
Timestamp:
03/05/05 00:12:10 (15 years ago)
Author:
Alpar Juttner
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1607
Message:

The source node is reported to be reaches but it has no previous node/edge.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/test/dijkstra_heap_test.cc

    r1194 r1195  
    120120    if ( dijkstra_test.reached(v) ) {
    121121      Edge e=dijkstra_test.pred(v);
    122       Node u=graph.source(e);
    123       if ( dijkstra_test.dist(v) - dijkstra_test.dist(u) != cap[e] ) {
    124         std::cout<<"Error in a shortest path tree edge! Difference: "
    125                  <<std::abs(dijkstra_test.dist(v) - dijkstra_test.dist(u)
    126                             - cap[e])<<std::endl;
    127         ++error2;
     122      if(e!=INVALID) {
     123        Node u=graph.source(e);
     124        if ( dijkstra_test.dist(v) - dijkstra_test.dist(u) != cap[e] ) {
     125          std::cout<<"Error in a shortest path tree edge! Difference: "
     126                   <<std::abs(dijkstra_test.dist(v) - dijkstra_test.dist(u)
     127                              - cap[e])<<std::endl;
     128          ++error2;
     129        }
    128130      }
    129131    }
    130132  }
    131 
     133 
    132134
    133135 
     
    169171    if ( dijkstra_test2.reached(v) ) {
    170172      Edge e=dijkstra_test2.pred(v);
    171       Node u=graph.source(e);
    172       if ( dijkstra_test2.dist(v) - dijkstra_test2.dist(u) != cap[e] ) {
    173         std::cout<<"Error in a shortest path tree edge! Difference: "
    174                  <<std::abs(dijkstra_test2.dist(v) - dijkstra_test2.dist(u)
    175                             - cap[e])<<std::endl;
    176         ++error2;
     173      if(e!=INVALID) {
     174        Node u=graph.source(e);
     175        if ( dijkstra_test2.dist(v) - dijkstra_test2.dist(u) != cap[e] ) {
     176          std::cout<<"Error in a shortest path tree edge! Difference: "
     177                   <<std::abs(dijkstra_test2.dist(v) - dijkstra_test2.dist(u)
     178                              - cap[e])<<std::endl;
     179          ++error2;
     180        }
    177181      }
    178182    }
    179183  }
    180 
     184 
    181185
    182186  std::cout << error1 << " non-tree and " << error2
     
    216220    if ( dijkstra_test3.reached(v) ) {
    217221      Edge e=dijkstra_test3.pred(v);
    218       Node u=graph.source(e);
    219       if ( dijkstra_test3.dist(v) - dijkstra_test3.dist(u) != cap[e] ) {
    220         std::cout<<"Error in a shortest path tree edge! Difference: "
    221                  <<std::abs(dijkstra_test3.dist(v) - dijkstra_test3.dist(u)
    222                             - cap[e])<<std::endl;
    223         ++error2;
     222      if(e!=INVALID) {
     223        Node u=graph.source(e);
     224        if ( dijkstra_test3.dist(v) - dijkstra_test3.dist(u) != cap[e] ) {
     225          std::cout<<"Error in a shortest path tree edge! Difference: "
     226                   <<std::abs(dijkstra_test3.dist(v) - dijkstra_test3.dist(u)
     227                              - cap[e])<<std::endl;
     228          ++error2;
     229        }
    224230      }
    225231    }
    226232  }
    227 
     233 
    228234
    229235  std::cout << error1 << " non-tree and " << error2
Note: See TracChangeset for help on using the changeset viewer.