Call#
- class hugr.ops.Call(signature: tys.PolyFuncType, instantiation: tys.FunctionType | None = None, type_args: Sequence[tys.TypeArg] | None = None)[source]#
Bases:
_CallOrLoad
,Op
Call a function inside a dataflow graph. Connects to
FuncDefn
orFuncDecl
operations.- Parameters:
signature – Polymorphic function signature.
instantiation – Concrete function signature. Defaults to None.
type_args – Type arguments for polymorphic function. Defaults to None.
- Raises:
NoConcreteFunc – If the signature is polymorphic and no instantiation is provided.
Methods
Attributes
The number of output ports for this operation.
polymorphic function signature
concrete function signature
type arguments for polymorphic function
- instantiation: FunctionType#
concrete function signature
- property num_out: int#
The number of output ports for this operation.
Example
>>> op = Const(val.TRUE) >>> op.num_out 1
- 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: PolyFuncType#
polymorphic function signature