FuncDefn

class hugr.ops.FuncDefn(f_name: str, inputs: tys.TypeRow, params: list[tys.TypeParam] = <factory>, _outputs: tys.TypeRow | None = None, num_out: int = 1, visibility: Visibility = 'Private')[source]

Bases: DfParentOp

Function definition operation, parent of a dataflow graph that defines the function.

Methods

inner_signature

Inner signature of the child dataflow graph.

name

Name of the operation.

port_kind

Get the kind of the given port.

Attributes

num_out

outputs

Output types of the function.

signature

Polymorphic signature of the function.

visibility

Visibility (for linking).

f_name

function name

inputs

input types of the function

params

f_name: str

function name

inner_signature() FunctionType[source]

Inner signature of the child dataflow graph.

inputs: tys.TypeRow

input types of the function

name() str[source]

Name of the operation.

property outputs: list[Type]

Output types of the function.

Raises:

IncompleteOp – If the outputs have not been set.

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)
property signature: PolyFuncType

Polymorphic signature of the function.

Raises:

IncompleteOp – If the outputs have not been set.

visibility: Visibility = 'Private'

Visibility (for linking).