bloqade-circuit 0.7.12__py3-none-any.whl → 0.8.0__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/analysis/address/__init__.py +8 -4
- bloqade/analysis/address/analysis.py +119 -29
- bloqade/analysis/address/impls.py +290 -87
- bloqade/analysis/address/lattice.py +209 -24
- bloqade/analysis/fidelity/analysis.py +2 -2
- bloqade/analysis/measure_id/impls.py +3 -27
- bloqade/cirq_utils/__init__.py +3 -1
- bloqade/cirq_utils/emit/__init__.py +3 -0
- bloqade/cirq_utils/emit/base.py +243 -0
- bloqade/cirq_utils/emit/gate.py +104 -0
- bloqade/cirq_utils/emit/noise.py +90 -0
- bloqade/cirq_utils/emit/qubit.py +35 -0
- bloqade/cirq_utils/lowering.py +664 -0
- bloqade/native/__init__.py +0 -1
- bloqade/native/_prelude.py +3 -3
- bloqade/native/dialects/gate/__init__.py +2 -0
- bloqade/native/dialects/gate/_dialect.py +3 -0
- bloqade/native/dialects/{gates → gate}/_interface.py +5 -5
- bloqade/native/dialects/{gates → gate}/stmts.py +5 -5
- bloqade/native/stdlib/broadcast.py +19 -19
- bloqade/native/stdlib/simple.py +14 -13
- bloqade/native/upstream/__init__.py +5 -0
- bloqade/native/upstream/squin2native.py +136 -0
- bloqade/pyqrack/__init__.py +1 -2
- bloqade/pyqrack/device.py +6 -17
- bloqade/pyqrack/native.py +17 -17
- bloqade/pyqrack/reg.py +1 -6
- bloqade/pyqrack/squin/gate/__init__.py +1 -0
- bloqade/pyqrack/squin/gate/gate.py +136 -0
- bloqade/pyqrack/squin/noise/native.py +120 -54
- bloqade/pyqrack/squin/qubit.py +25 -41
- bloqade/pyqrack/target.py +2 -2
- bloqade/qasm2/dialects/core/address.py +21 -12
- bloqade/qasm2/dialects/noise/fidelity.py +2 -6
- bloqade/qasm2/dialects/noise/model.py +2 -1
- bloqade/qasm2/passes/parallel.py +3 -1
- bloqade/qasm2/rewrite/__init__.py +0 -1
- bloqade/qasm2/rewrite/noise/heuristic_noise.py +7 -17
- bloqade/qasm2/rewrite/parallel_to_glob.py +28 -15
- bloqade/qasm2/rewrite/parallel_to_uop.py +2 -8
- bloqade/qubit/__init__.py +12 -0
- bloqade/qubit/_dialect.py +3 -0
- bloqade/qubit/_interface.py +49 -0
- bloqade/qubit/_prelude.py +45 -0
- bloqade/qubit/analysis/__init__.py +1 -0
- bloqade/qubit/analysis/address_impl.py +40 -0
- bloqade/qubit/stdlib/__init__.py +2 -0
- bloqade/qubit/stdlib/_new.py +34 -0
- bloqade/qubit/stdlib/broadcast.py +62 -0
- bloqade/qubit/stdlib/simple.py +59 -0
- bloqade/qubit/stmts.py +60 -0
- bloqade/rewrite/passes/aggressive_unroll.py +2 -1
- bloqade/squin/__init__.py +44 -17
- bloqade/squin/analysis/__init__.py +0 -1
- bloqade/squin/analysis/schedule.py +2 -2
- bloqade/squin/gate/__init__.py +2 -0
- bloqade/squin/gate/_dialect.py +3 -0
- bloqade/squin/gate/_interface.py +98 -0
- bloqade/squin/gate/stmts.py +119 -0
- bloqade/squin/groups.py +4 -21
- bloqade/squin/noise/__init__.py +1 -9
- bloqade/squin/noise/_dialect.py +1 -1
- bloqade/squin/noise/_interface.py +45 -0
- bloqade/squin/noise/stmts.py +65 -29
- bloqade/squin/rewrite/U3_to_clifford.py +70 -51
- bloqade/squin/rewrite/__init__.py +0 -2
- bloqade/squin/rewrite/remove_dangling_qubits.py +2 -2
- bloqade/squin/rewrite/wrap_analysis.py +4 -35
- bloqade/squin/stdlib/broadcast/__init__.py +34 -0
- bloqade/squin/stdlib/broadcast/_qubit.py +4 -0
- bloqade/squin/stdlib/broadcast/gate.py +260 -0
- bloqade/squin/stdlib/broadcast/noise.py +144 -0
- bloqade/squin/stdlib/simple/__init__.py +33 -0
- bloqade/squin/stdlib/simple/gate.py +242 -0
- bloqade/squin/stdlib/simple/noise.py +126 -0
- bloqade/stim/__init__.py +1 -0
- bloqade/stim/_wrappers.py +6 -0
- bloqade/stim/dialects/noise/emit.py +6 -1
- bloqade/stim/dialects/noise/stmts.py +5 -3
- bloqade/stim/emit/stim_str.py +2 -0
- bloqade/stim/parse/lowering.py +12 -17
- bloqade/stim/passes/__init__.py +0 -1
- bloqade/stim/passes/flatten.py +26 -0
- bloqade/stim/passes/simplify_ifs.py +6 -1
- bloqade/stim/passes/squin_to_stim.py +4 -70
- bloqade/stim/rewrite/__init__.py +0 -4
- bloqade/stim/rewrite/ifs_to_stim.py +23 -29
- bloqade/stim/rewrite/qubit_to_stim.py +90 -41
- bloqade/stim/rewrite/squin_measure.py +9 -18
- bloqade/stim/rewrite/squin_noise.py +132 -108
- bloqade/stim/rewrite/util.py +5 -204
- bloqade/types.py +10 -0
- {bloqade_circuit-0.7.12.dist-info → bloqade_circuit-0.8.0.dist-info}/METADATA +2 -2
- {bloqade_circuit-0.7.12.dist-info → bloqade_circuit-0.8.0.dist-info}/RECORD +96 -100
- bloqade/native/dialects/gates/__init__.py +0 -3
- bloqade/native/dialects/gates/_dialect.py +0 -3
- bloqade/pyqrack/squin/op.py +0 -180
- bloqade/pyqrack/squin/runtime.py +0 -543
- bloqade/pyqrack/squin/wire.py +0 -51
- bloqade/squin/_typeinfer.py +0 -20
- bloqade/squin/analysis/address_impl.py +0 -71
- bloqade/squin/analysis/nsites/__init__.py +0 -9
- bloqade/squin/analysis/nsites/analysis.py +0 -50
- bloqade/squin/analysis/nsites/impls.py +0 -99
- bloqade/squin/analysis/nsites/lattice.py +0 -49
- bloqade/squin/cirq/__init__.py +0 -306
- bloqade/squin/cirq/emit/emit_circuit.py +0 -129
- bloqade/squin/cirq/emit/noise.py +0 -49
- bloqade/squin/cirq/emit/op.py +0 -176
- bloqade/squin/cirq/emit/qubit.py +0 -58
- bloqade/squin/cirq/emit/runtime.py +0 -242
- bloqade/squin/cirq/lowering.py +0 -439
- bloqade/squin/lowering.py +0 -80
- bloqade/squin/noise/_wrapper.py +0 -36
- bloqade/squin/noise/rewrite.py +0 -129
- bloqade/squin/op/__init__.py +0 -41
- bloqade/squin/op/_dialect.py +0 -3
- bloqade/squin/op/_wrapper.py +0 -121
- bloqade/squin/op/number.py +0 -5
- bloqade/squin/op/rewrite.py +0 -46
- bloqade/squin/op/stdlib.py +0 -62
- bloqade/squin/op/stmts.py +0 -300
- bloqade/squin/op/traits.py +0 -43
- bloqade/squin/op/types.py +0 -128
- bloqade/squin/parallel.py +0 -200
- bloqade/squin/qubit.py +0 -194
- bloqade/squin/rewrite/canonicalize.py +0 -60
- bloqade/squin/rewrite/desugar.py +0 -102
- bloqade/squin/stdlib/channel.py +0 -86
- bloqade/squin/stdlib/gate.py +0 -201
- bloqade/squin/types.py +0 -8
- bloqade/squin/wire.py +0 -201
- bloqade/stim/rewrite/wire_identity_elimination.py +0 -24
- bloqade/stim/rewrite/wire_to_stim.py +0 -57
- {bloqade_circuit-0.7.12.dist-info → bloqade_circuit-0.8.0.dist-info}/WHEEL +0 -0
- {bloqade_circuit-0.7.12.dist-info → bloqade_circuit-0.8.0.dist-info}/licenses/LICENSE +0 -0
bloqade/stim/rewrite/util.py
CHANGED
|
@@ -1,35 +1,8 @@
|
|
|
1
|
-
from
|
|
2
|
-
|
|
3
|
-
from kirin import ir, interp
|
|
4
|
-
from kirin.analysis import const
|
|
1
|
+
from kirin import ir
|
|
5
2
|
from kirin.dialects import py
|
|
6
|
-
from kirin.rewrite.abc import RewriteResult
|
|
7
3
|
|
|
8
|
-
from bloqade.squin import op, wire, noise as squin_noise, qubit
|
|
9
4
|
from bloqade.squin.rewrite import AddressAttribute
|
|
10
|
-
from bloqade.
|
|
11
|
-
from bloqade.analysis.address import AddressReg, AddressWire, AddressQubit, AddressTuple
|
|
12
|
-
|
|
13
|
-
SQUIN_STIM_OP_MAPPING = {
|
|
14
|
-
op.stmts.X: gate.X,
|
|
15
|
-
op.stmts.Y: gate.Y,
|
|
16
|
-
op.stmts.Z: gate.Z,
|
|
17
|
-
op.stmts.H: gate.H,
|
|
18
|
-
op.stmts.S: gate.S,
|
|
19
|
-
op.stmts.SqrtX: gate.SqrtX,
|
|
20
|
-
op.stmts.SqrtY: gate.SqrtY,
|
|
21
|
-
op.stmts.Identity: gate.Identity,
|
|
22
|
-
op.stmts.Reset: collapse.RZ,
|
|
23
|
-
squin_noise.stmts.QubitLoss: stim_noise.QubitLoss,
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
# Squin allows creation of control gates where the gate can be any operator,
|
|
27
|
-
# but Stim only supports CX, CY, and CZ as control gates.
|
|
28
|
-
SQUIN_STIM_CONTROL_GATE_MAPPING = {
|
|
29
|
-
op.stmts.X: gate.CX,
|
|
30
|
-
op.stmts.Y: gate.CY,
|
|
31
|
-
op.stmts.Z: gate.CZ,
|
|
32
|
-
}
|
|
5
|
+
from bloqade.analysis.address import AddressReg, AddressQubit
|
|
33
6
|
|
|
34
7
|
|
|
35
8
|
def create_and_insert_qubit_idx_stmt(
|
|
@@ -46,189 +19,17 @@ def insert_qubit_idx_from_address(
|
|
|
46
19
|
"""
|
|
47
20
|
Extract qubit indices from an AddressAttribute and insert them into the SSA form.
|
|
48
21
|
"""
|
|
49
|
-
address_data = address.address
|
|
50
22
|
qubit_idx_ssas = []
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
for address_qubit in address_data.data:
|
|
54
|
-
if not isinstance(address_qubit, AddressQubit):
|
|
55
|
-
return
|
|
23
|
+
if isinstance(address_data := address.address, AddressReg):
|
|
24
|
+
for qubit_idx in address_data.qubits:
|
|
56
25
|
create_and_insert_qubit_idx_stmt(
|
|
57
|
-
|
|
58
|
-
)
|
|
59
|
-
elif isinstance(address_data, AddressReg):
|
|
60
|
-
for qubit_idx in address_data.data:
|
|
61
|
-
create_and_insert_qubit_idx_stmt(
|
|
62
|
-
qubit_idx, stmt_to_insert_before, qubit_idx_ssas
|
|
26
|
+
qubit_idx.data, stmt_to_insert_before, qubit_idx_ssas
|
|
63
27
|
)
|
|
64
28
|
elif isinstance(address_data, AddressQubit):
|
|
65
29
|
create_and_insert_qubit_idx_stmt(
|
|
66
30
|
address_data.data, stmt_to_insert_before, qubit_idx_ssas
|
|
67
31
|
)
|
|
68
|
-
elif isinstance(address_data, AddressWire):
|
|
69
|
-
address_qubit = address_data.origin_qubit
|
|
70
|
-
create_and_insert_qubit_idx_stmt(
|
|
71
|
-
address_qubit.data, stmt_to_insert_before, qubit_idx_ssas
|
|
72
|
-
)
|
|
73
32
|
else:
|
|
74
33
|
return
|
|
75
34
|
|
|
76
35
|
return tuple(qubit_idx_ssas)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
def insert_qubit_idx_from_wire_ssa(
|
|
80
|
-
wire_ssas: tuple[ir.SSAValue, ...], stmt_to_insert_before: ir.Statement
|
|
81
|
-
) -> tuple[ir.SSAValue, ...] | None:
|
|
82
|
-
"""
|
|
83
|
-
Extract qubit indices from wire SSA values and insert them into the SSA form.
|
|
84
|
-
"""
|
|
85
|
-
qubit_idx_ssas = []
|
|
86
|
-
for wire_ssa in wire_ssas:
|
|
87
|
-
address_attribute = wire_ssa.hints.get("address")
|
|
88
|
-
if address_attribute is None:
|
|
89
|
-
return
|
|
90
|
-
assert isinstance(address_attribute, AddressAttribute)
|
|
91
|
-
wire_address = address_attribute.address
|
|
92
|
-
assert isinstance(wire_address, AddressWire)
|
|
93
|
-
qubit_idx = wire_address.origin_qubit.data
|
|
94
|
-
qubit_idx_stmt = py.Constant(qubit_idx)
|
|
95
|
-
qubit_idx_ssas.append(qubit_idx_stmt.result)
|
|
96
|
-
qubit_idx_stmt.insert_before(stmt_to_insert_before)
|
|
97
|
-
|
|
98
|
-
return tuple(qubit_idx_ssas)
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
def insert_qubit_idx_after_apply(
|
|
102
|
-
stmt: wire.Apply | qubit.Apply | wire.Broadcast | qubit.Broadcast,
|
|
103
|
-
) -> tuple[ir.SSAValue, ...] | None:
|
|
104
|
-
"""
|
|
105
|
-
Extract qubit indices from Apply or Broadcast statements.
|
|
106
|
-
"""
|
|
107
|
-
if isinstance(stmt, (qubit.Apply, qubit.Broadcast)):
|
|
108
|
-
qubits = stmt.qubits
|
|
109
|
-
if len(qubits) == 1:
|
|
110
|
-
address_attribute = qubits[0].hints.get("address")
|
|
111
|
-
if address_attribute is None:
|
|
112
|
-
return
|
|
113
|
-
else:
|
|
114
|
-
address_attribute_data = []
|
|
115
|
-
for qbit in qubits:
|
|
116
|
-
address_attribute = qbit.hints.get("address")
|
|
117
|
-
if not isinstance(address_attribute, AddressAttribute):
|
|
118
|
-
return
|
|
119
|
-
address_attribute_data.append(address_attribute.address)
|
|
120
|
-
address_attribute = AddressAttribute(
|
|
121
|
-
AddressTuple(data=tuple(address_attribute_data))
|
|
122
|
-
)
|
|
123
|
-
|
|
124
|
-
assert isinstance(address_attribute, AddressAttribute)
|
|
125
|
-
return insert_qubit_idx_from_address(
|
|
126
|
-
address=address_attribute, stmt_to_insert_before=stmt
|
|
127
|
-
)
|
|
128
|
-
elif isinstance(stmt, (wire.Apply, wire.Broadcast)):
|
|
129
|
-
wire_ssas = stmt.inputs
|
|
130
|
-
return insert_qubit_idx_from_wire_ssa(
|
|
131
|
-
wire_ssas=wire_ssas, stmt_to_insert_before=stmt
|
|
132
|
-
)
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
def rewrite_Control(
|
|
136
|
-
stmt_with_ctrl: qubit.Apply | wire.Apply | qubit.Broadcast | wire.Broadcast,
|
|
137
|
-
) -> RewriteResult:
|
|
138
|
-
"""
|
|
139
|
-
Handle control gates for Apply and Broadcast statements.
|
|
140
|
-
"""
|
|
141
|
-
ctrl_op = stmt_with_ctrl.operator.owner
|
|
142
|
-
assert isinstance(ctrl_op, op.stmts.Control)
|
|
143
|
-
|
|
144
|
-
ctrl_op_target_gate = ctrl_op.op.owner
|
|
145
|
-
assert isinstance(ctrl_op_target_gate, op.stmts.Operator)
|
|
146
|
-
|
|
147
|
-
qubit_idx_ssas = insert_qubit_idx_after_apply(stmt=stmt_with_ctrl)
|
|
148
|
-
if qubit_idx_ssas is None:
|
|
149
|
-
return RewriteResult()
|
|
150
|
-
|
|
151
|
-
# Separate control and target qubits
|
|
152
|
-
target_qubits = []
|
|
153
|
-
ctrl_qubits = []
|
|
154
|
-
for i in range(len(qubit_idx_ssas)):
|
|
155
|
-
if (i % 2) == 0:
|
|
156
|
-
ctrl_qubits.append(qubit_idx_ssas[i])
|
|
157
|
-
else:
|
|
158
|
-
target_qubits.append(qubit_idx_ssas[i])
|
|
159
|
-
|
|
160
|
-
target_qubits = tuple(target_qubits)
|
|
161
|
-
ctrl_qubits = tuple(ctrl_qubits)
|
|
162
|
-
|
|
163
|
-
stim_gate = SQUIN_STIM_CONTROL_GATE_MAPPING.get(type(ctrl_op_target_gate))
|
|
164
|
-
if stim_gate is None:
|
|
165
|
-
return RewriteResult()
|
|
166
|
-
|
|
167
|
-
stim_stmt = stim_gate(controls=ctrl_qubits, targets=target_qubits)
|
|
168
|
-
|
|
169
|
-
if isinstance(stmt_with_ctrl, (wire.Apply, wire.Broadcast)):
|
|
170
|
-
create_wire_passthrough(stmt_with_ctrl)
|
|
171
|
-
|
|
172
|
-
stmt_with_ctrl.replace_by(stim_stmt)
|
|
173
|
-
|
|
174
|
-
return RewriteResult(has_done_something=True)
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
def rewrite_QubitLoss(
|
|
178
|
-
stmt: qubit.Apply | qubit.Broadcast | wire.Broadcast | wire.Apply,
|
|
179
|
-
) -> RewriteResult:
|
|
180
|
-
"""
|
|
181
|
-
Rewrite QubitLoss statements to Stim's TrivialError.
|
|
182
|
-
"""
|
|
183
|
-
|
|
184
|
-
squin_loss_op = stmt.operator.owner
|
|
185
|
-
assert isinstance(squin_loss_op, squin_noise.stmts.QubitLoss)
|
|
186
|
-
|
|
187
|
-
qubit_idx_ssas = insert_qubit_idx_after_apply(stmt=stmt)
|
|
188
|
-
if qubit_idx_ssas is None:
|
|
189
|
-
return RewriteResult()
|
|
190
|
-
|
|
191
|
-
stim_loss_stmt = stim_noise.QubitLoss(
|
|
192
|
-
targets=qubit_idx_ssas,
|
|
193
|
-
probs=(squin_loss_op.p,),
|
|
194
|
-
)
|
|
195
|
-
|
|
196
|
-
if isinstance(stmt, (wire.Apply, wire.Broadcast)):
|
|
197
|
-
create_wire_passthrough(stmt)
|
|
198
|
-
|
|
199
|
-
stmt.replace_by(stim_loss_stmt)
|
|
200
|
-
|
|
201
|
-
return RewriteResult(has_done_something=True)
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
def create_wire_passthrough(stmt: wire.Apply | wire.Broadcast) -> None:
|
|
205
|
-
|
|
206
|
-
for input_wire, output_wire in zip(stmt.inputs, stmt.results):
|
|
207
|
-
# have to "reroute" the input of these statements to directly plug in
|
|
208
|
-
# to subsequent statements, remove dependency on the current statement
|
|
209
|
-
output_wire.replace_by(input_wire)
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
def is_measure_result_used(
|
|
213
|
-
stmt: qubit.MeasureQubit | qubit.MeasureQubitList | wire.Measure,
|
|
214
|
-
) -> bool:
|
|
215
|
-
"""
|
|
216
|
-
Check if the result of a measure statement is used in the program.
|
|
217
|
-
"""
|
|
218
|
-
return bool(stmt.result.uses)
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
T = TypeVar("T")
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
def get_const_value(typ: type[T], value: ir.SSAValue) -> T:
|
|
225
|
-
if isinstance(hint := value.hints.get("const"), const.Value):
|
|
226
|
-
data = hint.data
|
|
227
|
-
if isinstance(data, typ):
|
|
228
|
-
return hint.data
|
|
229
|
-
raise interp.InterpreterError(
|
|
230
|
-
f"Expected constant value <type = {typ}>, got {data}"
|
|
231
|
-
)
|
|
232
|
-
raise interp.InterpreterError(
|
|
233
|
-
f"Expected constant value <type = {typ}>, got {value}"
|
|
234
|
-
)
|
bloqade/types.py
CHANGED
|
@@ -22,3 +22,13 @@ class Qubit(ABC):
|
|
|
22
22
|
|
|
23
23
|
QubitType = types.PyClass(Qubit)
|
|
24
24
|
"""Kirin type for a qubit."""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class MeasurementResult:
|
|
28
|
+
"""Runtime representation of the result of a measurement on a qubit."""
|
|
29
|
+
|
|
30
|
+
pass
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
MeasurementResultType = types.PyClass(MeasurementResult)
|
|
34
|
+
"""Kirin type for a measurement result."""
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bloqade-circuit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
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
|
|
7
7
|
Requires-Python: >=3.10
|
|
8
|
-
Requires-Dist: kirin-toolchain~=0.17.
|
|
8
|
+
Requires-Dist: kirin-toolchain~=0.17.30
|
|
9
9
|
Requires-Dist: numpy>=1.22.0
|
|
10
10
|
Requires-Dist: pandas>=2.2.3
|
|
11
11
|
Requires-Dist: pydantic<2.11.0,>=1.3.0
|
|
@@ -1,42 +1,50 @@
|
|
|
1
1
|
bloqade/device.py,sha256=y54uCyD8lfgOaZshjxd1DXf4lrwjVvNEtrx6KeeDup0,3888
|
|
2
2
|
bloqade/task.py,sha256=L7l8TAc9e2kaOA24Qrh15pfUPY21xRkUQ86OtAR9Sog,2861
|
|
3
3
|
bloqade/test_utils.py,sha256=rYUIOdGpjnoIIAthjhiTPbji3ytc23ry3lj_s2EaSFw,874
|
|
4
|
-
bloqade/types.py,sha256=
|
|
4
|
+
bloqade/types.py,sha256=1bgvSmYdynIrOMAmTK7rsUB9TWD3__uoeeGbiKWTJU0,662
|
|
5
5
|
bloqade/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
bloqade/analysis/address/__init__.py,sha256=
|
|
7
|
-
bloqade/analysis/address/analysis.py,sha256=
|
|
8
|
-
bloqade/analysis/address/impls.py,sha256=
|
|
9
|
-
bloqade/analysis/address/lattice.py,sha256=
|
|
6
|
+
bloqade/analysis/address/__init__.py,sha256=cWEtk7i6jfbPDICFAITxfwAIiJIQFAr9U3lYXpObwh8,445
|
|
7
|
+
bloqade/analysis/address/analysis.py,sha256=M39EFTLaZQN71hCmeBUSxOK7HnIZfCaQ48ngWDWF9rI,5323
|
|
8
|
+
bloqade/analysis/address/impls.py,sha256=QjKGpGyc3SYvnyq_Dc0nBDIkb1BuZw5A3lWHaxMEWgg,11318
|
|
9
|
+
bloqade/analysis/address/lattice.py,sha256=qMv6ntYcMO0fK-ccBTONXKJ4a3nkRSwDiztV9DcNIYc,8102
|
|
10
10
|
bloqade/analysis/fidelity/__init__.py,sha256=iJkhoHvCMU9bKxQqgxIWKQWvpqNFRgNBI5DK8-4RAB8,59
|
|
11
|
-
bloqade/analysis/fidelity/analysis.py,sha256=
|
|
11
|
+
bloqade/analysis/fidelity/analysis.py,sha256=VCBd-hfSlaGttL8JSz-7l3ifpYXnAzzaMcqTnIx_d04,3236
|
|
12
12
|
bloqade/analysis/measure_id/__init__.py,sha256=r_R_br1e3H7ZzwkeQw4TnDAP4M_bUaRlRb7ZRdowvNI,145
|
|
13
13
|
bloqade/analysis/measure_id/analysis.py,sha256=D8KcV8aL1yrqKhtqgaqMArX-PGXYcFXumEC5tx36plU,1974
|
|
14
|
-
bloqade/analysis/measure_id/impls.py,sha256=
|
|
14
|
+
bloqade/analysis/measure_id/impls.py,sha256=KsMz9Lyci4in6sKyuDDt_LCMZUVTgYaGgqve8Nfg5s8,6236
|
|
15
15
|
bloqade/analysis/measure_id/lattice.py,sha256=WPrn0R79umCH909BFWsUJ64qx9n_3KYimIW5UaXNuGU,1891
|
|
16
|
-
bloqade/cirq_utils/__init__.py,sha256=
|
|
16
|
+
bloqade/cirq_utils/__init__.py,sha256=euOBePhGrYOZsUn_IJXHGUQCxA6y3GBR6G3o9JvX21k,410
|
|
17
17
|
bloqade/cirq_utils/lineprog.py,sha256=JosrhfeOHI9FycUT_sYFj8TBzLpo97TL8zK-Ap2U4eQ,11021
|
|
18
|
+
bloqade/cirq_utils/lowering.py,sha256=cuIIldcXuT92dMTILLV_Fm1TozHLl0S3Jtg1386RSn4,23792
|
|
18
19
|
bloqade/cirq_utils/parallelize.py,sha256=u9AP6l7YwBatFfIvrcCjbcYMiavk7MU6HKSKPkqlxtY,13803
|
|
20
|
+
bloqade/cirq_utils/emit/__init__.py,sha256=_NnnLT47nPFFkXY8EF3wrLHhAaKTl-8_zKqkKZ8Kpes,139
|
|
21
|
+
bloqade/cirq_utils/emit/base.py,sha256=bibUSCriEc1EPTKu-6q4w5CZcl5GLTAZ43wqD8bzu7M,8102
|
|
22
|
+
bloqade/cirq_utils/emit/gate.py,sha256=hPggg5kBSbejR-5ri_cEmghrA8bh75n_-KyMz9dNAFg,2984
|
|
23
|
+
bloqade/cirq_utils/emit/noise.py,sha256=9UljeIwT5XT73mzXvdqE1Bdi8m9R1CYznbFNcXS_tOU,2468
|
|
24
|
+
bloqade/cirq_utils/emit/qubit.py,sha256=lzSn19cVkxuLRIwo6ixnnumwBZW2LJ5g76FHPVYAnME,1047
|
|
19
25
|
bloqade/cirq_utils/noise/__init__.py,sha256=hUBi53U0wE4u3AqGh5cNdgdCspt3O-Vw-SR68cfBZYc,421
|
|
20
26
|
bloqade/cirq_utils/noise/_two_zone_utils.py,sha256=iq4nwdJQITFlGB61wfrV7vyPA2194p-i_nv36powZ90,17883
|
|
21
27
|
bloqade/cirq_utils/noise/conflict_graph.py,sha256=ZUwPWTknrb6SgtZUVPeICn3YA-nUeWQJDuKKX5jL9tE,7179
|
|
22
28
|
bloqade/cirq_utils/noise/model.py,sha256=fhznG0P_SUtl7LBNIANuNi5MGY9ks241UW7m0rg2iNs,18782
|
|
23
29
|
bloqade/cirq_utils/noise/transform.py,sha256=pauFnOKbk2QjxeyXEV_x2zyRGypr5wiQ6ySirU7C2zg,2278
|
|
24
|
-
bloqade/native/__init__.py,sha256=
|
|
25
|
-
bloqade/native/_prelude.py,sha256=
|
|
30
|
+
bloqade/native/__init__.py,sha256=ckZjzkPGV08CXmBKAHutlVU_AlLIwzBmlkNOTuJVBx0,427
|
|
31
|
+
bloqade/native/_prelude.py,sha256=ktF91AQrWVswjc48ZnSi0Uqrz5QEtkU0RWld8TqL4MQ,1250
|
|
26
32
|
bloqade/native/dialects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
-
bloqade/native/dialects/
|
|
28
|
-
bloqade/native/dialects/
|
|
29
|
-
bloqade/native/dialects/
|
|
30
|
-
bloqade/native/dialects/
|
|
33
|
+
bloqade/native/dialects/gate/__init__.py,sha256=w5o5Fa2br2q6VG2D1WJ4hofduBk-9QuDIvge8FSJ-oU,70
|
|
34
|
+
bloqade/native/dialects/gate/_dialect.py,sha256=oRBmg4jkT3hhwpYnv9uAGLb76legyteGT5UjmXuXaP0,58
|
|
35
|
+
bloqade/native/dialects/gate/_interface.py,sha256=R-91lFvarmlQXOF6YDDmgzLRHDeBCwcecFaR6NbFAOI,536
|
|
36
|
+
bloqade/native/dialects/gate/stmts.py,sha256=FjMO13pdAXa0Mp4gVf4h0yf787UWQdpqexB8LO8lUMY,1001
|
|
31
37
|
bloqade/native/stdlib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
-
bloqade/native/stdlib/broadcast.py,sha256=
|
|
33
|
-
bloqade/native/stdlib/simple.py,sha256=
|
|
34
|
-
bloqade/
|
|
38
|
+
bloqade/native/stdlib/broadcast.py,sha256=OHj1uDDER_80F734eIsBkGTkDEvk7eHS3YaKcUy-MNg,6050
|
|
39
|
+
bloqade/native/stdlib/simple.py,sha256=0ZHpJfqB6tbIaIxUmN52MDE9qPboo1H8w_u9L7Ff8sY,5352
|
|
40
|
+
bloqade/native/upstream/__init__.py,sha256=IoqsQ5MK0D63kcrwh1VBxOYtdoJIndIDDThPqYBvNsI,136
|
|
41
|
+
bloqade/native/upstream/squin2native.py,sha256=4LmQ4l5Ika8OP2FBEBkvNBvr1b5knFs7armQM4C0Gc8,4601
|
|
42
|
+
bloqade/pyqrack/__init__.py,sha256=MHQ861MamWKQObIgJGCBd-oohRBvJTL8XdsRBw7Kq6w,833
|
|
35
43
|
bloqade/pyqrack/base.py,sha256=Q2GjAcqEZBo-Lhe2jpXuNCB0xXVIdwtdy6cUmDM_OZI,4623
|
|
36
|
-
bloqade/pyqrack/device.py,sha256=
|
|
37
|
-
bloqade/pyqrack/native.py,sha256=
|
|
38
|
-
bloqade/pyqrack/reg.py,sha256=
|
|
39
|
-
bloqade/pyqrack/target.py,sha256=
|
|
44
|
+
bloqade/pyqrack/device.py,sha256=Y3xW0yhav0XrWAvhx9kDIhQinGq5K27QXsOWm_dKatU,14837
|
|
45
|
+
bloqade/pyqrack/native.py,sha256=FcdYb5H65Mgf8lafG-hcugx4Oa1cD8nEYNxGboAA7Lc,1877
|
|
46
|
+
bloqade/pyqrack/reg.py,sha256=x227OK2hYX8zAUwlDvoFWrJDFxxrXcS9DNNecWe1s7c,1797
|
|
47
|
+
bloqade/pyqrack/target.py,sha256=fJo7YdAERC69Kyx1Xe9zlm58mpWTSrCclZL38Arf4No,3665
|
|
40
48
|
bloqade/pyqrack/task.py,sha256=nRmI3tM_y4134_Uld-D9xwNXG9ie-OHNAqwRT5Ss-Y0,5266
|
|
41
49
|
bloqade/pyqrack/noise/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
50
|
bloqade/pyqrack/noise/native.py,sha256=BmRlRzqCzvSgfSsDlIjuB8L0gx4uaPqmPyfJ5-Ole6M,2751
|
|
@@ -46,12 +54,11 @@ bloqade/pyqrack/qasm2/glob.py,sha256=EGe7sh9SuvpRW4V4rFcX6Gf7ot8iyThYbsdPeEBKzYM
|
|
|
46
54
|
bloqade/pyqrack/qasm2/parallel.py,sha256=ITetuXOH2KUDpDOBuFnJoz2DhduvyBC72cOAOOixTaM,1606
|
|
47
55
|
bloqade/pyqrack/qasm2/uop.py,sha256=bLZONsEK15ymFGIQwy7muQv-TX0mvLrECuMp1Y3XTfA,8612
|
|
48
56
|
bloqade/pyqrack/squin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
-
bloqade/pyqrack/squin/
|
|
50
|
-
bloqade/pyqrack/squin/
|
|
51
|
-
bloqade/pyqrack/squin/
|
|
52
|
-
bloqade/pyqrack/squin/wire.py,sha256=rqlAeU-r_EHOwJMqHrEAxpZ_rKsvUpwGG7MP4BW75Nw,1658
|
|
57
|
+
bloqade/pyqrack/squin/qubit.py,sha256=rXshs86krKZpBjrkCLkbcvhKtbTQVxcwnru9qyg-c_c,2303
|
|
58
|
+
bloqade/pyqrack/squin/gate/__init__.py,sha256=pxvjsKnmIpR47mzs1zrZLYHcmjRvErieMOl1G4KcGeY,27
|
|
59
|
+
bloqade/pyqrack/squin/gate/gate.py,sha256=k0qROtw0ouSujod-Z9K1v_X9BNXAVIp7f08cMw2Hk9E,3901
|
|
53
60
|
bloqade/pyqrack/squin/noise/__init__.py,sha256=uXgRQPOrHNRp3k2ff2HD8mheUEaqxZPKEnwV-s4BiV4,31
|
|
54
|
-
bloqade/pyqrack/squin/noise/native.py,sha256=
|
|
61
|
+
bloqade/pyqrack/squin/noise/native.py,sha256=d4gdMqJJqOPPGOaIpualenKx6UYXDDqAQxA_6wMy9pc,4158
|
|
55
62
|
bloqade/qasm2/__init__.py,sha256=W9dR4Qnvigc7e7Ay7puSJHAIuiQk8vWqY-W64SMu5oU,515
|
|
56
63
|
bloqade/qasm2/_qasm_loading.py,sha256=dSfjlB6Bm1ednfxc9L42dEa48s5q4N5SGQ9Iw21sBZQ,4753
|
|
57
64
|
bloqade/qasm2/_wrappers.py,sha256=4x3fldC4sV2K_XZ0FPZOorQKAbs_7pualListXtak4A,11148
|
|
@@ -69,7 +76,7 @@ bloqade/qasm2/dialects/core/__init__.py,sha256=rzYkYvHd-z0CU_Kabac2T9B0TI1-ZxdyS
|
|
|
69
76
|
bloqade/qasm2/dialects/core/_dialect.py,sha256=KYguYHVdyIjPjAyM4GApBUk4slMXmRTMPNfE0lEE7rc,57
|
|
70
77
|
bloqade/qasm2/dialects/core/_emit.py,sha256=HhMKhfl9pL3cb4gr6TCGP2GJ0PchyyJ-ZcvE7MVeqwQ,2540
|
|
71
78
|
bloqade/qasm2/dialects/core/_typeinfer.py,sha256=27qciyhU4TNJ2NPBvDc7mjkOK-x8AzMjq20OXqsRtYQ,671
|
|
72
|
-
bloqade/qasm2/dialects/core/address.py,sha256=
|
|
79
|
+
bloqade/qasm2/dialects/core/address.py,sha256=F_jnTXs977LKD5azRii3s-gdWf0TNslIkHpGIgf0GAE,1310
|
|
73
80
|
bloqade/qasm2/dialects/core/stmts.py,sha256=MOzll2u4mPdqtUI_aHkYxx3U-SsveEM8W85OU34FqHk,3826
|
|
74
81
|
bloqade/qasm2/dialects/expr/__init__.py,sha256=8A7VX0ox0jIcDL_ufHlC9wZMraZw81f5GkcZKA-7nRY,451
|
|
75
82
|
bloqade/qasm2/dialects/expr/_dialect.py,sha256=yu46u8FX8tTWAlMHv_YIOXZYiAuWYzB7-dbgGIhQayU,57
|
|
@@ -79,8 +86,8 @@ bloqade/qasm2/dialects/expr/_interp.py,sha256=dQLDcWABpo107BtC6d18L5NmXYlRPPedGt
|
|
|
79
86
|
bloqade/qasm2/dialects/expr/stmts.py,sha256=izU70b1mnnciEP8BrZO1ACyMBZy0CeN8sWescn1bQNg,8053
|
|
80
87
|
bloqade/qasm2/dialects/noise/__init__.py,sha256=4YSXTFjt7TiQd0jqMZy2k6pfKbLyTamQlQ--jPTziLQ,512
|
|
81
88
|
bloqade/qasm2/dialects/noise/_dialect.py,sha256=onK6l3wbM0IHwf3WMiWy7pDRQG0DyLTOzplBuj56psA,58
|
|
82
|
-
bloqade/qasm2/dialects/noise/fidelity.py,sha256=
|
|
83
|
-
bloqade/qasm2/dialects/noise/model.py,sha256=
|
|
89
|
+
bloqade/qasm2/dialects/noise/fidelity.py,sha256=SQBSfgl4U3FH4sgZY7nMkAs1IHkRSUdz5B5HUcKICK8,1450
|
|
90
|
+
bloqade/qasm2/dialects/noise/model.py,sha256=0EaNmGJosRp8s-8ENxqWs56Y0xxwstaY-uT2_w5eDfQ,12907
|
|
84
91
|
bloqade/qasm2/dialects/noise/stmts.py,sha256=G2zHBIBxpJigh9IMy7_Cj3rJRB1m0Hqf9h3i7h-8X_4,2351
|
|
85
92
|
bloqade/qasm2/dialects/uop/__init__.py,sha256=M2jpSIExxlgKX0l08-KzvRKeVBUuFPlyLmmWosHWIdk,735
|
|
86
93
|
bloqade/qasm2/dialects/uop/_dialect.py,sha256=mns7toJRMnx38Q5IpScFMUZyA3MwSuEJkV003zudsJA,56
|
|
@@ -108,80 +115,70 @@ bloqade/qasm2/passes/fold.py,sha256=OA4mVarUYRAfZSODOA9wgoW7HNNmpQWfPG5qGVEbA6I,
|
|
|
108
115
|
bloqade/qasm2/passes/glob.py,sha256=qGmUTJSvDPf6qatapg4U69bTRKOAwZEHcFdts3mRxjI,3563
|
|
109
116
|
bloqade/qasm2/passes/lift_qubits.py,sha256=VgIuqaZecozA3cwGAq8Nzqdv8IqQlzyQv2XlaqY4H4g,759
|
|
110
117
|
bloqade/qasm2/passes/noise.py,sha256=w7U91jOAabcCZZXm8uPxojsVRtcIkxtpZS2hwEDsDN0,2709
|
|
111
|
-
bloqade/qasm2/passes/parallel.py,sha256=
|
|
118
|
+
bloqade/qasm2/passes/parallel.py,sha256=f1GUzMJ5Ripdhax2jJyBnqq73jtDdX8ocwUuBXBdXHg,5856
|
|
112
119
|
bloqade/qasm2/passes/py2qasm.py,sha256=PmdIrViQ_4PEYBKE5XEk4oqFO2sLF2s_2Etz6R9CBoQ,2167
|
|
113
120
|
bloqade/qasm2/passes/qasm2py.py,sha256=beocXUoO2iM6sX85ML1eK8hp9_s5oupw8tqHWV1cDCo,2138
|
|
114
121
|
bloqade/qasm2/passes/unroll_if.py,sha256=CpE0IRiTU5p2nuFtw0pziNzmkuPvD_EM4Q5IcW4hxm0,1095
|
|
115
|
-
bloqade/qasm2/rewrite/__init__.py,sha256=
|
|
122
|
+
bloqade/qasm2/rewrite/__init__.py,sha256=peWypAlrxyMwuqZT9CmRuVZVPxkbrHZ0tke5ngP_qow,684
|
|
116
123
|
bloqade/qasm2/rewrite/desugar.py,sha256=ABri2ubImrgYUWtuFj0EEh5FcICqjtKUSS2Ue4WlMdA,1007
|
|
117
124
|
bloqade/qasm2/rewrite/glob.py,sha256=JzGDIY8ME9ZhNQ0g4d0FTpJuJlPu6G19myzo4zb6f_M,3119
|
|
118
125
|
bloqade/qasm2/rewrite/insert_qubits.py,sha256=PpYNlJAl-TVtC1MJxIzOQWDetgW8OPXe6cLN1SMg2w0,1187
|
|
119
126
|
bloqade/qasm2/rewrite/native_gates.py,sha256=GVutT1jf_gv9qaR5fLqjcmxcqCfMZTiQyg4Fq-TlmFM,18684
|
|
120
|
-
bloqade/qasm2/rewrite/parallel_to_glob.py,sha256=
|
|
121
|
-
bloqade/qasm2/rewrite/parallel_to_uop.py,sha256=
|
|
127
|
+
bloqade/qasm2/rewrite/parallel_to_glob.py,sha256=FVNDBwjiL3-tJN-IT7kjKiaO7I3guDLqRN6rdmLdZvw,3001
|
|
128
|
+
bloqade/qasm2/rewrite/parallel_to_uop.py,sha256=SPOcMq51NHk30GQs1U1oMS0AdNa1Xzg3_0XKJuEid-s,2205
|
|
122
129
|
bloqade/qasm2/rewrite/register.py,sha256=0q-zkSdZih3BbRUDGnig8fFVQA9y2fhn3wdsu4Kbdm4,1563
|
|
123
130
|
bloqade/qasm2/rewrite/uop_to_parallel.py,sha256=2_7SQh1SRQaCk6v0HbV0G2rSlUGscIHmmDQcaMIpTwE,13131
|
|
124
131
|
bloqade/qasm2/rewrite/noise/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
125
|
-
bloqade/qasm2/rewrite/noise/heuristic_noise.py,sha256=
|
|
132
|
+
bloqade/qasm2/rewrite/noise/heuristic_noise.py,sha256=RtXWFBbVfBhAul6eWDfh7D4TduUmALLMM2I71RyafPM,7356
|
|
126
133
|
bloqade/qasm2/rewrite/noise/remove_noise.py,sha256=rnalZ1igiTpCFJ9Z3PRdzcx-qnkkALv6iQO-_yz39kM,1097
|
|
127
134
|
bloqade/qbraid/__init__.py,sha256=V-Co_nhH03UCV4c5MGkBnhHcVwJ2Ngrl6KZnSwo91b8,80
|
|
128
135
|
bloqade/qbraid/lowering.py,sha256=84RsPONWeQ_2beyOWBNoJbGFKuaMhsWtRiPivTCZ-Q0,11985
|
|
129
136
|
bloqade/qbraid/schema.py,sha256=dTPexUFOiBNBnFv0GEbGh6jpIbMIFHk4hFXmXbeihxA,7854
|
|
130
137
|
bloqade/qbraid/simulation_result.py,sha256=zdCJcAdbQkEDzFFuC2q3gqOFTOLAXHk4wh8RRDB6cgc,3956
|
|
131
138
|
bloqade/qbraid/target.py,sha256=LcFHHyLe74yBmrHI9251xHgLN_nUz35lN8RPNwrT6mI,3149
|
|
139
|
+
bloqade/qubit/__init__.py,sha256=Op0IkrZINFqk9CAaadTz1zAEX_kvQA0jAeDp7azeMCk,425
|
|
140
|
+
bloqade/qubit/_dialect.py,sha256=9rjrq21U6FSwDkMILDplE6zPCjdB-U2mLfpFGdsUeeY,52
|
|
141
|
+
bloqade/qubit/_interface.py,sha256=ihRgJ9x9kYboTJ8zyXj9N4P0idYGFQQJAWuX6Xu0pb0,1079
|
|
142
|
+
bloqade/qubit/_prelude.py,sha256=svWslf7sdyYExCqi1Ki1oXECZezE3xdcDtjNOvWPcMI,1269
|
|
143
|
+
bloqade/qubit/stmts.py,sha256=FP1H7TiRwsPP5GaDZCeE4TiJzJMebKunY0qMTiUGnFU,1959
|
|
144
|
+
bloqade/qubit/analysis/__init__.py,sha256=DvnFHmEqMxRG92jVT3ZWwAQDTb6DC4fZDTV8ZSLZgP0,43
|
|
145
|
+
bloqade/qubit/analysis/address_impl.py,sha256=x1pV6bol2BSrE-_ITSnCkQjq3OK053ja0uHhAwyFdpA,1080
|
|
146
|
+
bloqade/qubit/stdlib/__init__.py,sha256=b1CgWSNBcIWh1yKeFS_keFo0CnXkeTEDk6LEu0kpEiE,102
|
|
147
|
+
bloqade/qubit/stdlib/_new.py,sha256=YDooaU5oXScFaKEHEkNQvnlpma2nwvK4nqX7Z9xAJDo,775
|
|
148
|
+
bloqade/qubit/stdlib/broadcast.py,sha256=oTnxrknCaW1caYEDESwnbWXI_2zjyTG1uXrxEJwKlgs,1729
|
|
149
|
+
bloqade/qubit/stdlib/simple.py,sha256=0aiOgorWQguNDatl3WbnFW98Sy4LDyODlW6h9j426g8,1503
|
|
132
150
|
bloqade/rewrite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
133
151
|
bloqade/rewrite/passes/__init__.py,sha256=-J8Ng97AlSCy6hJGmQORbVPjSCWhXdyU4EJx6XHnqXE,139
|
|
134
|
-
bloqade/rewrite/passes/aggressive_unroll.py,sha256=
|
|
152
|
+
bloqade/rewrite/passes/aggressive_unroll.py,sha256=JSXw4dOTDA4ZwCMaQHQYIS4LVleJ5aqyqt9uMiPwKBc,3043
|
|
135
153
|
bloqade/rewrite/passes/canonicalize_ilist.py,sha256=Y7twcmmtEEnXb4ulKhLi7JFBicCMxaP76_KiQMkOq7w,749
|
|
136
154
|
bloqade/rewrite/rules/__init__.py,sha256=3e1Z5T3INqNtP6OU0Vivu_SdMOR_2KDixeA0Yjoddgg,82
|
|
137
155
|
bloqade/rewrite/rules/split_ifs.py,sha256=KhwvUx-oBrBO2F1j-J5kwNbdnrnEZcZtJflzyQm-UOI,2613
|
|
138
|
-
bloqade/squin/__init__.py,sha256=
|
|
139
|
-
bloqade/squin/
|
|
140
|
-
bloqade/squin/
|
|
141
|
-
bloqade/squin/
|
|
142
|
-
bloqade/squin/
|
|
143
|
-
bloqade/squin/
|
|
144
|
-
bloqade/squin/
|
|
145
|
-
bloqade/squin/
|
|
146
|
-
bloqade/squin/
|
|
147
|
-
bloqade/squin/
|
|
148
|
-
bloqade/squin/
|
|
149
|
-
bloqade/squin/
|
|
150
|
-
bloqade/squin/
|
|
151
|
-
bloqade/squin/
|
|
152
|
-
bloqade/squin/
|
|
153
|
-
bloqade/squin/
|
|
154
|
-
bloqade/squin/cirq/lowering.py,sha256=i5-IakuJGo3CYw7VNHqB0uM3AiFMw__a3oizKce3F7I,17937
|
|
155
|
-
bloqade/squin/cirq/emit/emit_circuit.py,sha256=JVFXiaSB7A9kamRwCjLqs03Sel4PVCBT-6kRNRWX-jo,4393
|
|
156
|
-
bloqade/squin/cirq/emit/noise.py,sha256=rESjGC_66s2Y4FwwYda4rY3mYHYjbqLlKE_vnqpZDYI,1534
|
|
157
|
-
bloqade/squin/cirq/emit/op.py,sha256=u1FoOlbz7NNXPlU-hMbnX_yRB5suKbsEm2jF3Ts4f68,5764
|
|
158
|
-
bloqade/squin/cirq/emit/qubit.py,sha256=9aDM0USxcekzXx9--WJB5r96JQ1iEmeNJ9h8rdZ8QhM,1915
|
|
159
|
-
bloqade/squin/cirq/emit/runtime.py,sha256=dH7JSMt2mALPhVFjmZETQzvnTUQ3BFY5poe0YZpM5vQ,6819
|
|
160
|
-
bloqade/squin/noise/__init__.py,sha256=JFJ4kmEeWt6bJ2xx3yA5ek-NEbj8ilYWf6mepgbJLOo,338
|
|
161
|
-
bloqade/squin/noise/_dialect.py,sha256=2IR98J-lXm5Y3srP9g-FD4JC-qTq2seureM6mKKq1xg,63
|
|
162
|
-
bloqade/squin/noise/_wrapper.py,sha256=TrXZdtUIJ_wW392ka5_2Q-yYzCG1ApOzgSo5Sk7wmX8,734
|
|
163
|
-
bloqade/squin/noise/rewrite.py,sha256=_6kGvxmbiMtL7MDHhLzgQnkq4SRthYA-cSKh_MBbC_U,4656
|
|
164
|
-
bloqade/squin/noise/stmts.py,sha256=fqhGPkVL5gZ_pMQaaOs_Pn81cp3WJjVOxHakT8ASxto,2094
|
|
165
|
-
bloqade/squin/op/__init__.py,sha256=6JOjPdzc6RKO4299ZFz4Jk-wtVyPlGTkakYewHBueXw,841
|
|
166
|
-
bloqade/squin/op/_dialect.py,sha256=66G1IYqmsqUEaCTyUqn2shSHmGYduiTU8GfDXcoMvw4,55
|
|
167
|
-
bloqade/squin/op/_wrapper.py,sha256=XrEImj0M78u6imXq7SkckmWemziL7cM98FtoMj03l2M,1955
|
|
168
|
-
bloqade/squin/op/number.py,sha256=yujWUqLrOAr8i8OBDsiS5M882wV7t08u345NgNA6TUc,95
|
|
169
|
-
bloqade/squin/op/rewrite.py,sha256=Itxz_hTAPNLyLYeLS0PCVk143J1Z558UR7N9-urbnoU,1327
|
|
170
|
-
bloqade/squin/op/stdlib.py,sha256=4UFK3wKImpums2v5a9OFKuVvz2TLYbYwidg3JYYEi2o,1073
|
|
171
|
-
bloqade/squin/op/stmts.py,sha256=DEV-hm9vNY2zMlnOZtWEOSQo-ByVFfW5EepCK0_tF1Y,6864
|
|
172
|
-
bloqade/squin/op/traits.py,sha256=jjsnzWtPtmQK7K3H_D2fvc8XiW1Y3EMBcgeyPax2sjc,1065
|
|
173
|
-
bloqade/squin/op/types.py,sha256=xCFdaYZags7YvANUIlsv7VOIoj8iB1sGISe7NjDEH_o,2283
|
|
174
|
-
bloqade/squin/rewrite/U3_to_clifford.py,sha256=72ECWFrjeaEelR5e6IgNgaJXnTQ6ZXL4ZakZfXQbi8I,5670
|
|
175
|
-
bloqade/squin/rewrite/__init__.py,sha256=cY1GbXQXKvDeXi0YE4PgjORm6iGBPk63xzMCpVjiCgw,349
|
|
176
|
-
bloqade/squin/rewrite/canonicalize.py,sha256=hcfsn4ntsvnJ_cVnoUgcE5Zk9EqvwgixGArLPx4OjP0,2100
|
|
177
|
-
bloqade/squin/rewrite/desugar.py,sha256=nl7yvUKgruIU0Ksb184a6r6ebeQ93HsEAG6hrPOmpWk,3296
|
|
178
|
-
bloqade/squin/rewrite/remove_dangling_qubits.py,sha256=iTuWV-03YW5wtYbSeKMlnnWjNzDj9SmflyqYPgoYGy8,469
|
|
179
|
-
bloqade/squin/rewrite/wrap_analysis.py,sha256=JUPS4OAYbDHOK0VIrdz1pprSizISUfN7osuoP_P-bIo,2256
|
|
156
|
+
bloqade/squin/__init__.py,sha256=iEIS2aDbTtgYhCcHxKSpqNeNjQ6WUA1HTpsFSj5GYPo,1194
|
|
157
|
+
bloqade/squin/groups.py,sha256=DG1FkSvlKZ6-HUhlB5Xbg7lXA8531S2UqRbKoghAe2s,798
|
|
158
|
+
bloqade/squin/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
159
|
+
bloqade/squin/analysis/schedule.py,sha256=LY3tFAOK6X5kDPZurhfj16nEy0MQmFCIlVyeRWkec0E,7880
|
|
160
|
+
bloqade/squin/gate/__init__.py,sha256=w5o5Fa2br2q6VG2D1WJ4hofduBk-9QuDIvge8FSJ-oU,70
|
|
161
|
+
bloqade/squin/gate/_dialect.py,sha256=1l9W5g38f9dIOvCU2iR783tuBBc3TjfwESvXE3SiWFg,57
|
|
162
|
+
bloqade/squin/gate/_interface.py,sha256=Nb4XvV84UwQZnOnnw7b84TOBIFfamyxZLIPvdxRVWNI,1601
|
|
163
|
+
bloqade/squin/gate/stmts.py,sha256=P83wlNq6itbK0rjCiMKmRrMq4cHRDrmRlcoZbnCi0ak,2537
|
|
164
|
+
bloqade/squin/noise/__init__.py,sha256=B8QCV0Db9bbBDmqjQPsiRphGLu89-tre-TSlStFYmxM,96
|
|
165
|
+
bloqade/squin/noise/_dialect.py,sha256=Wyc9lXmmfHkZfURlDoIHYCX6HDsLzfPkqwE4REUmMsg,58
|
|
166
|
+
bloqade/squin/noise/_interface.py,sha256=5P5cwt6lwDFLdtR1sZMVnFS8v8KWMAKnfN45AAJ0Iks,1027
|
|
167
|
+
bloqade/squin/noise/stmts.py,sha256=G6B4-FVmHAVE5COV-7mAhoBjxq3ZVtzLYhZJxl_RmQQ,3180
|
|
168
|
+
bloqade/squin/rewrite/U3_to_clifford.py,sha256=hkxjoo3sXbHG9XChdVb11BuU_rOIpw8ZikN0nbg5YlE,5539
|
|
169
|
+
bloqade/squin/rewrite/__init__.py,sha256=9SOU2dpNM52hdlgqvSyPQG2LFvhIA-Z1kAp4ljnDeL0,265
|
|
170
|
+
bloqade/squin/rewrite/remove_dangling_qubits.py,sha256=Q5XmRqZWdlq2-v82W6NCHcdwtgK4cfpqn4MkWohUqHA,469
|
|
171
|
+
bloqade/squin/rewrite/wrap_analysis.py,sha256=cbGY0lnPV3g2ZgVep6AA6w9UmA7mO3waX7tuotIgdqU,1557
|
|
180
172
|
bloqade/squin/stdlib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
181
|
-
bloqade/squin/stdlib/
|
|
182
|
-
bloqade/squin/stdlib/
|
|
183
|
-
bloqade/
|
|
184
|
-
bloqade/
|
|
173
|
+
bloqade/squin/stdlib/broadcast/__init__.py,sha256=kiJmcrd1Q44oR7X0KfkOLxoMaPhiFkAxfHYwUrqOaYk,774
|
|
174
|
+
bloqade/squin/stdlib/broadcast/_qubit.py,sha256=s25nKv4ezRu1O-6w_o-f570TD50K_oFqWWP253hli2o,91
|
|
175
|
+
bloqade/squin/stdlib/broadcast/gate.py,sha256=orBbexaTTkPsEDTXpldLDuL0IuVUMzKqW-3J9ZcJeYo,6393
|
|
176
|
+
bloqade/squin/stdlib/broadcast/noise.py,sha256=_RtbJX-CCO3QMYiOYOJH83rnhn8o-UaSZ296rtrLxm8,4928
|
|
177
|
+
bloqade/squin/stdlib/simple/__init__.py,sha256=y7yq0Ff2ljBgOkC7SFMvrIeSnGjVH55TQ-ynq10DnkQ,719
|
|
178
|
+
bloqade/squin/stdlib/simple/gate.py,sha256=FUOKlvdvbkoNaXrkUnpjyd5o-iM2GsWbptTLNexyZII,5130
|
|
179
|
+
bloqade/squin/stdlib/simple/noise.py,sha256=DWNyHzBjbZz0Af_ufwRKcduHVXlJDJ0SE3Eut9Ohx7Y,3958
|
|
180
|
+
bloqade/stim/__init__.py,sha256=jCkbQig8t7kT_aGBVJ8e_Hj8UHKeyT8QRqmf5QGJPoc,987
|
|
181
|
+
bloqade/stim/_wrappers.py,sha256=PNuo1jcMvNsLAVNvHv_O6hJEmRCj1XRVP97C5mtjtEw,4178
|
|
185
182
|
bloqade/stim/groups.py,sha256=lywG10uTr3saNsvKGa8Sqfb-xZIqiLwc3y1_QAvaaNs,599
|
|
186
183
|
bloqade/stim/dialects/__init__.py,sha256=A1Sq0jg8wi6MjRkzmuSBnHmO3EraD0pDFWz-dO6c6v8,89
|
|
187
184
|
bloqade/stim/dialects/auxiliary/__init__.py,sha256=6f57a8k2-QBtqaB0GN8FxxTBlG82oZQbVIOxxq975g4,692
|
|
@@ -211,25 +208,24 @@ bloqade/stim/dialects/gate/stmts/control_2q.py,sha256=gZRtkpgAkiUFqx5Led2t1YjYbl
|
|
|
211
208
|
bloqade/stim/dialects/gate/stmts/pp.py,sha256=yUNCrkYBM7wUCvtRqwP9_HYX0HsHVt6JZR4efM05838,487
|
|
212
209
|
bloqade/stim/dialects/noise/__init__.py,sha256=WoDdIZnxelk8REiIWDKcrEW79xwISdTZlqlTjURb71Q,138
|
|
213
210
|
bloqade/stim/dialects/noise/_dialect.py,sha256=SVUjAqBoGnxo13JlAlsxulIMo1QzfJb4SMSrFaCnfP4,57
|
|
214
|
-
bloqade/stim/dialects/noise/emit.py,sha256=
|
|
215
|
-
bloqade/stim/dialects/noise/stmts.py,sha256=
|
|
211
|
+
bloqade/stim/dialects/noise/emit.py,sha256=j3p8ovE75XFLHsT4AcGDCLKot7XzCkwbtM0MxRgeyfw,3067
|
|
212
|
+
bloqade/stim/dialects/noise/stmts.py,sha256=1jB43gshxCOqX9vX_EBwYEy9swag8lOjDLwAi-m2xSo,3620
|
|
216
213
|
bloqade/stim/emit/__init__.py,sha256=GZst8q95tnaCf789z-Ha2t6WMiOZ429X7h8mzX5rFM0,102
|
|
217
214
|
bloqade/stim/emit/impls.py,sha256=Isld_CikedHvrU6CahEkSRLwwLC87iK57CRk_ojob90,446
|
|
218
|
-
bloqade/stim/emit/stim_str.py,sha256=
|
|
215
|
+
bloqade/stim/emit/stim_str.py,sha256=_NsYK6r911ZnATIZZyldcVyHN14Ni9UMizm6Bqi8IF0,1607
|
|
219
216
|
bloqade/stim/parse/__init__.py,sha256=l2DjReB2KkgrDjP_4nP6RnoziiOewoSeZfTno1sVYTw,59
|
|
220
|
-
bloqade/stim/parse/lowering.py,sha256=
|
|
221
|
-
bloqade/stim/passes/__init__.py,sha256=
|
|
222
|
-
bloqade/stim/passes/
|
|
223
|
-
bloqade/stim/passes/
|
|
224
|
-
bloqade/stim/
|
|
225
|
-
bloqade/stim/rewrite/
|
|
217
|
+
bloqade/stim/parse/lowering.py,sha256=aQl9xe1T0Dk8ymsM9s4RCh94vX4-UTPaPJDi2uqwBpY,23591
|
|
218
|
+
bloqade/stim/passes/__init__.py,sha256=Mznmsy9ABZPCV9YGxoyqSPSTsg_nZByO6_3MxBxw1n0,71
|
|
219
|
+
bloqade/stim/passes/flatten.py,sha256=MBodYW1q-r6DRkGAft7SpEtGnaY7SeCVrsy50n3NTx4,903
|
|
220
|
+
bloqade/stim/passes/simplify_ifs.py,sha256=TpzInFhUhZ0qrBvAEKBMufr7OHKSqxanZOnhkYge3hc,1304
|
|
221
|
+
bloqade/stim/passes/squin_to_stim.py,sha256=3r6xh84nfgUF0Mae-KuvzxKIqUtM69rKg8pFCc--RdE,3515
|
|
222
|
+
bloqade/stim/rewrite/__init__.py,sha256=TACFSdSMRkRkh3jgihXhaBNsoVYg2rjp8GSNh6jP1U0,310
|
|
223
|
+
bloqade/stim/rewrite/ifs_to_stim.py,sha256=3GgG4PRYduX2np_eTUcH-WF2sLFY8mAbsJdHM8eVdtE,6471
|
|
226
224
|
bloqade/stim/rewrite/py_constant_to_stim.py,sha256=PV8bHvn759-d_0JW4akaGSORW_oxigrlUBhAC51PJAU,1354
|
|
227
|
-
bloqade/stim/rewrite/qubit_to_stim.py,sha256
|
|
228
|
-
bloqade/stim/rewrite/squin_measure.py,sha256=
|
|
229
|
-
bloqade/stim/rewrite/squin_noise.py,sha256=
|
|
230
|
-
bloqade/stim/rewrite/util.py,sha256=
|
|
231
|
-
bloqade/stim/rewrite/wire_identity_elimination.py,sha256=Cscu8yaSslPuW04HvbXx4HJ3JzdUZNUMyFqcvuc4sxY,795
|
|
232
|
-
bloqade/stim/rewrite/wire_to_stim.py,sha256=rZY4Ya4I2b4C3tk84LvJvEi--jyUgza8WmtDtTxCajI,1814
|
|
225
|
+
bloqade/stim/rewrite/qubit_to_stim.py,sha256=-ccFmmNgVvbzc3HjGWFRJhmS1AcpelbumlEhY0DAAwQ,4790
|
|
226
|
+
bloqade/stim/rewrite/squin_measure.py,sha256=F6zyq3UnJH3Bu7hL9fYItwJdV0R0IKp22Phxk5Cg-vw,2150
|
|
227
|
+
bloqade/stim/rewrite/squin_noise.py,sha256=2VkRv0u5PmjShFeQtA9vM1AxYCy8ktgNHNrlVXdhHAo,7012
|
|
228
|
+
bloqade/stim/rewrite/util.py,sha256=G8Uddu5E0CDgdxzgf2MGGIBHFB0uNRqyP4IANgNehYM,1166
|
|
233
229
|
bloqade/stim/upstream/__init__.py,sha256=Skev79lMyfz2bFoih-Fn_9iXbMArqlKxHSd1agHAtlA,55
|
|
234
230
|
bloqade/stim/upstream/from_squin.py,sha256=08I_BE7gK2a8ngZ2ElCLw879B5KGaKCFRf26NJVdU70,272
|
|
235
231
|
bloqade/visual/__init__.py,sha256=Y7d0YgovKhUFzjMeDvt0wGRUZ3re3SY6iO3e8xHXrr4,37
|
|
@@ -243,7 +239,7 @@ bloqade/visual/animation/runtime/atoms.py,sha256=EmjxhujLiHHPS_HtH_B-7TiqeHgvW5u
|
|
|
243
239
|
bloqade/visual/animation/runtime/ppoly.py,sha256=JB9IP53N1w6adBJEue6J5Nmj818Id9JvrlgrmiQTU1I,1385
|
|
244
240
|
bloqade/visual/animation/runtime/qpustate.py,sha256=rlmxQeJSvaohXrTpXQL5y-NJcpvfW33xPaYM1slv7cc,4270
|
|
245
241
|
bloqade/visual/animation/runtime/utils.py,sha256=ju9IzOWX-vKwfpqUjlUKu3Ssr_UFPFFq-tzH_Nqyo_c,1212
|
|
246
|
-
bloqade_circuit-0.
|
|
247
|
-
bloqade_circuit-0.
|
|
248
|
-
bloqade_circuit-0.
|
|
249
|
-
bloqade_circuit-0.
|
|
242
|
+
bloqade_circuit-0.8.0.dist-info/METADATA,sha256=OcGB0AqImLKWVIGe-zCRMEgDN_zPMq_5TGPDr8naVHA,3724
|
|
243
|
+
bloqade_circuit-0.8.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
244
|
+
bloqade_circuit-0.8.0.dist-info/licenses/LICENSE,sha256=S5GIJwR6QCixPA9wryYb44ZEek0Nz4rt_zLUqP05UbU,13160
|
|
245
|
+
bloqade_circuit-0.8.0.dist-info/RECORD,,
|