bloqade-circuit 0.6.4__py3-none-any.whl → 0.6.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of bloqade-circuit might be problematic. Click here for more details.
- bloqade/pyqrack/base.py +1 -1
- bloqade/squin/__init__.py +4 -0
- bloqade/squin/gate.py +193 -0
- bloqade/squin/parallel.py +200 -0
- {bloqade_circuit-0.6.4.dist-info → bloqade_circuit-0.6.5.dist-info}/METADATA +1 -1
- {bloqade_circuit-0.6.4.dist-info → bloqade_circuit-0.6.5.dist-info}/RECORD +8 -6
- {bloqade_circuit-0.6.4.dist-info → bloqade_circuit-0.6.5.dist-info}/WHEEL +0 -0
- {bloqade_circuit-0.6.4.dist-info → bloqade_circuit-0.6.5.dist-info}/licenses/LICENSE +0 -0
bloqade/pyqrack/base.py
CHANGED
bloqade/squin/__init__.py
CHANGED
|
@@ -9,6 +9,10 @@ from . import (
|
|
|
9
9
|
)
|
|
10
10
|
from .groups import wired as wired, kernel as kernel
|
|
11
11
|
|
|
12
|
+
# NOTE: it's important to keep these imports here since they import squin.kernel
|
|
13
|
+
# we skip isort here
|
|
14
|
+
from . import gate as gate, parallel as parallel # isort: skip
|
|
15
|
+
|
|
12
16
|
try:
|
|
13
17
|
# NOTE: make sure optional cirq dependency is installed
|
|
14
18
|
import cirq as cirq_package # noqa: F401
|
bloqade/squin/gate.py
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
from bloqade.types import Qubit
|
|
2
|
+
|
|
3
|
+
from . import op as _op, qubit as _qubit
|
|
4
|
+
from .groups import kernel
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@kernel
|
|
8
|
+
def x(qubit: Qubit) -> None:
|
|
9
|
+
"""x gate applied to qubit."""
|
|
10
|
+
op = _op.x()
|
|
11
|
+
_qubit.apply(op, qubit)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@kernel
|
|
15
|
+
def y(qubit: Qubit) -> None:
|
|
16
|
+
"""y gate applied to qubit."""
|
|
17
|
+
op = _op.y()
|
|
18
|
+
_qubit.apply(op, qubit)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@kernel
|
|
22
|
+
def z(qubit: Qubit) -> None:
|
|
23
|
+
"""z gate applied to qubit."""
|
|
24
|
+
op = _op.z()
|
|
25
|
+
_qubit.apply(op, qubit)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
@kernel
|
|
29
|
+
def sqrt_x(qubit: Qubit) -> None:
|
|
30
|
+
"""Square root x gate applied to qubit."""
|
|
31
|
+
op = _op.sqrt_x()
|
|
32
|
+
_qubit.apply(op, qubit)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
@kernel
|
|
36
|
+
def sqrt_x_adj(qubit: Qubit) -> None:
|
|
37
|
+
"""Adjoint sqrt_x gate applied to qubit."""
|
|
38
|
+
op = _op.sqrt_x()
|
|
39
|
+
_qubit.apply(_op.adjoint(op), qubit)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@kernel
|
|
43
|
+
def sqrt_y(qubit: Qubit) -> None:
|
|
44
|
+
"""Square root y gate applied to qubit."""
|
|
45
|
+
op = _op.sqrt_y()
|
|
46
|
+
_qubit.apply(op, qubit)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
@kernel
|
|
50
|
+
def sqrt_y_adj(qubit: Qubit) -> None:
|
|
51
|
+
"""Adjoint sqrt_y gate applied to qubit."""
|
|
52
|
+
op = _op.sqrt_y()
|
|
53
|
+
_qubit.apply(_op.adjoint(op), qubit)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@kernel
|
|
57
|
+
def sqrt_z(qubit: Qubit) -> None:
|
|
58
|
+
"""Square root z gate applied to qubit."""
|
|
59
|
+
op = _op.s()
|
|
60
|
+
_qubit.apply(op, qubit)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
@kernel
|
|
64
|
+
def sqrt_z_adj(qubit: Qubit) -> None:
|
|
65
|
+
"""Adjoint square root z gate applied to qubit."""
|
|
66
|
+
op = _op.s()
|
|
67
|
+
_qubit.apply(_op.adjoint(op), qubit)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
@kernel
|
|
71
|
+
def h(qubit: Qubit) -> None:
|
|
72
|
+
"""Hadamard gate applied to qubit."""
|
|
73
|
+
op = _op.h()
|
|
74
|
+
_qubit.apply(op, qubit)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
@kernel
|
|
78
|
+
def s(qubit: Qubit) -> None:
|
|
79
|
+
"""s gate applied to qubit."""
|
|
80
|
+
op = _op.s()
|
|
81
|
+
_qubit.apply(op, qubit)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
@kernel
|
|
85
|
+
def s_adj(qubit: Qubit) -> None:
|
|
86
|
+
"""Adjoint s gate applied to qubit."""
|
|
87
|
+
op = _op.s()
|
|
88
|
+
_qubit.apply(_op.adjoint(op), qubit)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
@kernel
|
|
92
|
+
def t(qubit: Qubit) -> None:
|
|
93
|
+
"""t gate applied to qubit."""
|
|
94
|
+
op = _op.t()
|
|
95
|
+
_qubit.apply(op, qubit)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
@kernel
|
|
99
|
+
def t_adj(qubit: Qubit) -> None:
|
|
100
|
+
"""Adjoint t gate applied to qubit."""
|
|
101
|
+
op = _op.t()
|
|
102
|
+
_qubit.apply(_op.adjoint(op), qubit)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
@kernel
|
|
106
|
+
def p0(qubit: Qubit) -> None:
|
|
107
|
+
"""Projector on 0 applied to qubit."""
|
|
108
|
+
op = _op.p0()
|
|
109
|
+
_qubit.apply(op, qubit)
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
@kernel
|
|
113
|
+
def p1(qubit: Qubit) -> None:
|
|
114
|
+
"""Projector on 1 applied to qubit."""
|
|
115
|
+
op = _op.p1()
|
|
116
|
+
_qubit.apply(op, qubit)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
@kernel
|
|
120
|
+
def spin_n(qubit: Qubit) -> None:
|
|
121
|
+
"""Spin lowering gate applied to qubit."""
|
|
122
|
+
op = _op.spin_n()
|
|
123
|
+
_qubit.apply(op, qubit)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
@kernel
|
|
127
|
+
def spin_p(qubit: Qubit) -> None:
|
|
128
|
+
"""Spin raising gate applied to qubit."""
|
|
129
|
+
op = _op.spin_p()
|
|
130
|
+
_qubit.apply(op, qubit)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
@kernel
|
|
134
|
+
def reset(qubit: Qubit) -> None:
|
|
135
|
+
"""Reset qubit to 0."""
|
|
136
|
+
op = _op.reset()
|
|
137
|
+
_qubit.apply(op, qubit)
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
@kernel
|
|
141
|
+
def cx(control: Qubit, target: Qubit) -> None:
|
|
142
|
+
"""Controlled x gate applied to control and target"""
|
|
143
|
+
op = _op.cx()
|
|
144
|
+
_qubit.apply(op, control, target)
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
@kernel
|
|
148
|
+
def cy(control: Qubit, target: Qubit) -> None:
|
|
149
|
+
"""Controlled y gate applied to control and target"""
|
|
150
|
+
op = _op.cy()
|
|
151
|
+
_qubit.apply(op, control, target)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
@kernel
|
|
155
|
+
def cz(control: Qubit, target: Qubit) -> None:
|
|
156
|
+
"""Controlled z gate applied to control and target"""
|
|
157
|
+
op = _op.cz()
|
|
158
|
+
_qubit.apply(op, control, target)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
@kernel
|
|
162
|
+
def ch(control: Qubit, target: Qubit) -> None:
|
|
163
|
+
"""Controlled Hadamard gate applied to control and target"""
|
|
164
|
+
op = _op.ch()
|
|
165
|
+
_qubit.apply(op, control, target)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
@kernel
|
|
169
|
+
def u(theta: float, phi: float, lam: float, qubit: Qubit) -> None:
|
|
170
|
+
"""3D rotation gate applied to control and target"""
|
|
171
|
+
op = _op.u(theta, phi, lam)
|
|
172
|
+
_qubit.apply(op, qubit)
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
@kernel
|
|
176
|
+
def rx(theta: float, qubit: Qubit) -> None:
|
|
177
|
+
"""Rotation X gate applied to qubit."""
|
|
178
|
+
op = _op.rot(_op.x(), theta)
|
|
179
|
+
_qubit.apply(op, qubit)
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
@kernel
|
|
183
|
+
def ry(theta: float, qubit: Qubit) -> None:
|
|
184
|
+
"""Rotation Y gate applied to qubit."""
|
|
185
|
+
op = _op.rot(_op.y(), theta)
|
|
186
|
+
_qubit.apply(op, qubit)
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
@kernel
|
|
190
|
+
def rz(theta: float, qubit: Qubit) -> None:
|
|
191
|
+
"""Rotation Z gate applied to qubit."""
|
|
192
|
+
op = _op.rot(_op.z(), theta)
|
|
193
|
+
_qubit.apply(op, qubit)
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
from typing import Any, TypeVar
|
|
2
|
+
|
|
3
|
+
from kirin.dialects import ilist
|
|
4
|
+
|
|
5
|
+
from bloqade.types import Qubit
|
|
6
|
+
|
|
7
|
+
from . import op as _op, qubit as _qubit
|
|
8
|
+
from .groups import kernel
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@kernel
|
|
12
|
+
def x(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
13
|
+
"""x gate applied to qubits in parallel."""
|
|
14
|
+
op = _op.x()
|
|
15
|
+
_qubit.broadcast(op, qubits)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@kernel
|
|
19
|
+
def y(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
20
|
+
"""y gate applied to qubits in parallel."""
|
|
21
|
+
op = _op.y()
|
|
22
|
+
_qubit.broadcast(op, qubits)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@kernel
|
|
26
|
+
def z(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
27
|
+
"""z gate applied to qubits in parallel."""
|
|
28
|
+
op = _op.z()
|
|
29
|
+
_qubit.broadcast(op, qubits)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@kernel
|
|
33
|
+
def sqrt_x(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
34
|
+
"""Square root x gate applied to qubits in parallel."""
|
|
35
|
+
op = _op.sqrt_x()
|
|
36
|
+
_qubit.broadcast(op, qubits)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@kernel
|
|
40
|
+
def sqrt_y(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
41
|
+
"""Square root y gate applied to qubits in parallel."""
|
|
42
|
+
op = _op.sqrt_y()
|
|
43
|
+
_qubit.broadcast(op, qubits)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
@kernel
|
|
47
|
+
def sqrt_z(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
48
|
+
"""Square root gate applied to qubits in parallel."""
|
|
49
|
+
op = _op.s()
|
|
50
|
+
_qubit.broadcast(op, qubits)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
@kernel
|
|
54
|
+
def h(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
55
|
+
"""Hadamard gate applied to qubits in parallel."""
|
|
56
|
+
op = _op.h()
|
|
57
|
+
_qubit.broadcast(op, qubits)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
@kernel
|
|
61
|
+
def s(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
62
|
+
"""s gate applied to qubits in parallel."""
|
|
63
|
+
op = _op.s()
|
|
64
|
+
_qubit.broadcast(op, qubits)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@kernel
|
|
68
|
+
def t(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
69
|
+
"""t gate applied to qubits in parallel."""
|
|
70
|
+
op = _op.t()
|
|
71
|
+
_qubit.broadcast(op, qubits)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
@kernel
|
|
75
|
+
def p0(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
76
|
+
"""Projector on 0 applied to qubits in parallel."""
|
|
77
|
+
op = _op.p0()
|
|
78
|
+
_qubit.broadcast(op, qubits)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
@kernel
|
|
82
|
+
def p1(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
83
|
+
"""Projector on 1 applied to qubits in parallel."""
|
|
84
|
+
op = _op.p1()
|
|
85
|
+
_qubit.broadcast(op, qubits)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
@kernel
|
|
89
|
+
def spin_n(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
90
|
+
"""Spin lowering gate applied to qubits in parallel."""
|
|
91
|
+
op = _op.spin_n()
|
|
92
|
+
_qubit.broadcast(op, qubits)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
@kernel
|
|
96
|
+
def spin_p(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
97
|
+
"""Spin raising gate applied to qubits in parallel."""
|
|
98
|
+
op = _op.spin_p()
|
|
99
|
+
_qubit.broadcast(op, qubits)
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
@kernel
|
|
103
|
+
def reset(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
104
|
+
"""Reset qubit to 0."""
|
|
105
|
+
op = _op.reset()
|
|
106
|
+
_qubit.broadcast(op, qubits)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
N = TypeVar("N")
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
@kernel
|
|
113
|
+
def cx(controls: ilist.IList[Qubit, N], targets: ilist.IList[Qubit, N]) -> None:
|
|
114
|
+
"""Controlled x gate applied to controls and targets in parallel."""
|
|
115
|
+
op = _op.cx()
|
|
116
|
+
_qubit.broadcast(op, controls, targets)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
@kernel
|
|
120
|
+
def cy(controls: ilist.IList[Qubit, N], targets: ilist.IList[Qubit, N]) -> None:
|
|
121
|
+
"""Controlled y gate applied to controls and targets in parallel."""
|
|
122
|
+
op = _op.cy()
|
|
123
|
+
_qubit.broadcast(op, controls, targets)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
@kernel
|
|
127
|
+
def cz(controls: ilist.IList[Qubit, N], targets: ilist.IList[Qubit, N]) -> None:
|
|
128
|
+
"""Controlled z gate applied to controls and targets in parallel."""
|
|
129
|
+
op = _op.cz()
|
|
130
|
+
_qubit.broadcast(op, controls, targets)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
@kernel
|
|
134
|
+
def ch(controls: ilist.IList[Qubit, N], targets: ilist.IList[Qubit, N]) -> None:
|
|
135
|
+
"""Controlled Hadamard gate applied to controls and targets in parallel."""
|
|
136
|
+
op = _op.ch()
|
|
137
|
+
_qubit.broadcast(op, controls, targets)
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
@kernel
|
|
141
|
+
def u(theta: float, phi: float, lam: float, qubits: ilist.IList[Qubit, Any]) -> None:
|
|
142
|
+
"""3D rotation gate applied to controls and targets in parallel."""
|
|
143
|
+
op = _op.u(theta, phi, lam)
|
|
144
|
+
_qubit.broadcast(op, qubits)
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
@kernel
|
|
148
|
+
def rx(theta: float, qubits: ilist.IList[Qubit, Any]) -> None:
|
|
149
|
+
"""Rotation X gate applied to qubits in parallel."""
|
|
150
|
+
op = _op.rot(_op.x(), theta)
|
|
151
|
+
_qubit.broadcast(op, qubits)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
@kernel
|
|
155
|
+
def ry(theta: float, qubits: ilist.IList[Qubit, Any]) -> None:
|
|
156
|
+
"""Rotation Y gate applied to qubits in parallel."""
|
|
157
|
+
op = _op.rot(_op.y(), theta)
|
|
158
|
+
_qubit.broadcast(op, qubits)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
@kernel
|
|
162
|
+
def rz(theta: float, qubits: ilist.IList[Qubit, Any]) -> None:
|
|
163
|
+
"""Rotation Z gate applied to qubits in parallel."""
|
|
164
|
+
op = _op.rot(_op.z(), theta)
|
|
165
|
+
_qubit.broadcast(op, qubits)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
@kernel
|
|
169
|
+
def sqrt_x_adj(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
170
|
+
"""Adjoint sqrt_x gate applied to qubits in parallel."""
|
|
171
|
+
op = _op.sqrt_x()
|
|
172
|
+
_qubit.broadcast(_op.adjoint(op), qubits)
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
@kernel
|
|
176
|
+
def sqrt_y_adj(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
177
|
+
"""Adjoint sqrt_y gate applied to qubits in parallel."""
|
|
178
|
+
op = _op.sqrt_y()
|
|
179
|
+
_qubit.broadcast(_op.adjoint(op), qubits)
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
@kernel
|
|
183
|
+
def sqrt_z_adj(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
184
|
+
"""Adjoint square root z gate applied to qubits in parallel."""
|
|
185
|
+
op = _op.s()
|
|
186
|
+
_qubit.broadcast(_op.adjoint(op), qubits)
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
@kernel
|
|
190
|
+
def s_adj(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
191
|
+
"""Adjoint s gate applied to qubits in parallel."""
|
|
192
|
+
op = _op.s()
|
|
193
|
+
_qubit.broadcast(_op.adjoint(op), qubits)
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
@kernel
|
|
197
|
+
def t_adj(qubits: ilist.IList[Qubit, Any]) -> None:
|
|
198
|
+
"""Adjoint t gate applied to qubits in parallel."""
|
|
199
|
+
op = _op.t()
|
|
200
|
+
_qubit.broadcast(_op.adjoint(op), qubits)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bloqade-circuit
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.5
|
|
4
4
|
Summary: The software development toolkit for neutral atom arrays.
|
|
5
5
|
Author-email: Roger-luo <rluo@quera.com>, kaihsin <khwu@quera.com>, weinbe58 <pweinberg@quera.com>, johnzl-777 <jlong@quera.com>
|
|
6
6
|
License-File: LICENSE
|
|
@@ -22,7 +22,7 @@ bloqade/cirq_utils/noise/conflict_graph.py,sha256=ZUwPWTknrb6SgtZUVPeICn3YA-nUeW
|
|
|
22
22
|
bloqade/cirq_utils/noise/model.py,sha256=06Y_BLChOA-PhhAJcWLSgLVAAJoNjOrAujL1YCwcXA0,20590
|
|
23
23
|
bloqade/cirq_utils/noise/transform.py,sha256=tvDt4WMLM8dKPME51y0_peSZk2-jKmjq0urOxm0lWuQ,2309
|
|
24
24
|
bloqade/pyqrack/__init__.py,sha256=lonTS-luJkTVujCCtgdZRC12V7FQdoFcozAI-byXwN0,810
|
|
25
|
-
bloqade/pyqrack/base.py,sha256=
|
|
25
|
+
bloqade/pyqrack/base.py,sha256=g0GRlEgyJ_P8z-lR8RK2CAuRTj6KPfglKX0iwrgg4DM,4408
|
|
26
26
|
bloqade/pyqrack/device.py,sha256=40vduanEgA26GAW3buHoRpyqPA0xUt2tONY3w5JeH5s,7524
|
|
27
27
|
bloqade/pyqrack/reg.py,sha256=uTL07CT1R0xUsInLmwU9YuuNdV6lV0lCs1zhdUz1qIs,1660
|
|
28
28
|
bloqade/pyqrack/target.py,sha256=c78VtLWAiDNp_0sXwvVzhaEoeFsr1fUVsupxWuo6p3s,3661
|
|
@@ -125,10 +125,12 @@ bloqade/rewrite/rules/__init__.py,sha256=3e1Z5T3INqNtP6OU0Vivu_SdMOR_2KDixeA0Yjo
|
|
|
125
125
|
bloqade/rewrite/rules/flatten_ilist.py,sha256=QoIxMaBXSlatpWzi5s_MAPnV3bV3GeoWc31RBw0WQ3s,1465
|
|
126
126
|
bloqade/rewrite/rules/inline_getitem_ilist.py,sha256=uIXQRCsr3_GPMciDT4ghI-ezhQmkDcGcC6pguABPUVw,875
|
|
127
127
|
bloqade/rewrite/rules/split_ifs.py,sha256=Nm4lpEUHZcnCeewIld0tt7UuGO69LiBGl7Uybuwissw,2119
|
|
128
|
-
bloqade/squin/__init__.py,sha256=
|
|
128
|
+
bloqade/squin/__init__.py,sha256=b7ZD69ql9GriIPxN6JhWxANJVzuIJh_r-gC24wsW1mM,621
|
|
129
129
|
bloqade/squin/_typeinfer.py,sha256=bilWfC6whTMwewFCqDgB6vDHZsgXPr3azNOYqqnvtB4,780
|
|
130
|
+
bloqade/squin/gate.py,sha256=tCnjfrSVsXHX7VxkEulZ2SQS5ydtmON8QlcGibM6c2I,4028
|
|
130
131
|
bloqade/squin/groups.py,sha256=RXGJnNZUSXF_f5ljjhZ9At8UhaijayoxFoWvxEsUOWc,1310
|
|
131
132
|
bloqade/squin/lowering.py,sha256=SR6q-IfV8WHPKT97M7UFu5KoRgAojfDno8Bft1mUSKM,1736
|
|
133
|
+
bloqade/squin/parallel.py,sha256=X6Ps9kQIgnFMlZO14y2ntdxvivqbIP28PAWF8KmxByM,5172
|
|
132
134
|
bloqade/squin/qubit.py,sha256=LgNJsm6qCyP7_O-lZg3YT8IiqzF5W5ff1VwQ79nXN4c,5148
|
|
133
135
|
bloqade/squin/types.py,sha256=T3lkqid4HEWuAK_wRns_p-K5DbLDwlldoyZtVay7A3o,119
|
|
134
136
|
bloqade/squin/wire.py,sha256=GZhF0EHCu7OU70zTV_N83yann-eQnYG_lM2u0QYFoAs,6596
|
|
@@ -228,7 +230,7 @@ bloqade/visual/animation/runtime/atoms.py,sha256=EmjxhujLiHHPS_HtH_B-7TiqeHgvW5u
|
|
|
228
230
|
bloqade/visual/animation/runtime/ppoly.py,sha256=JB9IP53N1w6adBJEue6J5Nmj818Id9JvrlgrmiQTU1I,1385
|
|
229
231
|
bloqade/visual/animation/runtime/qpustate.py,sha256=rlmxQeJSvaohXrTpXQL5y-NJcpvfW33xPaYM1slv7cc,4270
|
|
230
232
|
bloqade/visual/animation/runtime/utils.py,sha256=ju9IzOWX-vKwfpqUjlUKu3Ssr_UFPFFq-tzH_Nqyo_c,1212
|
|
231
|
-
bloqade_circuit-0.6.
|
|
232
|
-
bloqade_circuit-0.6.
|
|
233
|
-
bloqade_circuit-0.6.
|
|
234
|
-
bloqade_circuit-0.6.
|
|
233
|
+
bloqade_circuit-0.6.5.dist-info/METADATA,sha256=8Zb_1qZrO5V9v3JR32KxFQk9malYU1JPPJpkf1U9RPc,3849
|
|
234
|
+
bloqade_circuit-0.6.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
235
|
+
bloqade_circuit-0.6.5.dist-info/licenses/LICENSE,sha256=S5GIJwR6QCixPA9wryYb44ZEek0Nz4rt_zLUqP05UbU,13160
|
|
236
|
+
bloqade_circuit-0.6.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|