Skip to content

Commit b46eda9

Browse files
committed
change up coordinate type and update tests
1 parent 3b095d9 commit b46eda9

File tree

3 files changed

+20
-20
lines changed

3 files changed

+20
-20
lines changed

src/bloqade/annotate/_interface.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
@wraps(SetDetector)
1313
def set_detector(
1414
measurements: ilist.IList[MeasurementResult, Any] | list[MeasurementResult],
15-
coordinates: tuple[float | int, ...],
15+
coordinates: ilist.IList[float | int, Any] | list[float | int],
1616
) -> Detector: ...
1717

1818

src/bloqade/annotate/stmts.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class ConsumesMeasurementResults(ir.Statement):
1919
@statement(dialect=dialect)
2020
class SetDetector(ConsumesMeasurementResults):
2121
coordinates: ir.SSAValue = info.argument(
22-
type=kirin_types.Tuple[kirin_types.Int | kirin_types.Float]
22+
type=ilist.IListType[kirin_types.Int | kirin_types.Float, kirin_types.Any]
2323
)
2424
result: ir.ResultValue = info.result(DetectorType)
2525

test/stim/passes/test_annotation_to_stim.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ def main():
4545
ms = squin.broadcast.measure(q)
4646

4747
# use some statements from dialect
48-
squin.set_detector([ms[0], ms[1]], coordinates=(0.0, 0.0))
49-
squin.set_detector([ms[1], ms[2]], coordinates=(1.0, 0.0))
48+
squin.set_detector([ms[0], ms[1]], coordinates=[0.0, 0.0])
49+
squin.set_detector([ms[1], ms[2]], coordinates=[1.0, 0.0])
5050

5151
squin.set_observable(measurements=[ms[2]])
5252

@@ -78,7 +78,7 @@ def main():
7878
squin.y(q[1])
7979

8080
ms1 = squin.broadcast.measure(q)
81-
squin.set_detector([ms1[0], ms1[1]], coordinates=(0.0, 0.0))
81+
squin.set_detector([ms1[0], ms1[1]], coordinates=[0.0, 0.0])
8282
squin.set_observable(measurements=[ms1[2]])
8383

8484
return
@@ -136,7 +136,7 @@ def main():
136136
for i in range(2):
137137
m = squin.broadcast.measure(q)
138138
for j in range(2):
139-
squin.set_detector([m[j]], coordinates=(0, 0))
139+
squin.set_detector([m[j]], coordinates=[0, 0])
140140

141141
SquinToStimPass(main.dialects)(main)
142142

@@ -191,7 +191,7 @@ def main():
191191
results = squin.broadcast.measure(q)
192192
results_2 = results
193193
squin.set_detector(
194-
measurements=[results_2[0], results_2[1]], coordinates=(0, 0)
194+
measurements=[results_2[0], results_2[1]], coordinates=[0, 0]
195195
)
196196

197197
SquinToStimPass(main.dialects)(main)
@@ -248,7 +248,7 @@ def rep_code():
248248
init_ancilla_meas_res = squin.broadcast.measure(ancilla)
249249
for i in range(len(init_ancilla_meas_res)):
250250
squin.set_detector(
251-
measurements=[init_ancilla_meas_res[i]], coordinates=(0, 0)
251+
measurements=[init_ancilla_meas_res[i]], coordinates=[0, 0]
252252
)
253253

254254
# let's do a standard round now!
@@ -257,7 +257,7 @@ def rep_code():
257257
for i in range(len(init_ancilla_meas_res)):
258258
squin.set_detector(
259259
measurements=[init_ancilla_meas_res[i], round_ancilla_meas_res[i]],
260-
coordinates=(0, 0),
260+
coordinates=[0, 0],
261261
)
262262

263263
# Let's make this one a bit noisy (:
@@ -272,7 +272,7 @@ def rep_code():
272272
for i in range(len(new_round_ancilla_meas_res)):
273273
squin.set_detector(
274274
measurements=[round_ancilla_meas_res[i], new_round_ancilla_meas_res[i]],
275-
coordinates=(0, 0),
275+
coordinates=[0, 0],
276276
)
277277

278278
# finally we want to measure out the data qubits and set final detectors
@@ -284,15 +284,15 @@ def rep_code():
284284
data_meas_res[1],
285285
new_round_ancilla_meas_res[0],
286286
],
287-
coordinates=(0, 0),
287+
coordinates=[0, 0],
288288
)
289289
squin.set_detector(
290290
measurements=[
291291
data_meas_res[1],
292292
data_meas_res[2],
293293
new_round_ancilla_meas_res[1],
294294
],
295-
coordinates=(0, 0),
295+
coordinates=[0, 0],
296296
)
297297

298298
# Now we want to dictate a measurement as the observable
@@ -308,7 +308,7 @@ def rep_code():
308308
def test_detector_coords_as_args():
309309

310310
@squin.kernel
311-
def func(m, x: tuple):
311+
def func(m, x: list):
312312
squin.set_detector(m, coordinates=x)
313313

314314
@squin.kernel
@@ -318,16 +318,16 @@ def main():
318318

319319
x = 5.0
320320
y = [3, 4]
321-
z = (1, 2, x)
321+
z = [1, 2, x]
322322

323-
squin.set_detector(m, coordinates=(0, 1))
323+
squin.set_detector(m, coordinates=[0, 1])
324324
squin.set_detector(m, coordinates=y) # [3, 4]
325-
squin.set_detector(m, coordinates=(0, x)) # (0, 5.0)
326-
squin.set_detector(m, coordinates=(x, y[0])) # (5.0, 3)
327-
squin.set_detector(m, coordinates=z) # (1, 2, 5.0)
328-
squin.set_detector(m, coordinates=z[:2]) # (1, 2)
325+
squin.set_detector(m, coordinates=[0, x]) # [0, 5.0]
326+
squin.set_detector(m, coordinates=[x, y[0]]) # [5.0, 3]
327+
squin.set_detector(m, coordinates=z) # [1, 2, 5.0]
328+
squin.set_detector(m, coordinates=z[:2]) # [1, 2]
329329

330-
func(m, z) # (1, 2, 5.0)
330+
func(m, z) # [1, 2, 5.0]
331331

332332
SquinToStimPass(main.dialects)(main)
333333

0 commit comments

Comments
 (0)