Skip to content

Commit

Permalink
Make description of "passthrough" DFBs clearer.
Browse files Browse the repository at this point in the history
  • Loading branch information
cqc-alec committed Dec 14, 2023
1 parent 8f57eae commit 44d2ea3
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions specification/hugr.md
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,8 @@ Some normalizations are possible:
- If the entry node has only one successor and that successor is the
exit node, the CFG node itself can be removed.

An special `passthrough<T>` `DFB` is defined having no effect on the data.
A `DFB` that simply wires its inputs to its outputs, having no effect on the
data, is called a _passthrough_ DFB.

The CFG in the example below has three inputs: one (call it `v`) of type "P"
(not specified, but with a conversion to boolean represented by the nodes labelled "P?1" and "P?2"), one of
Expand Down Expand Up @@ -1335,13 +1336,13 @@ the children of that CFG node.
###### `InsertIdentity`
Given an edge between sibling nodes in a DSG or CFG, insert an `identity<T>` or
`passthrough<T>` node having its source as predecessor and its target as
successor.
Given an edge between sibling nodes in a DSG or CFG, insert an `identity<T>`
node or passthrough DFB respectively, having its source as predecessor and its
target as successor.
###### `RemoveIdentity`
Remove an `identity<T>` node from a DSG, or a `passthrough<T>` node from a CFG,
Remove an `identity<T>` node from a DSG, or a passthrough DFB node from a CFG,
wiring its predecessor to its successor.
##### Order insertion and removal methods
Expand Down

0 comments on commit 44d2ea3

Please sign in to comment.