iqm.qrisp_iqm.passes.routing.core.sabre_meta_functions.update_depth_array

iqm.qrisp_iqm.passes.routing.core.sabre_meta_functions.update_depth_array#

iqm.qrisp_iqm.passes.routing.core.sabre_meta_functions.update_depth_array(instruction_list: list[tuple[int16, int16, int16]], depth_array: ndarray) → None#

Update the per-physical-qubit depth array from a compiled instruction list.

Processes a list of instruction tuples and updates the depth tracking array in-place. Two-qubit gates increment the depth of both qubits involved; SWAP gates receive a larger increment when both qubits are at the same depth (used as a “booster pad” to encourage efficient swap chains).

Parameters:
  • instruction_list (list[tuple[int16, int16, int16]]) – Instructions produced by SABRE.

  • depth_array (ndarray) – Per-physical-qubit depth array to update in-place.

Return type:

None