[Boost-bugs] [Boost C++ Libraries] #7845: [BGL] Bug in isomorphism when the two graphs are of different types

Subject: [Boost-bugs] [Boost C++ Libraries] #7845: [BGL] Bug in isomorphism when the two graphs are of different types
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-01-04 00:47:48


#7845: [BGL] Bug in isomorphism when the two graphs are of different types
------------------------------+---------------------------------------------
 Reporter: tiago@… | Owner: jewillco
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: graph
  Version: Boost 1.52.0 | Severity: Problem
 Keywords: isomorphism, bgl |
------------------------------+---------------------------------------------
 The isomorphism implementation checks for the source and target (i, j) of
 the edge being considered in G2, where it clearly should be G1:

 {{{
         recur:
         if (iter != ordered_edges.end()) {
           i = source(*iter, G1);
           j = target(*iter, G2);
 }}}

 In the last line, G2 should be G1, otherwise it will not even compile if
 the graphs have different types of edge descriptors (not to mention it
 does not make any sense). Note that this is also wrong in the 'literate'
 documentation provided on the website.

 Furthermore the use of "num_vertices" when checking the size of both
 graphs makes it impossible to use with filtered graphs.

 I'm attaching a patch which fixes both these issues.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7845>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:11 UTC