Skip to content

Commit

Permalink
rename from_pg_index to to_node
Browse files Browse the repository at this point in the history
  • Loading branch information
lmondada committed Feb 24, 2025
1 parent fcb32bf commit 1a24227
Show file tree
Hide file tree
Showing 9 changed files with 35 additions and 37 deletions.
8 changes: 4 additions & 4 deletions hugr-core/src/hugr/hugrmut.rs
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ impl<T: RootTagged<RootHandle = Node, Node = Node> + AsMut<Hugr>> HugrMut for T
//
// No need to compute each node's extensions here, as we merge `other.extensions` directly.
for (&node, &new_node) in node_map.iter() {
let nodetype = other.get_optype(other.from_pg_index(node));
let nodetype = other.get_optype(other.to_node(node));
self.as_mut().op_types.set(new_node, nodetype.clone());
let meta = other.base_hugr().metadata.get(node);
self.as_mut().metadata.set(new_node, meta.clone());
Expand Down Expand Up @@ -439,7 +439,7 @@ impl<T: RootTagged<RootHandle = Node, Node = Node> + AsMut<Hugr>> HugrMut for T
let node_map = insert_subgraph_internal(self.as_mut(), root, other, &portgraph);
// Update the optypes and metadata, copying them from the other graph.
for (&node, &new_node) in node_map.iter() {
let nodetype = other.get_optype(other.from_pg_index(node));
let nodetype = other.get_optype(other.to_node(node));
self.as_mut().op_types.set(new_node, nodetype.clone());
let meta = other.base_hugr().metadata.get(node);
self.as_mut().metadata.set(new_node, meta.clone());
Expand Down Expand Up @@ -476,7 +476,7 @@ fn insert_hugr_internal<H: HugrView>(
.push_child(other_root, root.pg_index())
.expect("Inserting a newly-created node into the hierarchy should never fail.");
for (&node, &new_node) in node_map.iter() {
other.children(other.from_pg_index(node)).for_each(|child| {
other.children(other.to_node(node)).for_each(|child| {
hugr.hierarchy
.push_child(node_map[&other.to_pg_index(child)], new_node)
.expect("Inserting a newly-created node into the hierarchy should never fail.");
Expand Down Expand Up @@ -516,7 +516,7 @@ fn insert_subgraph_internal(
// update the hierarchy with their new id.
for (&node, &new_node) in node_map.iter() {
let new_parent = other
.get_parent(other.from_pg_index(node))
.get_parent(other.to_node(node))
.and_then(|parent| node_map.get(&other.to_pg_index(parent)).copied())
.unwrap_or(root.pg_index());
hugr.hierarchy
Expand Down
16 changes: 8 additions & 8 deletions hugr-core/src/hugr/internal.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ pub trait HugrInternals {
fn to_pg_index(&self, node: Self::Node) -> portgraph::NodeIndex;

/// Convert a portgraph node index to a node.
fn from_pg_index(&self, index: portgraph::NodeIndex) -> Self::Node;
fn to_node(&self, index: portgraph::NodeIndex) -> Self::Node;
}

impl HugrInternals for Hugr {
Expand Down Expand Up @@ -72,7 +72,7 @@ impl HugrInternals for Hugr {
node.pg_index()
}

fn from_pg_index(&self, index: portgraph::NodeIndex) -> Self::Node {
fn to_node(&self, index: portgraph::NodeIndex) -> Self::Node {
index.into()
}
}
Expand All @@ -90,7 +90,7 @@ impl<T: HugrInternals> HugrInternals for &T {
fn base_hugr(&self) -> &Hugr;
fn root_node(&self) -> Self::Node;
fn to_pg_index(&self, node: Self::Node) -> portgraph::NodeIndex;
fn from_pg_index(&self, index: portgraph::NodeIndex) -> Self::Node;
fn to_node(&self, index: portgraph::NodeIndex) -> Self::Node;
}
}
}
Expand All @@ -108,7 +108,7 @@ impl<T: HugrInternals> HugrInternals for &mut T {
fn base_hugr(&self) -> &Hugr;
fn root_node(&self) -> Self::Node;
fn to_pg_index(&self, node: Self::Node) -> portgraph::NodeIndex;
fn from_pg_index(&self, index: portgraph::NodeIndex) -> Self::Node;
fn to_node(&self, index: portgraph::NodeIndex) -> Self::Node;
}
}
}
Expand All @@ -126,7 +126,7 @@ impl<T: HugrInternals> HugrInternals for Rc<T> {
fn base_hugr(&self) -> &Hugr;
fn root_node(&self) -> Self::Node;
fn to_pg_index(&self, node: Self::Node) -> portgraph::NodeIndex;
fn from_pg_index(&self, index: portgraph::NodeIndex) -> Self::Node;
fn to_node(&self, index: portgraph::NodeIndex) -> Self::Node;
}
}
}
Expand All @@ -144,7 +144,7 @@ impl<T: HugrInternals> HugrInternals for Arc<T> {
fn base_hugr(&self) -> &Hugr;
fn root_node(&self) -> Self::Node;
fn to_pg_index(&self, node: Self::Node) -> portgraph::NodeIndex;
fn from_pg_index(&self, index: portgraph::NodeIndex) -> Self::Node;
fn to_node(&self, index: portgraph::NodeIndex) -> Self::Node;
}
}
}
Expand All @@ -162,7 +162,7 @@ impl<T: HugrInternals> HugrInternals for Box<T> {
fn base_hugr(&self) -> &Hugr;
fn root_node(&self) -> Self::Node;
fn to_pg_index(&self, node: Self::Node) -> portgraph::NodeIndex;
fn from_pg_index(&self, index: portgraph::NodeIndex) -> Self::Node;
fn to_node(&self, index: portgraph::NodeIndex) -> Self::Node;
}
}
}
Expand All @@ -180,7 +180,7 @@ impl<T: HugrInternals + ToOwned> HugrInternals for Cow<'_, T> {
fn base_hugr(&self) -> &Hugr;
fn root_node(&self) -> Self::Node;
fn to_pg_index(&self, node: Self::Node) -> portgraph::NodeIndex;
fn from_pg_index(&self, index: portgraph::NodeIndex) -> Self::Node;
fn to_node(&self, index: portgraph::NodeIndex) -> Self::Node;
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion hugr-core/src/hugr/views.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ pub trait HugrView: HugrInternals {
self.base_hugr()
.hierarchy
.parent(self.to_pg_index(node))
.map(|index| self.from_pg_index(index))
.map(|index| self.to_node(index))
}

/// Returns the operation type of a node.
Expand Down
16 changes: 7 additions & 9 deletions hugr-core/src/hugr/views/descendants.rs
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,7 @@ impl<Root: NodeHandle> HugrView for DescendantsGraph<'_, Root> {

#[inline]
fn nodes(&self) -> impl Iterator<Item = Node> + Clone {
self.graph
.nodes_iter()
.map(|index| self.from_pg_index(index))
self.graph.nodes_iter().map(|index| self.to_node(index))
}

#[inline]
Expand Down Expand Up @@ -90,7 +88,7 @@ impl<Root: NodeHandle> HugrView for DescendantsGraph<'_, Root> {
let port: PortIndex = link.into();
let node = self.graph.port_node(port).unwrap();
let offset = self.graph.port_offset(port).unwrap();
(self.from_pg_index(node), offset.into())
(self.to_node(node), offset.into())
})
}

