Skip to content

Commit 77ddeec

Browse files
committed
Return void when emitting squin.measure to cirq (#427)
Closes #425
1 parent ca0a624 commit 77ddeec

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/bloqade/squin/cirq/emit/qubit.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@ def measure_qubit(
4949
):
5050
qbit = frame.get(stmt.qubit)
5151
frame.circuit.append(cirq.measure(qbit))
52-
return ()
52+
return (emit.void,)
5353

5454
@impl(qubit.MeasureQubitList)
5555
def measure_qubit_list(
5656
self, emit: EmitCirq, frame: EmitCirqFrame, stmt: qubit.MeasureQubitList
5757
):
5858
qbits = frame.get(stmt.qubits)
5959
frame.circuit.append(cirq.measure(qbits))
60-
return ()
60+
return (emit.void,)

test/squin/cirq/test_squin_to_cirq.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,4 +349,15 @@ def main():
349349
assert len(target._cached_circuit_operations) == 2
350350

351351

352-
test_return_value()
352+
def test_return_measurement():
353+
354+
@squin.kernel
355+
def coinflip():
356+
qubit = squin.qubit.new(1)[0]
357+
squin.gate.h(qubit)
358+
return squin.qubit.measure(qubit)
359+
360+
coinflip.print()
361+
362+
circuit = squin.cirq.emit_circuit(coinflip, ignore_returns=True)
363+
print(circuit)

0 commit comments

Comments
 (0)