Skip to content

Commit 7b8826a

Browse files
committed
Check is_active in multiple places
1 parent 0cf3d39 commit 7b8826a

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

src/bloqade/pyqrack/squin/qubit.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,12 @@ def measure(
4747
self, interp: PyQrackInterpreter, frame: interp.Frame, stmt: qubit.Measure
4848
):
4949
qubits: ilist.IList[PyQrackQubit, Any] = frame.get(stmt.qubits)
50-
result = [qbit.sim_reg.m(qbit.addr) for qbit in qubits]
50+
result = []
51+
for qbit in qubits:
52+
if qbit.is_active():
53+
result.append(qbit.sim_reg.m(qbit.addr))
54+
else:
55+
result.append(None)
5156
return (result,)
5257

5358
@interp.impl(qubit.MeasureAndReset)
@@ -58,8 +63,12 @@ def measure_and_reset(
5863
stmt: qubit.MeasureAndReset,
5964
):
6065
qubits: ilist.IList[PyQrackQubit, Any] = frame.get(stmt.qubits)
61-
result = [qbit.sim_reg.m(qbit.addr) for qbit in qubits]
66+
result = []
6267
for qbit in qubits:
68+
if qbit.is_active():
69+
result.append(qbit.sim_reg.m(qbit.addr))
70+
else:
71+
result.append(None)
6372
qbit.sim_reg.force_m(qbit.addr, 0)
6473

6574
return (result,)

src/bloqade/pyqrack/squin/runtime.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ def control_apply(self, *qubits: PyQrackQubit, adjoint: bool = False) -> None:
1919

2020
def broadcast_apply(self, qubits: ilist.IList[PyQrackQubit, Any], **kwargs) -> None:
2121
for qbit in qubits:
22+
if not qbit.is_active():
23+
continue
24+
2225
self.apply(qbit, **kwargs)
2326

2427

0 commit comments

Comments
 (0)