Closed saffronmciver closed 2 months ago
@saffronmciver is this ready for review?
@saffronmciver is this ready for review?
This is ready for review, thank you!
@mtorpey @james-d-mitchell Changes above should be in da26d4d71032d76aac0eee96a27cba4e5869288d. Thank you
I've just rebased this onto main which will hopefully fix the CI.
Closing and re-opening to trigger ci
Thanks @saffronmciver !
Initial implementation of ContractEdge (see Contract Edge Wikipedia Article; as discussed, this implementation should not create multiple edges). Mutable and Immutable methods exist for this.
Edge labels should be handled if
DigraphRemoveEdge
were removing them, but this has not been tested yet because of this issue.Contract edge takes a non looping edge
(u, v)
, and contracts this into a single vertexw
. The edge is removed, vertex labels are combined (in a list), and incident edges to(u, v)
become incident tow
.MultiDigraphs
are not accepted into this function. If an edge(v, u)
exists, this is also contracted (removed).Documentation has not been written yet (this is in progress).