phasic::SCCVertex
Single strongly connected component vertex.
Methods
| Name | Description |
|---|---|
| SCCVertex | Construct from C ptd_scc_vertex (non-owning reference) |
| size | Number of vertices in this SCC. |
| index | Index of this SCC in parent graph. |
| as_graph | Extract this SCC as a standalone Graph object. |
| internal_vertex_indices | Get indices of internal vertices in original graph. |
| hash | Compute content hash of this SCC subgraph. |
| outgoing_scc_edges | Get edges to other SCCs (outgoing edges) |
| as_synthetic_graph | Build a synthetic-wrapped graph for this SCC. |
| c_ptr | Access underlying C struct. |
| parent_scc_graph | Access the parent SCCGraph (non-owning). |
SCCVertex
phasic::SCCVertex::SCCVertex(struct ptd_scc_vertex *scc_vertex, const SCCGraph *parent)Construct from C ptd_scc_vertex (non-owning reference)
Parameters:
scc_vertex— C struct pointer (not owned)parent_scc_graph— Parent SCCGraph (for original graph access)
size
size_t phasic::SCCVertex::size() constNumber of vertices in this SCC.
index
size_t phasic::SCCVertex::index() constIndex of this SCC in parent graph.
as_graph
Graph phasic::SCCVertex::as_graph() constExtract this SCC as a standalone Graph object.
Creates a new graph containing only the vertices in this SCC. Preserves internal edges. External edges to other SCCs are excluded.
Returns: New graph representing this SCC
internal_vertex_indices
std::vector< size_t > phasic::SCCVertex::internal_vertex_indices() constGet indices of internal vertices in original graph.
Returns: Vector of vertex indices
hash
std::string phasic::SCCVertex::hash() constCompute content hash of this SCC subgraph.
Hashes the structure formed by internal vertices. Used for cache lookups.
Returns: Hex hash string (SHA-256)
outgoing_scc_edges
std::vector< size_t > phasic::SCCVertex::outgoing_scc_edges() constGet edges to other SCCs (outgoing edges)
Returns: Vector of target SCC indices
as_synthetic_graph
Graph phasic::SCCVertex::as_synthetic_graph(struct ptd_scc_synthetic_metadata **metadata_out) constBuild a synthetic-wrapped graph for this SCC.
Unlike as_graph(), the result includes a synthetic source vertex (index 0) and a synthetic absorbing vertex (last index) with placeholder edges, in the canonical 5-part vertex ordering. The resulting graph can be passed directly to ptd_graph_ex_absorbation_time_comp_graph_parameterized.
Internal edges (including aux-style edges with coefficients_length == 0) are copied verbatim. Synthetic source/absorbing edges use a single placeholder coefficient of value 1.0; the parent’s external coefficient values live in the metadata’s upstream_in_edges and downstream_out_edges fields, to be wired by the composer (WP-5).
Parameters:
metadata_out— Receives the C-level metadata struct. Caller owns; destroy via ptd_scc_synthetic_metadata_destroy.
Returns: Newly owned synthetic graph.
c_ptr
struct ptd_scc_vertex * phasic::SCCVertex::c_ptr()Access underlying C struct.
c_ptr
const struct ptd_scc_vertex * phasic::SCCVertex::c_ptr() constparent_scc_graph
const SCCGraph * phasic::SCCVertex::parent_scc_graph() constAccess the parent SCCGraph (non-owning).
Used by code that needs the C-level scc_graph pointer (e.g. passing it to per-SCC PRC compute functions).