CallIndirect#
- class hugr.ops.CallIndirect(_signature: FunctionType | None = None)[source]#
Bases:
DataflowOp
,_PartialOp
Higher order evaluation of a
FunctionType
value.Methods
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.
The signature of the function being called.
- 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.
- 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#
The signature of the function being called.
Raises: IncompleteOp: If the signature has not been set.