cluster_linearize::DepGraph::DepGraph

Construct a DepGraph object given another DepGraph and a mapping from old to new.

Synopsis

Declared in <cluster_linearize.h>

DepGraph(
    DepGraph<SetType> const& depgraph,
    std::span<DepGraphIndex const> mapping,
    DepGraphIndex pos_range) noexcept;

Description

Complexity: O(N^2) where N=depgraph.TxCount().

Parameters

NameDescription
depgraphThe original DepGraph that is being remapped.
mappingA span such that mapping[i]gives the position in the new DepGraph for position i in the old depgraph. Its size must be equal to depgraph.PositionRange(). The value of mapping[i]is ignored if position i is a hole in depgraph (i.e., if !depgraph.Positions()[i]).
pos_rangeThe PositionRange() for the new DepGraph. It must equal the largest value in mapping for any used position in depgraph plus 1, or 0 if depgraph.TxCount() == 0.