Expand All @@ -116,21 +114,21 @@ impl<Root: NodeHandle> HugrView for DescendantsGraph<'_, Root> {
true => self.base_hugr().hierarchy.children(self.to_pg_index(node)),
false => portgraph::hierarchy::Children::default(),
};
children.map(|index| self.from_pg_index(index))
children.map(|index| self.to_node(index))
}

#[inline]
fn neighbours(&self, node: Node, dir: Direction) -> impl Iterator<Item = Node> + Clone {
self.graph
.neighbours(self.to_pg_index(node), dir)
.map(|index| self.from_pg_index(index))
.map(|index| self.to_node(index))
}

#[inline]
fn all_neighbours(&self, node: Node) -> impl Iterator<Item = Node> + Clone {
self.graph
.all_neighbours(self.to_pg_index(node))
.map(|index| self.from_pg_index(index))
.map(|index| self.to_node(index))
}
}
impl<Root: NodeHandle> RootTagged for DescendantsGraph<'_, Root> {
Expand Down Expand Up @@ -187,8 +185,8 @@ where
}

#[inline]
fn from_pg_index(&self, index: portgraph::NodeIndex) -> Node {
self.hugr.from_pg_index(index)
fn to_node(&self, index: portgraph::NodeIndex) -> Node {
self.hugr.to_node(index)
}
}

Expand Down
2 changes: 1 addition & 1 deletion hugr-core/src/hugr/views/petgraph.rs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ where
}

fn from_index(&self, ix: usize) -> Self::NodeId {
self.hugr.from_pg_index(portgraph::NodeIndex::new(ix))
self.hugr.to_node(portgraph::NodeIndex::new(ix))
}
}

