[][src]Module saboten::cactusgraph

Structs

BridgeForest

A bridge forest derived from a cactus graph. Holds a reference to the original biedged graph used to build the cactus graph, and tracks the vertex projections from the original graph.

CactusGraph

A cactus graph constructed from a biedged graph. The constructor clones the original graph to mutate, but also keeps a reference to original. This ensures the original can't be accidentally mutated while the CactusGraph exists, and makes it easy to access the untouched original graph. The mapping of vertices is tracked using the embedded Projection struct.

CactusTree

A cactus tree derived from a cactus graph. Like the CactusGraph struct, this clones the underlying graph before mutating it into a cactus tree, and keeps a reference both to the original biedged graph as well as the cactus graph. Because the cactus tree only adds chain vertices, and only removes edges, no vertices, there's no need to track vertex projections.

Traits

BiedgedWrapper

Convenience trait for providing a unified interface when accessing the underlying graph structure across the various graph types.

Functions

bridge_pair_ultrabubbles

Using the provided chain edge labels, returns a map from bridge pairs to their contained ultrabubbles. Runs in parallel.

chain_edges

Return the chain edges in the cactus tree as a map from pairs of net and chain vertices to chain pair snarls.

chain_pair_contained_ultrabubbles

Using the provided chain edge labels, returns a map from chain pairs to contained ultrabubbles. Each entry is an ultrabubble, if the entry has an empty vector, it doesn't contain any ultrabubbles.

chain_pair_ultrabubble_labels

Labels chain edges as ultrabubbles if their net graphs are acyclic and bridgeless, returning a map from chain edges to true/false.

find_ultrabubbles

Using the provided cactus tree and bridge forest for a biedged graph, find the ultrabubbles and their nesting in the graph. Runs in parallel.

inverse_map_ultrabubbles

Inverses the vertex projection of the provided ultrabubbles to the node ID space of the graph used to construct the original biedged graph.