Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Porting my old PR to the new repo
Fix for 1586.
merge_vertices
was also mutatingvs
, this is fixed.I also restricted the definition of the method from
AbstractGraph
toAbstractSimpleGraph
, because it assumes the vertices are aOneTo
range. Tell me if you think I should not change this method definition, but I think a more general method would be quite meaningless.I harmonized it a bit with the in-place method and did some little optimizations. It is possible to do a little bit better by updating
new_vertex_ids
only for vertices abovemerged_vertex
, should I do it, or is it ok like this? I hope I didn't break anything.This is my first PR and I have a few questions :
"$g" for g in testlargegraphs(g3)
run on different types, but don't rely ong
, so these are run multiple times. Should we move these to another static testset ? I added a new test to cover the issue, and put it with these tests, but I can modify that.complement
) are defined for the concrete typesGraph
andDiGraph
. Should these be implemented forAbstractSimpleGraph
(with eventually the TraitIsDirected
, as it is done inreverse
?AbstractSimpleGraphs
? Also, it seems that a lot of methods defined forAbstractGraph
use the assumption that vertices form a continuous range (for examplea_star
, if I'm not mistaking, as it uses vertices as indices of aVector
).