Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 1 addition & 15 deletions src/bloqade/analysis/measure_id/impls.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from kirin.analysis import const
from kirin.dialects import py, scf, func, ilist

from bloqade.squin import wire, qubit
from bloqade.squin import qubit

from .lattice import (
AnyMeasureId,
Expand Down Expand Up @@ -56,20 +56,6 @@ def measure_qubit_list(
return (MeasureIdTuple(data=tuple(measure_id_bools)),)


@wire.dialect.register(key="measure_id")
class SquinWire(interp.MethodTable):

@interp.impl(wire.Measure)
def measure_qubit(
self,
interp: MeasurementIDAnalysis,
frame: interp.Frame,
stmt: wire.Measure,
):
interp.measure_count += 1
return (MeasureIdBool(interp.measure_count),)


@ilist.dialect.register(key="measure_id")
class IList(interp.MethodTable):
@interp.impl(ilist.New)
Expand Down
2 changes: 1 addition & 1 deletion src/bloqade/cirq_utils/emit/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# NOTE: just to register methods
from . import op as op, gate as gate, noise as noise, qubit as qubit
from . import gate as gate, noise as noise, qubit as qubit
from .base import emit_circuit as emit_circuit
177 changes: 0 additions & 177 deletions src/bloqade/cirq_utils/emit/op.py

This file was deleted.

20 changes: 0 additions & 20 deletions src/bloqade/cirq_utils/emit/qubit.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

from bloqade.squin import qubit

from .op import OperatorRuntimeABC
from .base import EmitCirq, EmitCirqFrame


Expand All @@ -25,25 +24,6 @@ def new(self, emit: EmitCirq, frame: EmitCirqFrame, stmt: qubit.New):
frame.qubit_index += n_qubits
return (cirq_qubits,)

@impl(qubit.Apply)
def apply(self, emit: EmitCirq, frame: EmitCirqFrame, stmt: qubit.Apply):
op: OperatorRuntimeABC = frame.get(stmt.operator)
qbits = [frame.get(qbit) for qbit in stmt.qubits]
operations = op.apply(qbits)
for operation in operations:
frame.circuit.append(operation)
return ()

@impl(qubit.Broadcast)
def broadcast(self, emit: EmitCirq, frame: EmitCirqFrame, stmt: qubit.Broadcast):
op = frame.get(stmt.operator)
qbit_lists = [frame.get(qbit) for qbit in stmt.qubits]

for qbits in zip(*qbit_lists):
frame.circuit.append(op.apply(qbits))

return ()

@impl(qubit.MeasureQubit)
def measure_qubit(
self, emit: EmitCirq, frame: EmitCirqFrame, stmt: qubit.MeasureQubit
Expand Down
Loading