FuncDecl¶
- class hugr.ops.FuncDecl(f_name: str, signature: tys.PolyFuncType, num_out: int = 1, visibility: Visibility = 'Public')[source]¶
Bases:
OpFunction declaration operation, defines the signature of a function.
Methods
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_outVisibility (for linking).
function name
polymorphic function signature
- 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)
- signature: tys.PolyFuncType¶
polymorphic function signature
- 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 = 'Public'¶
Visibility (for linking).