FuncDefn¶
- class hugr.ops.FuncDefn(f_name: str, inputs: tys.TypeRow, params: list[tys.TypeParam] = <factory>, _outputs: tys.TypeRow | None = None, num_out: int = 1, visibility: Visibility = 'Private')[source]¶
Bases:
DfParentOpFunction definition operation, parent of a dataflow graph that defines the function.
Methods
Inner signature of the child dataflow graph.
Name of the operation.
Get the kind of the given port.
Get the extensions used by this operation, optionally resolving unresolved types and operations.
Attributes
num_outOutput types of the function.
Polymorphic signature of the function.
Visibility (for linking).
function name
input types of the function
params- inner_signature() FunctionType[source]¶
Inner signature of the child dataflow graph.
- inputs: tys.TypeRow¶
input types of the function
- property outputs: list[Type]¶
Output types of the function.
- Raises:
IncompleteOp – If the outputs have not been set.
- port_kind(port: InPort | OutPort) ValueKind | ConstKind | FunctionKind | CFKind | OrderKind[source]¶
Get the kind of the given port.
Example
>>> op = Const(val.TRUE) >>> op.port_kind(OutPort(Node(0), 0)) ConstKind(Bool)
- property signature: PolyFuncType¶
Polymorphic signature of the function.
- Raises:
IncompleteOp – If the outputs have not been set.
- used_extensions(resolve_from: ExtensionRegistry | None = None) ExtensionResolutionResult¶
Get the extensions used by this operation, optionally resolving unresolved types and operations.
- Parameters:
resolve_from – Optional extension registry to resolve against. If None, opaque types and Custom ops will not be resolved.
- Returns:
The result containing used and unresolved extensions.
- visibility: Visibility = 'Private'¶
Visibility (for linking).