Op#

class hugr.ops.Op(*args, **kwargs)[source]#

Bases: Protocol

An abstract HUGR operation. Must be convertible to a serializable BaseOp.

Methods

name

Name of the operation.

port_kind

Get the kind of the given port.

Attributes

num_out

The number of output ports for this operation.

name() str[source]#

Name of the operation.

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)