Opened 7 years ago

Closed 6 years ago

#11742 closed Bugs (fixed)

lengauer_tarjan_dominator_tree: doesn't respect indexMap parameter

Reported by: Justin Viiret <justin.viiret@…> Owned by: Jeremiah Willcock
Milestone: To Be Determined Component: graph
Version: Boost 1.59.0 Severity: Problem
Keywords: Cc:

Description

The more complex version of lengauer_tarjan_dominator_tree, as described in the BGL documentation, takes a parameter indexMap which is to be used as the index map of the graph.

However, if you look at the code for lengauer_tarjan_dominator_tree_without_dfs (which is called by the lengauer_tarjan_dominator_tree function), the indexMap argument is not used, and instead the dominator_visitor just uses get(vertex_index, g) explicitly when constructing its internal property maps.

This means that graphs that do not have a vertex_index property can't use the algorithm.

I believe the correct fix is to pass the provided index map into the dominator_visitor constructor, and use it when constructing the other maps held by the visitor.

Change History (2)

comment:1 by Justin Viiret <justin.viiret@…>, 7 years ago

I have created a pull request on github for boostorg/graph with a small patch that addresses this issue here:

https://github.com/boostorg/graph/pull/49.

comment:2 by Noel Belcourt, 6 years ago

Resolution: fixed
Status: newclosed

Just pushed your PR, thanks for the patch!

Note: See TracTickets for help on using tickets.