Expand Down
6 changes: 3 additions & 3 deletions hugr-core/src/hugr/views/render.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ pub(super) fn node_style<H: HugrView + ?Sized>(
config: RenderConfig,
) -> Box<dyn FnMut(NodeIndex) -> NodeStyle + '_> {
fn node_name<H: HugrView + ?Sized>(h: &H, n: NodeIndex) -> String {
match h.get_optype(h.from_pg_index(n)) {
match h.get_optype(h.to_node(n)) {
OpType::FuncDecl(f) => format!("FuncDecl: \"{}\"", f.name),
OpType::FuncDefn(f) => format!("FuncDefn: \"{}\"", f.name),
op => op.name().to_string(),
Expand Down Expand Up @@ -64,7 +64,7 @@ pub(super) fn port_style<H: HugrView + ?Sized>(
let graph = h.portgraph();
Box::new(move |port| {
let node = graph.port_node(port).unwrap();
let optype = h.get_optype(h.from_pg_index(node));
let optype = h.get_optype(h.to_node(node));
let offset = graph.port_offset(port).unwrap();
match optype.port_kind(offset).unwrap() {
EdgeKind::Function(pf) => PortStyle::new(html_escape::encode_text(&format!("{}", pf))),
Expand Down Expand Up @@ -95,7 +95,7 @@ pub(super) fn edge_style<H: HugrView + ?Sized>(
let graph = h.portgraph();
Box::new(move |src, tgt| {
let src_node = graph.port_node(src).unwrap();
let src_optype = h.get_optype(h.from_pg_index(src_node));
let src_optype = h.get_optype(h.to_node(src_node));
let src_offset = graph.port_offset(src).unwrap();
let tgt_offset = graph.port_offset(tgt).unwrap();

Expand Down
2 changes: 1 addition & 1 deletion hugr-core/src/hugr/views/root_checked.rs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ impl<H: AsRef<Hugr>, Root> HugrInternals for RootChecked<H, Root> {
fn base_hugr(&self) -> &Hugr;
fn root_node(&self) -> Node;
fn to_pg_index(&self, node: Node) -> portgraph::NodeIndex;
fn from_pg_index(&self, index: portgraph::NodeIndex) -> Node;
fn to_node(&self, index: portgraph::NodeIndex) -> Node;
}
}
}
Expand Down
18 changes: 9 additions & 9 deletions hugr-core/src/hugr/views/sibling.rs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ macro_rules! impl_base_members {
.base_hugr()
.hierarchy
.children(self.to_pg_index(self.root))
.map(|n| self.from_pg_index(n));
.map(|n| self.to_node(n));
iter::once(self.root).chain(children)
}

Expand All @@ -85,7 +85,7 @@ macro_rules! impl_base_members {
true => self.base_hugr().hierarchy.children(self.to_pg_index(node)),
false => portgraph::hierarchy::Children::default(),
};
children.map(|n| self.from_pg_index(n))
children.map(|n| self.to_node(n))
}
};
}
Expand Down Expand Up @@ -124,7 +124,7 @@ impl<Root: NodeHandle> HugrView for SiblingGraph<'_, Root> {
self.graph.port_links(port).map(|(_, link)| {
let node = self.graph.port_node(link).unwrap();
let offset = self.graph.port_offset(link).unwrap();
(self.from_pg_index(node), offset.into())
(self.to_node(node), offset.into())
})
}

Expand All @@ -143,14 +143,14 @@ impl<Root: NodeHandle> HugrView for SiblingGraph<'_, Root> {
fn neighbours(&self, node: Node, dir: Direction) -> impl Iterator<Item = Node> + Clone {
self.graph
.neighbours(self.to_pg_index(node), dir)
.map(|n| self.from_pg_index(n))
.map(|n| self.to_node(n))
}

#[inline]
fn all_neighbours(&self, node: Node) -> impl Iterator<Item = Node> + Clone {
self.graph
.all_neighbours(self.to_pg_index(node))
.map(|n| self.from_pg_index(n))
.map(|n| self.to_node(n))
}
}
impl<Root: NodeHandle> RootTagged for SiblingGraph<'_, Root> {
Expand Down Expand Up @@ -217,8 +217,8 @@ where
}

#[inline]
fn from_pg_index(&self, index: portgraph::NodeIndex) -> Node {
self.hugr.from_pg_index(index)
fn to_node(&self, index: portgraph::NodeIndex) -> Node {
self.hugr.to_node(index)
}
}

Expand Down Expand Up @@ -295,8 +295,8 @@ impl<'g, Root: NodeHandle> HugrInternals for SiblingMut<'g, Root> {
}

#[inline]
fn from_pg_index(&self, index: portgraph::NodeIndex) -> Node {
self.hugr.from_pg_index(index)
fn to_node(&self, index: portgraph::NodeIndex) -> Node {
self.hugr.to_node(index)
}
}

Expand Down
2 changes: 1 addition & 1 deletion hugr-core/src/hugr/views/sibling_subgraph.rs
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ impl<N: HugrNode> SiblingSubgraph<N> {
let subpg = Subgraph::new_subgraph(pg.clone(), make_boundary(hugr, &inputs, &outputs));
let nodes = subpg
.nodes_iter()
.map(|index| hugr.from_pg_index(index))
.map(|index| hugr.to_node(index))
.collect_vec();
validate_subgraph(hugr, &nodes, &inputs, &outputs)?;

Expand Down

0 comments on commit 1a24227

Please sign in to comment.