Skip to content

Commit c8ec9a8

Browse files
committed
merging main
2 parents a3b7124 + ff4d74f commit c8ec9a8

File tree

109 files changed

+1666
-5735
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+1666
-5735
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
steps:
2222
- uses: actions/checkout@v5
2323
- name: Install uv
24-
uses: astral-sh/setup-uv@v6
24+
uses: astral-sh/setup-uv@v7
2525
with:
2626
# Install a specific version of uv.
2727
version: "0.8.4"

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
steps:
1111
- uses: actions/checkout@v5
1212
- name: Install uv
13-
uses: astral-sh/setup-uv@v6
13+
uses: astral-sh/setup-uv@v7
1414
with:
1515
# Install a specific version of uv.
1616
version: "0.5.5"

pyproject.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ requires-python = ">=3.10"
1313
dependencies = [
1414
"numpy>=1.22.0",
1515
"scipy>=1.13.1",
16-
"kirin-toolchain~=0.17.23",
16+
"kirin-toolchain~=0.17.26",
1717
"rich>=13.9.4",
1818
"pydantic>=1.3.0,<2.11.0",
1919
"pandas>=2.2.3",
@@ -118,3 +118,6 @@ include = ["src/bloqade/*"]
118118

119119
[tool.pytest.ini_options]
120120
testpaths = "test/"
121+
filterwarnings = [
122+
"ignore:In cirq 1.6 the default value of `use_repetition_ids`:FutureWarning:cirq.circuits.circuit_operation",
123+
]

src/bloqade/analysis/measure_id/impls.py

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from kirin.analysis import const
33
from kirin.dialects import py, scf, func, ilist
44

5-
from bloqade.squin import wire, qubit
5+
from bloqade.squin import qubit
66

77
from .lattice import (
88
AnyMeasureId,
@@ -56,20 +56,6 @@ def measure_qubit_list(
5656
return (MeasureIdTuple(data=tuple(measure_id_bools)),)
5757

5858

59-
@wire.dialect.register(key="measure_id")
60-
class SquinWire(interp.MethodTable):
61-
62-
@interp.impl(wire.Measure)
63-
def measure_qubit(
64-
self,
65-
interp: MeasurementIDAnalysis,
66-
frame: interp.Frame,
67-
stmt: wire.Measure,
68-
):
69-
interp.measure_count += 1
70-
return (MeasureIdBool(interp.measure_count),)
71-
72-
7359
@ilist.dialect.register(key="measure_id")
7460
class IList(interp.MethodTable):
7561
@interp.impl(ilist.New)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# NOTE: just to register methods
2-
from . import op as op, gate as gate, noise as noise, qubit as qubit
2+
from . import gate as gate, noise as noise, qubit as qubit
33
from .base import emit_circuit as emit_circuit

src/bloqade/cirq_utils/emit/op.py

Lines changed: 0 additions & 177 deletions
This file was deleted.

src/bloqade/cirq_utils/emit/qubit.py

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
from bloqade.squin import qubit
55

6-
from .op import OperatorRuntimeABC
76
from .base import EmitCirq, EmitCirqFrame
87

98

@@ -21,25 +20,6 @@ def new(self, emit: EmitCirq, frame: EmitCirqFrame, stmt: qubit.New):
2120
frame.qubit_index += 1
2221
return (cirq_qubit,)
2322

24-
@impl(qubit.Apply)
25-
def apply(self, emit: EmitCirq, frame: EmitCirqFrame, stmt: qubit.Apply):
26-
op: OperatorRuntimeABC = frame.get(stmt.operator)
27-
qbits = [frame.get(qbit) for qbit in stmt.qubits]
28-
operations = op.apply(qbits)
29-
for operation in operations:
30-
frame.circuit.append(operation)
31-
return ()
32-
33-
@impl(qubit.Broadcast)
34-
def broadcast(self, emit: EmitCirq, frame: EmitCirqFrame, stmt: qubit.Broadcast):
35-
op = frame.get(stmt.operator)
36-
qbit_lists = [frame.get(qbit) for qbit in stmt.qubits]
37-
38-
for qbits in zip(*qbit_lists):
39-
frame.circuit.append(op.apply(qbits))
40-
41-
return ()
42-
4323
@impl(qubit.MeasureQubit)
4424
def measure_qubit(
4525
self, emit: EmitCirq, frame: EmitCirqFrame, stmt: qubit.MeasureQubit
@@ -55,3 +35,11 @@ def measure_qubit_list(
5535
qbits = frame.get(stmt.qubits)
5636
frame.circuit.append(cirq.measure(qbits))
5737
return (emit.void,)
38+
39+
@impl(qubit.Reset)
40+
def reset(self, emit: EmitCirq, frame: EmitCirqFrame, stmt: qubit.Reset):
41+
qubits = frame.get(stmt.qubits)
42+
frame.circuit.append(
43+
cirq.ResetChannel().on_each(*qubits),
44+
)
45+
return ()

0 commit comments

Comments
 (0)