Circuit.find_available_cycle

Circuit.find_available_cycle(location)[source]

Finds the first available cycle for qudits in location.

An available cycle for location is one where it and all cycles after it are unoccupied for location.

Parameters:

localtion (CircuitLocationLike) – Find a cycle for this location.

Returns:

The first available cycle.

Return type:

int

Raises:

ValueError – If no available cycle exists.

Examples

>>> from bqskit.ir.gates import HGate, XGate, ZGate
>>> circuit = Circuit(2)
>>> circuit.append_gate(HGate(), [0])
>>> circuit.find_available_cycle([1])
0
>>> circuit.append_gate(XGate(), [0])
>>> circuit.append_gate(ZGate(), [1])
>>> circuit.find_available_cycle([1])
1