Custom¶
- class hugr.ops.Custom(op_name: str, signature: ~hugr.tys.FunctionType = <factory>, extension: str = '', args: list[~hugr.tys.TypeArg] = <factory>)[source]¶
Bases:
DataflowOpSerializable version of non-core dataflow operation defined in an extension.
Methods
Check if the operation matches the given extension and operation name.
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.
Resolve the custom operation to an
ExtOp.Attributes
extensionThe number of output ports for this operation.
op_namesignatureargs- check_id(extension: str, name: str) bool[source]¶
Check if the operation matches the given extension and operation name.
- 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.
- Raises:
IncompleteOp – If the operation’s inputs and 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)