Skip to content

Commit f19345c

Browse files
committed
bring in return types
1 parent 0a0abcf commit f19345c

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

src/bloqade/annotate/_interface.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@
66
from bloqade.types import MeasurementResult
77

88
from .stmts import SetDetector, SetObservable
9+
from .types import Detector, Observable
910

1011

1112
@wraps(SetDetector)
1213
def set_detector(
1314
measurements: ilist.IList[MeasurementResult, Any] | list[MeasurementResult],
1415
coordinates: tuple[float | int, ...],
15-
) -> None: ...
16+
) -> Detector: ...
1617

1718

1819
@wraps(SetObservable)
1920
def set_observable(
2021
measurements: ilist.IList[MeasurementResult, Any] | list[MeasurementResult],
21-
) -> None: ...
22+
) -> Observable: ...

src/bloqade/annotate/stmts.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from kirin.dialects import ilist
44

55
from bloqade.types import MeasurementResultType
6+
from bloqade.annotate.types import DetectorType, ObservableType
67

78
from ._dialect import dialect
89

@@ -20,8 +21,9 @@ class SetDetector(ConsumesMeasurementResults):
2021
coordinates: ir.SSAValue = info.argument(
2122
type=kirin_types.Tuple[kirin_types.Int | kirin_types.Float]
2223
)
24+
result: ir.ResultValue = info.result(DetectorType)
2325

2426

2527
@statement(dialect=dialect)
2628
class SetObservable(ConsumesMeasurementResults):
27-
pass
29+
result: ir.ResultValue = info.result(ObservableType)

src/bloqade/annotate/types.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from kirin import types
2+
3+
4+
class Detector:
5+
pass
6+
7+
8+
class Observable:
9+
pass
10+
11+
12+
DetectorType = types.PyClass(Detector)
13+
ObservableType = types.PyClass(Observable)

0 commit comments

Comments
 (0)