This repository has been archived by the owner on Oct 8, 2021. It is now read-only.
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.
Fix for 1586.
merge_vertices
was mutatingvs
, this is fixed.I also restricted the definition of the method from
AbstractGraph
toAbstractSimpleGraph
, because it assumes the vertices are a OneTo 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 types Graph and DiGraph. Should these be implemented for AbstractSimpleGraph (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
).