DFG#
- class hugr.ops.DFG(inputs: list[~hugr.tys.Type], _outputs: list[~hugr.tys.Type] | None = None, _extension_delta: list[str] = <factory>)[source]#
Bases:
DfParentOp
,DataflowOp
Simple dataflow graph operation. Outer signature matches inner signature.
Methods
Inner signature of the child dataflow graph.
Name of the operation.
The external signature of this operation.
Get the kind of the given port.
Get the type of the given dataflow port from the signature of the operation.
Attributes
The number of output ports for this operation.
Output types of the operation.
Signature of the operation.
Inputs types of the operation.
- inner_signature() FunctionType [source]#
Inner signature of the child dataflow graph.
- property num_out: int#
The number of output ports for this operation.
Example
>>> op = Const(val.TRUE) >>> op.num_out 1
- outer_signature() FunctionType [source]#
The external signature of this operation. Defines the valid external connectivity of the node the operation belongs to.
- property outputs: list[Type]#
Output types of the operation.
- Raises:
IncompleteOp – If the outputs have not been set.
- port_kind(port: InPort | OutPort) ValueKind | ConstKind | FunctionKind | CFKind | OrderKind #
Get the kind of the given port.
Example
>>> op = Const(val.TRUE) >>> op.port_kind(OutPort(Node(0), 0)) ConstKind(Bool)
- port_type(port: InPort | OutPort) Type #
Get the type of the given dataflow port from the signature of the operation.
Example
>>> op = Input([tys.Bool]) >>> op.port_type(OutPort(Node(0), 0)) Bool
- property signature: FunctionType#
Signature of the operation.
- Raises:
IncompleteOp – If the outputs have not been set.