bloqade-circuit 0.6.2__py3-none-any.whl → 0.9.1__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.
Files changed (192) hide show
  1. bloqade/analysis/address/__init__.py +8 -4
  2. bloqade/analysis/address/analysis.py +123 -33
  3. bloqade/analysis/address/impls.py +293 -90
  4. bloqade/analysis/address/lattice.py +209 -24
  5. bloqade/analysis/fidelity/analysis.py +11 -23
  6. bloqade/analysis/measure_id/__init__.py +4 -1
  7. bloqade/analysis/measure_id/analysis.py +29 -20
  8. bloqade/analysis/measure_id/impls.py +72 -31
  9. bloqade/annotate/__init__.py +6 -0
  10. bloqade/annotate/_dialect.py +3 -0
  11. bloqade/annotate/_interface.py +22 -0
  12. bloqade/annotate/stmts.py +29 -0
  13. bloqade/annotate/types.py +13 -0
  14. bloqade/cirq_utils/__init__.py +4 -2
  15. bloqade/cirq_utils/emit/__init__.py +3 -0
  16. bloqade/cirq_utils/emit/base.py +246 -0
  17. bloqade/cirq_utils/emit/gate.py +104 -0
  18. bloqade/cirq_utils/emit/noise.py +90 -0
  19. bloqade/cirq_utils/emit/qubit.py +35 -0
  20. bloqade/cirq_utils/lowering.py +660 -0
  21. bloqade/cirq_utils/noise/__init__.py +0 -2
  22. bloqade/cirq_utils/noise/_two_zone_utils.py +7 -15
  23. bloqade/cirq_utils/noise/model.py +151 -191
  24. bloqade/cirq_utils/noise/transform.py +2 -2
  25. bloqade/cirq_utils/parallelize.py +9 -6
  26. bloqade/gemini/__init__.py +1 -0
  27. bloqade/gemini/analysis/__init__.py +3 -0
  28. bloqade/gemini/analysis/logical_validation/__init__.py +1 -0
  29. bloqade/gemini/analysis/logical_validation/analysis.py +17 -0
  30. bloqade/gemini/analysis/logical_validation/impls.py +101 -0
  31. bloqade/gemini/groups.py +67 -0
  32. bloqade/native/__init__.py +23 -0
  33. bloqade/native/_prelude.py +45 -0
  34. bloqade/native/dialects/__init__.py +0 -0
  35. bloqade/native/dialects/gate/__init__.py +2 -0
  36. bloqade/native/dialects/gate/_dialect.py +3 -0
  37. bloqade/native/dialects/gate/_interface.py +32 -0
  38. bloqade/native/dialects/gate/stmts.py +31 -0
  39. bloqade/native/stdlib/__init__.py +0 -0
  40. bloqade/native/stdlib/broadcast.py +246 -0
  41. bloqade/native/stdlib/simple.py +220 -0
  42. bloqade/native/upstream/__init__.py +4 -0
  43. bloqade/native/upstream/squin2native.py +79 -0
  44. bloqade/pyqrack/__init__.py +2 -2
  45. bloqade/pyqrack/base.py +7 -1
  46. bloqade/pyqrack/device.py +190 -4
  47. bloqade/pyqrack/native.py +49 -0
  48. bloqade/pyqrack/reg.py +6 -6
  49. bloqade/pyqrack/squin/gate/__init__.py +1 -0
  50. bloqade/pyqrack/squin/gate/gate.py +136 -0
  51. bloqade/pyqrack/squin/noise/native.py +120 -54
  52. bloqade/pyqrack/squin/qubit.py +39 -36
  53. bloqade/pyqrack/target.py +5 -4
  54. bloqade/pyqrack/task.py +114 -7
  55. bloqade/qasm2/_qasm_loading.py +3 -3
  56. bloqade/qasm2/dialects/core/address.py +21 -12
  57. bloqade/qasm2/dialects/expr/_emit.py +19 -8
  58. bloqade/qasm2/dialects/expr/stmts.py +7 -7
  59. bloqade/qasm2/dialects/noise/fidelity.py +4 -8
  60. bloqade/qasm2/dialects/noise/model.py +2 -1
  61. bloqade/qasm2/emit/base.py +16 -11
  62. bloqade/qasm2/emit/gate.py +11 -8
  63. bloqade/qasm2/emit/main.py +103 -3
  64. bloqade/qasm2/emit/target.py +9 -5
  65. bloqade/qasm2/groups.py +3 -2
  66. bloqade/qasm2/parse/lowering.py +0 -1
  67. bloqade/qasm2/passes/fold.py +14 -73
  68. bloqade/qasm2/passes/glob.py +2 -2
  69. bloqade/qasm2/passes/noise.py +1 -1
  70. bloqade/qasm2/passes/parallel.py +7 -5
  71. bloqade/qasm2/rewrite/__init__.py +0 -1
  72. bloqade/qasm2/rewrite/noise/heuristic_noise.py +7 -17
  73. bloqade/qasm2/rewrite/parallel_to_glob.py +28 -15
  74. bloqade/qasm2/rewrite/parallel_to_uop.py +2 -8
  75. bloqade/qasm2/rewrite/register.py +2 -2
  76. bloqade/qasm2/rewrite/uop_to_parallel.py +4 -2
  77. bloqade/qbraid/lowering.py +1 -0
  78. bloqade/qbraid/schema.py +2 -2
  79. bloqade/qubit/__init__.py +12 -0
  80. bloqade/qubit/_dialect.py +3 -0
  81. bloqade/qubit/_interface.py +49 -0
  82. bloqade/qubit/_prelude.py +45 -0
  83. bloqade/qubit/analysis/__init__.py +1 -0
  84. bloqade/qubit/analysis/address_impl.py +40 -0
  85. bloqade/qubit/stdlib/__init__.py +2 -0
  86. bloqade/qubit/stdlib/_new.py +34 -0
  87. bloqade/qubit/stdlib/broadcast.py +62 -0
  88. bloqade/qubit/stdlib/simple.py +59 -0
  89. bloqade/qubit/stmts.py +60 -0
  90. bloqade/rewrite/passes/__init__.py +6 -0
  91. bloqade/rewrite/passes/aggressive_unroll.py +103 -0
  92. bloqade/rewrite/passes/callgraph.py +116 -0
  93. bloqade/rewrite/passes/canonicalize_ilist.py +20 -14
  94. bloqade/rewrite/rules/split_ifs.py +18 -1
  95. bloqade/squin/__init__.py +47 -14
  96. bloqade/squin/analysis/__init__.py +0 -1
  97. bloqade/squin/analysis/schedule.py +10 -11
  98. bloqade/squin/gate/__init__.py +2 -0
  99. bloqade/squin/gate/_dialect.py +3 -0
  100. bloqade/squin/gate/_interface.py +98 -0
  101. bloqade/squin/gate/stmts.py +125 -0
  102. bloqade/squin/groups.py +5 -22
  103. bloqade/squin/noise/__init__.py +1 -10
  104. bloqade/squin/noise/_dialect.py +1 -1
  105. bloqade/squin/noise/_interface.py +45 -0
  106. bloqade/squin/noise/stmts.py +66 -28
  107. bloqade/squin/rewrite/U3_to_clifford.py +70 -51
  108. bloqade/squin/rewrite/__init__.py +0 -2
  109. bloqade/squin/rewrite/remove_dangling_qubits.py +2 -2
  110. bloqade/squin/rewrite/wrap_analysis.py +4 -35
  111. bloqade/squin/stdlib/__init__.py +0 -0
  112. bloqade/squin/stdlib/broadcast/__init__.py +34 -0
  113. bloqade/squin/stdlib/broadcast/_qubit.py +4 -0
  114. bloqade/squin/stdlib/broadcast/gate.py +260 -0
  115. bloqade/squin/stdlib/broadcast/noise.py +144 -0
  116. bloqade/squin/stdlib/simple/__init__.py +33 -0
  117. bloqade/squin/stdlib/simple/gate.py +242 -0
  118. bloqade/squin/stdlib/simple/noise.py +126 -0
  119. bloqade/stim/__init__.py +1 -0
  120. bloqade/stim/_wrappers.py +6 -0
  121. bloqade/stim/dialects/auxiliary/emit.py +19 -18
  122. bloqade/stim/dialects/collapse/emit_str.py +7 -8
  123. bloqade/stim/dialects/gate/emit.py +9 -10
  124. bloqade/stim/dialects/noise/emit.py +17 -13
  125. bloqade/stim/dialects/noise/stmts.py +5 -3
  126. bloqade/stim/emit/__init__.py +1 -0
  127. bloqade/stim/emit/impls.py +16 -0
  128. bloqade/stim/emit/stim_str.py +48 -31
  129. bloqade/stim/groups.py +12 -2
  130. bloqade/stim/parse/lowering.py +14 -17
  131. bloqade/stim/passes/__init__.py +3 -1
  132. bloqade/stim/passes/flatten.py +26 -0
  133. bloqade/stim/passes/simplify_ifs.py +16 -2
  134. bloqade/stim/passes/squin_to_stim.py +18 -60
  135. bloqade/stim/rewrite/__init__.py +3 -4
  136. bloqade/stim/rewrite/get_record_util.py +24 -0
  137. bloqade/stim/rewrite/ifs_to_stim.py +29 -31
  138. bloqade/stim/rewrite/qubit_to_stim.py +90 -41
  139. bloqade/stim/rewrite/set_detector_to_stim.py +68 -0
  140. bloqade/stim/rewrite/set_observable_to_stim.py +52 -0
  141. bloqade/stim/rewrite/squin_measure.py +11 -79
  142. bloqade/stim/rewrite/squin_noise.py +134 -108
  143. bloqade/stim/rewrite/util.py +5 -192
  144. bloqade/test_utils.py +1 -1
  145. bloqade/types.py +10 -0
  146. bloqade/validation/__init__.py +2 -0
  147. bloqade/validation/analysis/__init__.py +5 -0
  148. bloqade/validation/analysis/analysis.py +41 -0
  149. bloqade/validation/analysis/lattice.py +58 -0
  150. bloqade/validation/kernel_validation.py +77 -0
  151. {bloqade_circuit-0.6.2.dist-info → bloqade_circuit-0.9.1.dist-info}/METADATA +5 -6
  152. bloqade_circuit-0.9.1.dist-info/RECORD +265 -0
  153. bloqade/pyqrack/squin/op.py +0 -166
  154. bloqade/pyqrack/squin/runtime.py +0 -535
  155. bloqade/pyqrack/squin/wire.py +0 -51
  156. bloqade/rewrite/rules/flatten_ilist.py +0 -51
  157. bloqade/rewrite/rules/inline_getitem_ilist.py +0 -31
  158. bloqade/squin/_typeinfer.py +0 -20
  159. bloqade/squin/analysis/address_impl.py +0 -71
  160. bloqade/squin/analysis/nsites/__init__.py +0 -9
  161. bloqade/squin/analysis/nsites/analysis.py +0 -50
  162. bloqade/squin/analysis/nsites/impls.py +0 -92
  163. bloqade/squin/analysis/nsites/lattice.py +0 -49
  164. bloqade/squin/cirq/__init__.py +0 -265
  165. bloqade/squin/cirq/emit/emit_circuit.py +0 -109
  166. bloqade/squin/cirq/emit/noise.py +0 -49
  167. bloqade/squin/cirq/emit/op.py +0 -125
  168. bloqade/squin/cirq/emit/qubit.py +0 -60
  169. bloqade/squin/cirq/emit/runtime.py +0 -242
  170. bloqade/squin/cirq/lowering.py +0 -440
  171. bloqade/squin/lowering.py +0 -54
  172. bloqade/squin/noise/_wrapper.py +0 -40
  173. bloqade/squin/noise/rewrite.py +0 -111
  174. bloqade/squin/op/__init__.py +0 -41
  175. bloqade/squin/op/_dialect.py +0 -3
  176. bloqade/squin/op/_wrapper.py +0 -121
  177. bloqade/squin/op/number.py +0 -5
  178. bloqade/squin/op/rewrite.py +0 -46
  179. bloqade/squin/op/stdlib.py +0 -62
  180. bloqade/squin/op/stmts.py +0 -276
  181. bloqade/squin/op/traits.py +0 -43
  182. bloqade/squin/op/types.py +0 -26
  183. bloqade/squin/qubit.py +0 -184
  184. bloqade/squin/rewrite/canonicalize.py +0 -60
  185. bloqade/squin/rewrite/desugar.py +0 -124
  186. bloqade/squin/types.py +0 -8
  187. bloqade/squin/wire.py +0 -201
  188. bloqade/stim/rewrite/wire_identity_elimination.py +0 -24
  189. bloqade/stim/rewrite/wire_to_stim.py +0 -57
  190. bloqade_circuit-0.6.2.dist-info/RECORD +0 -234
  191. {bloqade_circuit-0.6.2.dist-info → bloqade_circuit-0.9.1.dist-info}/WHEEL +0 -0
  192. {bloqade_circuit-0.6.2.dist-info → bloqade_circuit-0.9.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,265 @@
1
+ bloqade/device.py,sha256=y54uCyD8lfgOaZshjxd1DXf4lrwjVvNEtrx6KeeDup0,3888
2
+ bloqade/task.py,sha256=L7l8TAc9e2kaOA24Qrh15pfUPY21xRkUQ86OtAR9Sog,2861
3
+ bloqade/test_utils.py,sha256=E_Ei1QQVmp4DXiixPjFWvUvb_Wmh1BeKXn9_N5eq8m4,887
4
+ bloqade/types.py,sha256=1bgvSmYdynIrOMAmTK7rsUB9TWD3__uoeeGbiKWTJU0,662
5
+ bloqade/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ bloqade/analysis/address/__init__.py,sha256=cWEtk7i6jfbPDICFAITxfwAIiJIQFAr9U3lYXpObwh8,445
7
+ bloqade/analysis/address/analysis.py,sha256=Cces40Bxrsvqsfgbhzl6RUVoTvLxfIPYHtRVIafb7iQ,5181
8
+ bloqade/analysis/address/impls.py,sha256=-mJ9P0VKWpJBUrhxXsWoX7Ae3QwHXdk2YNESkwsW6yA,11341
9
+ bloqade/analysis/address/lattice.py,sha256=qMv6ntYcMO0fK-ccBTONXKJ4a3nkRSwDiztV9DcNIYc,8102
10
+ bloqade/analysis/fidelity/__init__.py,sha256=iJkhoHvCMU9bKxQqgxIWKQWvpqNFRgNBI5DK8-4RAB8,59
11
+ bloqade/analysis/fidelity/analysis.py,sha256=1zGT-Pl-KpIogW1qnPwFJZLPxCZMGK8A8r1lNxRrMEI,2585
12
+ bloqade/analysis/measure_id/__init__.py,sha256=r_R_br1e3H7ZzwkeQw4TnDAP4M_bUaRlRb7ZRdowvNI,145
13
+ bloqade/analysis/measure_id/analysis.py,sha256=Xz8kH3VKG5pSaKF_QyQ4UbWT_s7hFeTJTij48Y5IMkw,1840
14
+ bloqade/analysis/measure_id/impls.py,sha256=d9HVzAtm4yAkbMYhY1wsbzW5eL4yzDqGO04XSM9OiEs,6676
15
+ bloqade/analysis/measure_id/lattice.py,sha256=WPrn0R79umCH909BFWsUJ64qx9n_3KYimIW5UaXNuGU,1891
16
+ bloqade/annotate/__init__.py,sha256=eygeVSLi8Ac0riQNvMEV0fPvGWjYa8Ie8xxUSjP5z20,170
17
+ bloqade/annotate/_dialect.py,sha256=AB4l0C3jeeG4TY24FpQXkYjWVBlyFzDNK_TTDcBjnJo,61
18
+ bloqade/annotate/_interface.py,sha256=J_g0H4aH2rFmirEir4VRd2Bk6DFDi4VJSPoVb5My46g,576
19
+ bloqade/annotate/stmts.py,sha256=Dhk5pj1RMtY_5wsc9d4wBpTwqP1KKnXx1Ehri8cLxlU,902
20
+ bloqade/annotate/types.py,sha256=dsHCWe2G96VWMHCizHfMhjI5rg__rovLEN1_aX6k9Mk,164
21
+ bloqade/cirq_utils/__init__.py,sha256=euOBePhGrYOZsUn_IJXHGUQCxA6y3GBR6G3o9JvX21k,410
22
+ bloqade/cirq_utils/lineprog.py,sha256=JosrhfeOHI9FycUT_sYFj8TBzLpo97TL8zK-Ap2U4eQ,11021
23
+ bloqade/cirq_utils/lowering.py,sha256=YdiQpKNCjlbBeR0Z9oSLcCRhqvn6PGN7Uao8QxVcM7c,23686
24
+ bloqade/cirq_utils/parallelize.py,sha256=u9AP6l7YwBatFfIvrcCjbcYMiavk7MU6HKSKPkqlxtY,13803
25
+ bloqade/cirq_utils/emit/__init__.py,sha256=_NnnLT47nPFFkXY8EF3wrLHhAaKTl-8_zKqkKZ8Kpes,139
26
+ bloqade/cirq_utils/emit/base.py,sha256=nz_zzDKue7NP3uQNIXCEdH4rg0Tp8Hzvilt_PQlrfi8,8136
27
+ bloqade/cirq_utils/emit/gate.py,sha256=K0QGTsTo-n4ShfLvWiM-hKs5ixH9lUe_TDfgsurbak0,2976
28
+ bloqade/cirq_utils/emit/noise.py,sha256=sujg9yPx63HH0YxDCyguv-wgs9yJB5NnjPzgUAViktc,2472
29
+ bloqade/cirq_utils/emit/qubit.py,sha256=5D2OIHnNvVcZ6jqbR2jJTWCJ3KMzArN0MkOIKsFVx_s,1045
30
+ bloqade/cirq_utils/noise/__init__.py,sha256=hUBi53U0wE4u3AqGh5cNdgdCspt3O-Vw-SR68cfBZYc,421
31
+ bloqade/cirq_utils/noise/_two_zone_utils.py,sha256=iq4nwdJQITFlGB61wfrV7vyPA2194p-i_nv36powZ90,17883
32
+ bloqade/cirq_utils/noise/conflict_graph.py,sha256=ZUwPWTknrb6SgtZUVPeICn3YA-nUeWQJDuKKX5jL9tE,7179
33
+ bloqade/cirq_utils/noise/model.py,sha256=fhznG0P_SUtl7LBNIANuNi5MGY9ks241UW7m0rg2iNs,18782
34
+ bloqade/cirq_utils/noise/transform.py,sha256=pauFnOKbk2QjxeyXEV_x2zyRGypr5wiQ6ySirU7C2zg,2278
35
+ bloqade/gemini/__init__.py,sha256=JPwmAtnejHCoRMmRNz98rQrnOzJVB_Aw6TktUarTQhM,39
36
+ bloqade/gemini/groups.py,sha256=zxYrpses0e-bSo-wXkc__U5WEz0vLCOeTuO0f6AhPgQ,2196
37
+ bloqade/gemini/analysis/__init__.py,sha256=UK9kgopW3dWSepUaZsyBi4joyJCcBsbqy2nM70QTO5A,117
38
+ bloqade/gemini/analysis/logical_validation/__init__.py,sha256=evpVcYh4mcPQaYgR0JXEm1s7yHTMrWX6bFssBZE1L_Q,77
39
+ bloqade/gemini/analysis/logical_validation/analysis.py,sha256=eId5rWTCq_-ciiKkegX0dJmT_DbdE_btox5tFOuNz-g,577
40
+ bloqade/gemini/analysis/logical_validation/impls.py,sha256=RKUa8-JqWWcZUCDdZkLRLkAQZ-v4oPg2oOnITBz3itE,2995
41
+ bloqade/native/__init__.py,sha256=ckZjzkPGV08CXmBKAHutlVU_AlLIwzBmlkNOTuJVBx0,427
42
+ bloqade/native/_prelude.py,sha256=ktF91AQrWVswjc48ZnSi0Uqrz5QEtkU0RWld8TqL4MQ,1250
43
+ bloqade/native/dialects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
+ bloqade/native/dialects/gate/__init__.py,sha256=w5o5Fa2br2q6VG2D1WJ4hofduBk-9QuDIvge8FSJ-oU,70
45
+ bloqade/native/dialects/gate/_dialect.py,sha256=oRBmg4jkT3hhwpYnv9uAGLb76legyteGT5UjmXuXaP0,58
46
+ bloqade/native/dialects/gate/_interface.py,sha256=R-91lFvarmlQXOF6YDDmgzLRHDeBCwcecFaR6NbFAOI,536
47
+ bloqade/native/dialects/gate/stmts.py,sha256=FjMO13pdAXa0Mp4gVf4h0yf787UWQdpqexB8LO8lUMY,1001
48
+ bloqade/native/stdlib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
+ bloqade/native/stdlib/broadcast.py,sha256=OHj1uDDER_80F734eIsBkGTkDEvk7eHS3YaKcUy-MNg,6050
50
+ bloqade/native/stdlib/simple.py,sha256=0ZHpJfqB6tbIaIxUmN52MDE9qPboo1H8w_u9L7Ff8sY,5352
51
+ bloqade/native/upstream/__init__.py,sha256=_6m8sEwMS2D78cyFHY_-x7TDaFx-ATzqxuwNUwdvrGU,92
52
+ bloqade/native/upstream/squin2native.py,sha256=U5TC2tetCAB6cfyAK9BG73QoxBGcB8fJcG-x66YMDE0,2986
53
+ bloqade/pyqrack/__init__.py,sha256=MHQ861MamWKQObIgJGCBd-oohRBvJTL8XdsRBw7Kq6w,833
54
+ bloqade/pyqrack/base.py,sha256=Q2GjAcqEZBo-Lhe2jpXuNCB0xXVIdwtdy6cUmDM_OZI,4623
55
+ bloqade/pyqrack/device.py,sha256=a3Pmay4yyYp0cvOAfuHTOxyvOBCvNjdx-IQHJXru0cM,14828
56
+ bloqade/pyqrack/native.py,sha256=FcdYb5H65Mgf8lafG-hcugx4Oa1cD8nEYNxGboAA7Lc,1877
57
+ bloqade/pyqrack/reg.py,sha256=x227OK2hYX8zAUwlDvoFWrJDFxxrXcS9DNNecWe1s7c,1797
58
+ bloqade/pyqrack/target.py,sha256=_GBotS21iKU7yhS7rd10rnuCqgmxPqsvZ5pL8dYse9w,3680
59
+ bloqade/pyqrack/task.py,sha256=USHsiSoxeT9HtGMWyffKSJJCtLIL6dm-GUmJViWGkrQ,5227
60
+ bloqade/pyqrack/noise/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
+ bloqade/pyqrack/noise/native.py,sha256=BmRlRzqCzvSgfSsDlIjuB8L0gx4uaPqmPyfJ5-Ole6M,2751
62
+ bloqade/pyqrack/qasm2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
+ bloqade/pyqrack/qasm2/core.py,sha256=bHtHc8VTB0OUPoCRIQuPDug5UMOqZHY0FJZEHd77eBo,3245
64
+ bloqade/pyqrack/qasm2/glob.py,sha256=EGe7sh9SuvpRW4V4rFcX6Gf7ot8iyThYbsdPeEBKzYM,865
65
+ bloqade/pyqrack/qasm2/parallel.py,sha256=ITetuXOH2KUDpDOBuFnJoz2DhduvyBC72cOAOOixTaM,1606
66
+ bloqade/pyqrack/qasm2/uop.py,sha256=bLZONsEK15ymFGIQwy7muQv-TX0mvLrECuMp1Y3XTfA,8612
67
+ bloqade/pyqrack/squin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
+ bloqade/pyqrack/squin/qubit.py,sha256=rXshs86krKZpBjrkCLkbcvhKtbTQVxcwnru9qyg-c_c,2303
69
+ bloqade/pyqrack/squin/gate/__init__.py,sha256=pxvjsKnmIpR47mzs1zrZLYHcmjRvErieMOl1G4KcGeY,27
70
+ bloqade/pyqrack/squin/gate/gate.py,sha256=k0qROtw0ouSujod-Z9K1v_X9BNXAVIp7f08cMw2Hk9E,3901
71
+ bloqade/pyqrack/squin/noise/__init__.py,sha256=uXgRQPOrHNRp3k2ff2HD8mheUEaqxZPKEnwV-s4BiV4,31
72
+ bloqade/pyqrack/squin/noise/native.py,sha256=d4gdMqJJqOPPGOaIpualenKx6UYXDDqAQxA_6wMy9pc,4158
73
+ bloqade/qasm2/__init__.py,sha256=W9dR4Qnvigc7e7Ay7puSJHAIuiQk8vWqY-W64SMu5oU,515
74
+ bloqade/qasm2/_qasm_loading.py,sha256=SoyzZ8eLd2_qKOWbWbo3HbxgiSXMVTd-B2wtrmuZo00,4798
75
+ bloqade/qasm2/_wrappers.py,sha256=4x3fldC4sV2K_XZ0FPZOorQKAbs_7pualListXtak4A,11148
76
+ bloqade/qasm2/glob.py,sha256=dDZW2KYXi9e0JmEbpVJIJvQytVEr86G7eism9ghlABM,579
77
+ bloqade/qasm2/groups.py,sha256=fC02APrn4tt8kOiNsdter2upGNjSwUZ7qR7BhbucNp8,2563
78
+ bloqade/qasm2/noise.py,sha256=YXx-23eFHfGdae9C41dptUvlnu2pK7odT3_eaw3EvBc,2034
79
+ bloqade/qasm2/parallel.py,sha256=pBRCdhivu9CBADhKP46QMtnomOsFMA79J8OyMvqEu74,1169
80
+ bloqade/qasm2/types.py,sha256=bL_Hmo3ut9Cc6--ufyGu8pEZb3j9ZN_RnYuTY1UGSVc,837
81
+ bloqade/qasm2/dialects/__init__.py,sha256=wX99UBwncm0K0Q6yxbAtubXsj2RvAynJYH_5RAt_d54,182
82
+ bloqade/qasm2/dialects/glob.py,sha256=l1up9Hgw_1Ust4VPDoTh85WaasB4Y7_sAEpJLsva0GE,1615
83
+ bloqade/qasm2/dialects/indexing.py,sha256=yp5xNbfad_MSJmpQGqC_5cNak9PPeoTLckiL9NsIF9k,2350
84
+ bloqade/qasm2/dialects/inline.py,sha256=tJPhG0gVy8wxR2K4fBeSNuQtaeS1ORB81gGauogQAf0,2527
85
+ bloqade/qasm2/dialects/parallel.py,sha256=5Fi15i05iLb-S0_74Aj4yWDhUolLIWFb-3iOho8x7cE,3681
86
+ bloqade/qasm2/dialects/core/__init__.py,sha256=rzYkYvHd-z0CU_Kabac2T9B0TI1-ZxdyS8WVT6JXP7E,301
87
+ bloqade/qasm2/dialects/core/_dialect.py,sha256=KYguYHVdyIjPjAyM4GApBUk4slMXmRTMPNfE0lEE7rc,57
88
+ bloqade/qasm2/dialects/core/_emit.py,sha256=HhMKhfl9pL3cb4gr6TCGP2GJ0PchyyJ-ZcvE7MVeqwQ,2540
89
+ bloqade/qasm2/dialects/core/_typeinfer.py,sha256=27qciyhU4TNJ2NPBvDc7mjkOK-x8AzMjq20OXqsRtYQ,671
90
+ bloqade/qasm2/dialects/core/address.py,sha256=F_jnTXs977LKD5azRii3s-gdWf0TNslIkHpGIgf0GAE,1310
91
+ bloqade/qasm2/dialects/core/stmts.py,sha256=MOzll2u4mPdqtUI_aHkYxx3U-SsveEM8W85OU34FqHk,3826
92
+ bloqade/qasm2/dialects/expr/__init__.py,sha256=8A7VX0ox0jIcDL_ufHlC9wZMraZw81f5GkcZKA-7nRY,451
93
+ bloqade/qasm2/dialects/expr/_dialect.py,sha256=yu46u8FX8tTWAlMHv_YIOXZYiAuWYzB7-dbgGIhQayU,57
94
+ bloqade/qasm2/dialects/expr/_emit.py,sha256=97xg69gskV5ezfKCFXdb60PRMni_YmNxI2_PLnV_7TY,3749
95
+ bloqade/qasm2/dialects/expr/_from_python.py,sha256=4wB9J0gMRZq1HnMzAjn6sk6qVpS2gWTlIrTZKKGOMQ8,3432
96
+ bloqade/qasm2/dialects/expr/_interp.py,sha256=dQLDcWABpo107BtC6d18L5NmXYlRPPedGtGqlezRWJw,2395
97
+ bloqade/qasm2/dialects/expr/stmts.py,sha256=UtmLr5-PF28fDnQOSaqEX4ZCNvw7fSfq6nCVSDJHL1g,8119
98
+ bloqade/qasm2/dialects/noise/__init__.py,sha256=4YSXTFjt7TiQd0jqMZy2k6pfKbLyTamQlQ--jPTziLQ,512
99
+ bloqade/qasm2/dialects/noise/_dialect.py,sha256=onK6l3wbM0IHwf3WMiWy7pDRQG0DyLTOzplBuj56psA,58
100
+ bloqade/qasm2/dialects/noise/fidelity.py,sha256=afoY2-LVnJ82g8nvukFiJyJ5llhHJW7kUfgSGsX9Na8,1432
101
+ bloqade/qasm2/dialects/noise/model.py,sha256=0EaNmGJosRp8s-8ENxqWs56Y0xxwstaY-uT2_w5eDfQ,12907
102
+ bloqade/qasm2/dialects/noise/stmts.py,sha256=G2zHBIBxpJigh9IMy7_Cj3rJRB1m0Hqf9h3i7h-8X_4,2351
103
+ bloqade/qasm2/dialects/uop/__init__.py,sha256=M2jpSIExxlgKX0l08-KzvRKeVBUuFPlyLmmWosHWIdk,735
104
+ bloqade/qasm2/dialects/uop/_dialect.py,sha256=mns7toJRMnx38Q5IpScFMUZyA3MwSuEJkV003zudsJA,56
105
+ bloqade/qasm2/dialects/uop/_emit.py,sha256=Bknauu187WkoHNOMePYQm3WckKBFigmufsv0eWqGahk,7992
106
+ bloqade/qasm2/dialects/uop/schedule.py,sha256=gkHXvLACOZlh_pa5wlol3C5L-0D0c7Ttqjrr6VqgVCw,2258
107
+ bloqade/qasm2/dialects/uop/stmts.py,sha256=T22mDA9TgPpHnxh9E3lKv5MGihgyAQ6ontDQ1XdWmtU,7460
108
+ bloqade/qasm2/emit/__init__.py,sha256=Fl9WWMoSyAt3UGAsvCPwnbelhPiPdWDjTpkr8XAJTHc,35
109
+ bloqade/qasm2/emit/base.py,sha256=dDlUmwHFfh140JfnfKgQTWRYbNXj7_SzfYF5allaFkg,2488
110
+ bloqade/qasm2/emit/gate.py,sha256=nk8pwvhcb3MFSm1lOFCzqvBecV3tPpGgG3lPcAIZypk,2785
111
+ bloqade/qasm2/emit/main.py,sha256=5z_-A4iW8mpTg3Zx6FW3mKpaHIESuIwsiePBNFu-Sp8,8367
112
+ bloqade/qasm2/emit/target.py,sha256=M69lLWxT3nHqNx4yrFSkzykDt_iYsL4C3XP9W2FVAN0,6175
113
+ bloqade/qasm2/emit/impls/__init__.py,sha256=ynptLB_449irP9_9u2h3KXmOqF8YvH_NH08NnVoc7zQ,46
114
+ bloqade/qasm2/emit/impls/noise.py,sha256=-N9PmCbz8MwC6xtd55GOpjDoWMyJPJBMVDWT3G83Ads,2779
115
+ bloqade/qasm2/parse/__init__.py,sha256=01tlLfrR015nAAPWw3i_Cs9IXsShpXMnJMagcJ_Vuik,986
116
+ bloqade/qasm2/parse/ast.py,sha256=a48ssf0D_xaE-27PsyeBD5lBvwN2Dojj-RWIBhy7jJE,2904
117
+ bloqade/qasm2/parse/build.py,sha256=2CibD1ZRX3_aknmhb5XvFQcI2sBOn97DlQHomb9CMEw,10621
118
+ bloqade/qasm2/parse/lowering.py,sha256=SkKdcdsvK95Bn7H4hr6XxjZctd25RW_pUPqLXMe9MUY,21065
119
+ bloqade/qasm2/parse/parser.py,sha256=fxqp65dv8NnXE-Ie7ryLESfSH3Xr0unx1EBQysctiHM,121
120
+ bloqade/qasm2/parse/print.py,sha256=PaigQ5RbcfhOteWvDdQHoKsTE3tcNefpVfh1sp5eZEI,8973
121
+ bloqade/qasm2/parse/qasm2.lark,sha256=IYrBydUoVLn1VCNDPP5uNN5BHDET3fQ2yG11cOy900k,2238
122
+ bloqade/qasm2/parse/visitor.py,sha256=W4NUkBw97e3Z4Y1ek6jVNn-5lLVd3A5HXxc-FYTGYbY,427
123
+ bloqade/qasm2/parse/visitor.pyi,sha256=JafCo1QztL6fvmWtJXu4dlqwbTJ6iLVrSa8L-Zd72t4,1851
124
+ bloqade/qasm2/passes/__init__.py,sha256=9vz9F9Mgb5OFgnPWqw8pOJ-7r-tShoa7XevJ41ZmPXM,262
125
+ bloqade/qasm2/passes/fold.py,sha256=OA4mVarUYRAfZSODOA9wgoW7HNNmpQWfPG5qGVEbA6I,1117
126
+ bloqade/qasm2/passes/glob.py,sha256=oAsCibor9DaYFMdTDFBT5QVgi-V0qsl_I4rhgH4AgFI,3545
127
+ bloqade/qasm2/passes/lift_qubits.py,sha256=VgIuqaZecozA3cwGAq8Nzqdv8IqQlzyQv2XlaqY4H4g,759
128
+ bloqade/qasm2/passes/noise.py,sha256=s-KhBZs-3oGxcXh5P1LRVQauUK3NO1scovsBLIG8dUw,2676
129
+ bloqade/qasm2/passes/parallel.py,sha256=q6KWpkgnvxvOO-bCHoLP96ZV33z2XSf03qVYI6qpCq8,5820
130
+ bloqade/qasm2/passes/py2qasm.py,sha256=PmdIrViQ_4PEYBKE5XEk4oqFO2sLF2s_2Etz6R9CBoQ,2167
131
+ bloqade/qasm2/passes/qasm2py.py,sha256=beocXUoO2iM6sX85ML1eK8hp9_s5oupw8tqHWV1cDCo,2138
132
+ bloqade/qasm2/passes/unroll_if.py,sha256=CpE0IRiTU5p2nuFtw0pziNzmkuPvD_EM4Q5IcW4hxm0,1095
133
+ bloqade/qasm2/rewrite/__init__.py,sha256=peWypAlrxyMwuqZT9CmRuVZVPxkbrHZ0tke5ngP_qow,684
134
+ bloqade/qasm2/rewrite/desugar.py,sha256=ABri2ubImrgYUWtuFj0EEh5FcICqjtKUSS2Ue4WlMdA,1007
135
+ bloqade/qasm2/rewrite/glob.py,sha256=JzGDIY8ME9ZhNQ0g4d0FTpJuJlPu6G19myzo4zb6f_M,3119
136
+ bloqade/qasm2/rewrite/insert_qubits.py,sha256=PpYNlJAl-TVtC1MJxIzOQWDetgW8OPXe6cLN1SMg2w0,1187
137
+ bloqade/qasm2/rewrite/native_gates.py,sha256=GVutT1jf_gv9qaR5fLqjcmxcqCfMZTiQyg4Fq-TlmFM,18684
138
+ bloqade/qasm2/rewrite/parallel_to_glob.py,sha256=FVNDBwjiL3-tJN-IT7kjKiaO7I3guDLqRN6rdmLdZvw,3001
139
+ bloqade/qasm2/rewrite/parallel_to_uop.py,sha256=SPOcMq51NHk30GQs1U1oMS0AdNa1Xzg3_0XKJuEid-s,2205
140
+ bloqade/qasm2/rewrite/register.py,sha256=0q-zkSdZih3BbRUDGnig8fFVQA9y2fhn3wdsu4Kbdm4,1563
141
+ bloqade/qasm2/rewrite/uop_to_parallel.py,sha256=y5_OV9H0kgdJP8H6FXPnvHwpfKJ1V8vLkmP7TzQkDQg,13144
142
+ bloqade/qasm2/rewrite/noise/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
+ bloqade/qasm2/rewrite/noise/heuristic_noise.py,sha256=RtXWFBbVfBhAul6eWDfh7D4TduUmALLMM2I71RyafPM,7356
144
+ bloqade/qasm2/rewrite/noise/remove_noise.py,sha256=rnalZ1igiTpCFJ9Z3PRdzcx-qnkkALv6iQO-_yz39kM,1097
145
+ bloqade/qbraid/__init__.py,sha256=V-Co_nhH03UCV4c5MGkBnhHcVwJ2Ngrl6KZnSwo91b8,80
146
+ bloqade/qbraid/lowering.py,sha256=54sMIurWZKYTX_R8tOYa3M422dGX5um6XpPfRf2ycr8,12023
147
+ bloqade/qbraid/schema.py,sha256=FBwMOrwsJ9q98a_8XW6BrJfeJ-cssnTd0tmor6R7Dl0,7880
148
+ bloqade/qbraid/simulation_result.py,sha256=zdCJcAdbQkEDzFFuC2q3gqOFTOLAXHk4wh8RRDB6cgc,3956
149
+ bloqade/qbraid/target.py,sha256=LcFHHyLe74yBmrHI9251xHgLN_nUz35lN8RPNwrT6mI,3149
150
+ bloqade/qubit/__init__.py,sha256=Op0IkrZINFqk9CAaadTz1zAEX_kvQA0jAeDp7azeMCk,425
151
+ bloqade/qubit/_dialect.py,sha256=9rjrq21U6FSwDkMILDplE6zPCjdB-U2mLfpFGdsUeeY,52
152
+ bloqade/qubit/_interface.py,sha256=ihRgJ9x9kYboTJ8zyXj9N4P0idYGFQQJAWuX6Xu0pb0,1079
153
+ bloqade/qubit/_prelude.py,sha256=svWslf7sdyYExCqi1Ki1oXECZezE3xdcDtjNOvWPcMI,1269
154
+ bloqade/qubit/stmts.py,sha256=FP1H7TiRwsPP5GaDZCeE4TiJzJMebKunY0qMTiUGnFU,1959
155
+ bloqade/qubit/analysis/__init__.py,sha256=DvnFHmEqMxRG92jVT3ZWwAQDTb6DC4fZDTV8ZSLZgP0,43
156
+ bloqade/qubit/analysis/address_impl.py,sha256=x1pV6bol2BSrE-_ITSnCkQjq3OK053ja0uHhAwyFdpA,1080
157
+ bloqade/qubit/stdlib/__init__.py,sha256=b1CgWSNBcIWh1yKeFS_keFo0CnXkeTEDk6LEu0kpEiE,102
158
+ bloqade/qubit/stdlib/_new.py,sha256=YDooaU5oXScFaKEHEkNQvnlpma2nwvK4nqX7Z9xAJDo,775
159
+ bloqade/qubit/stdlib/broadcast.py,sha256=oTnxrknCaW1caYEDESwnbWXI_2zjyTG1uXrxEJwKlgs,1729
160
+ bloqade/qubit/stdlib/simple.py,sha256=0aiOgorWQguNDatl3WbnFW98Sy4LDyODlW6h9j426g8,1503
161
+ bloqade/rewrite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
+ bloqade/rewrite/passes/__init__.py,sha256=xziLrWJboRd3ADrAVPOTWI405b32othkVm3jC77Jy54,300
163
+ bloqade/rewrite/passes/aggressive_unroll.py,sha256=r7OCO4KGyr5ux2XEBFE0fQ6JPfkDxo1fnIk7VAX6gbQ,3424
164
+ bloqade/rewrite/passes/callgraph.py,sha256=3izzczPxcBmB7L-q1eorWW399NI86CrIIvnatkfSbb4,3360
165
+ bloqade/rewrite/passes/canonicalize_ilist.py,sha256=qysBpk39XwP5UUp72x31d-j0TnCyiuyH8kxKyJ5jtEk,817
166
+ bloqade/rewrite/rules/__init__.py,sha256=3e1Z5T3INqNtP6OU0Vivu_SdMOR_2KDixeA0Yjoddgg,82
167
+ bloqade/rewrite/rules/split_ifs.py,sha256=KhwvUx-oBrBO2F1j-J5kwNbdnrnEZcZtJflzyQm-UOI,2613
168
+ bloqade/squin/__init__.py,sha256=0QGtsCYQaix6azEpUnuK5rCJLg_CPOVR-JOhYDKrEEM,1302
169
+ bloqade/squin/groups.py,sha256=xNrtc3PbimQyPfJw0pAgBzGKhUSBeEvd-pu3N967n4g,818
170
+ bloqade/squin/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
+ bloqade/squin/analysis/schedule.py,sha256=WLJ40jCoEfjHktw6KMPjjX45-biszaERRd4iDINmqMw,7710
172
+ bloqade/squin/gate/__init__.py,sha256=w5o5Fa2br2q6VG2D1WJ4hofduBk-9QuDIvge8FSJ-oU,70
173
+ bloqade/squin/gate/_dialect.py,sha256=1l9W5g38f9dIOvCU2iR783tuBBc3TjfwESvXE3SiWFg,57
174
+ bloqade/squin/gate/_interface.py,sha256=Nb4XvV84UwQZnOnnw7b84TOBIFfamyxZLIPvdxRVWNI,1601
175
+ bloqade/squin/gate/stmts.py,sha256=XTqVsXpC6tAABdxsnAkMK0tUQe-zzk2RT3WEbbDZarI,2644
176
+ bloqade/squin/noise/__init__.py,sha256=B8QCV0Db9bbBDmqjQPsiRphGLu89-tre-TSlStFYmxM,96
177
+ bloqade/squin/noise/_dialect.py,sha256=Wyc9lXmmfHkZfURlDoIHYCX6HDsLzfPkqwE4REUmMsg,58
178
+ bloqade/squin/noise/_interface.py,sha256=5P5cwt6lwDFLdtR1sZMVnFS8v8KWMAKnfN45AAJ0Iks,1027
179
+ bloqade/squin/noise/stmts.py,sha256=G6B4-FVmHAVE5COV-7mAhoBjxq3ZVtzLYhZJxl_RmQQ,3180
180
+ bloqade/squin/rewrite/U3_to_clifford.py,sha256=hkxjoo3sXbHG9XChdVb11BuU_rOIpw8ZikN0nbg5YlE,5539
181
+ bloqade/squin/rewrite/__init__.py,sha256=9SOU2dpNM52hdlgqvSyPQG2LFvhIA-Z1kAp4ljnDeL0,265
182
+ bloqade/squin/rewrite/remove_dangling_qubits.py,sha256=Q5XmRqZWdlq2-v82W6NCHcdwtgK4cfpqn4MkWohUqHA,469
183
+ bloqade/squin/rewrite/wrap_analysis.py,sha256=cbGY0lnPV3g2ZgVep6AA6w9UmA7mO3waX7tuotIgdqU,1557
184
+ bloqade/squin/stdlib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
+ bloqade/squin/stdlib/broadcast/__init__.py,sha256=kiJmcrd1Q44oR7X0KfkOLxoMaPhiFkAxfHYwUrqOaYk,774
186
+ bloqade/squin/stdlib/broadcast/_qubit.py,sha256=s25nKv4ezRu1O-6w_o-f570TD50K_oFqWWP253hli2o,91
187
+ bloqade/squin/stdlib/broadcast/gate.py,sha256=orBbexaTTkPsEDTXpldLDuL0IuVUMzKqW-3J9ZcJeYo,6393
188
+ bloqade/squin/stdlib/broadcast/noise.py,sha256=_RtbJX-CCO3QMYiOYOJH83rnhn8o-UaSZ296rtrLxm8,4928
189
+ bloqade/squin/stdlib/simple/__init__.py,sha256=y7yq0Ff2ljBgOkC7SFMvrIeSnGjVH55TQ-ynq10DnkQ,719
190
+ bloqade/squin/stdlib/simple/gate.py,sha256=FUOKlvdvbkoNaXrkUnpjyd5o-iM2GsWbptTLNexyZII,5130
191
+ bloqade/squin/stdlib/simple/noise.py,sha256=DWNyHzBjbZz0Af_ufwRKcduHVXlJDJ0SE3Eut9Ohx7Y,3958
192
+ bloqade/stim/__init__.py,sha256=jCkbQig8t7kT_aGBVJ8e_Hj8UHKeyT8QRqmf5QGJPoc,987
193
+ bloqade/stim/_wrappers.py,sha256=PNuo1jcMvNsLAVNvHv_O6hJEmRCj1XRVP97C5mtjtEw,4178
194
+ bloqade/stim/groups.py,sha256=zHPId9X8vDTPgayrdpI_D_KVIg2Wdc5KJ7VbAnAdTOc,694
195
+ bloqade/stim/dialects/__init__.py,sha256=A1Sq0jg8wi6MjRkzmuSBnHmO3EraD0pDFWz-dO6c6v8,89
196
+ bloqade/stim/dialects/auxiliary/__init__.py,sha256=6f57a8k2-QBtqaB0GN8FxxTBlG82oZQbVIOxxq975g4,692
197
+ bloqade/stim/dialects/auxiliary/_dialect.py,sha256=GExjMgzF9HV7IA25Kbl1K2i5g7aJAhdifIdrIDrvBVY,55
198
+ bloqade/stim/dialects/auxiliary/emit.py,sha256=Q9S4BGIGek9MAf0PlMZeuoUPqcSgoaqejd1fIzXY6yo,3294
199
+ bloqade/stim/dialects/auxiliary/interp.py,sha256=pd0KvrHc0x3TYHm7zu24FuN-auLiP2p1Krbz4ik2-7A,694
200
+ bloqade/stim/dialects/auxiliary/lowering.py,sha256=4dxRZHGp_18EMVlYuZQFSzg4MIOBriF5HjexT9Px2xc,1443
201
+ bloqade/stim/dialects/auxiliary/types.py,sha256=1l2YdJ-u9y0wpBfxh4OAlvmRAUnrmcDjDagoW2GyVaQ,314
202
+ bloqade/stim/dialects/auxiliary/stmts/__init__.py,sha256=VxLBnqlZngabs5vn3PiRNRXBBDueTCTmJ2wgWEertrA,371
203
+ bloqade/stim/dialects/auxiliary/stmts/annotate.py,sha256=B1qQ1zgkDCIjeMYqaBycDfRJpI6dKSPzHDtA7JGGG9g,1770
204
+ bloqade/stim/dialects/auxiliary/stmts/const.py,sha256=nxcpVylgjfKt8pDkcMzVBMGLjON2bQb99WSLv7frvkI,3298
205
+ bloqade/stim/dialects/collapse/__init__.py,sha256=MhlEWJR_mJI3teoip1N8MlHk2C68seJELXwmyjyx_ns,305
206
+ bloqade/stim/dialects/collapse/_dialect.py,sha256=F5uplH7WL9ZQatEp0ZMvgLWX1k9moAWW879LTNwnHH0,60
207
+ bloqade/stim/dialects/collapse/emit_str.py,sha256=xZssp37HnQVhGO638_I_vb8ahfG_sHHrxWvaadNDvXw,1852
208
+ bloqade/stim/dialects/collapse/stmts/__init__.py,sha256=6wf-1HIdajz_hiYXh5j0QftsAtyaBtpp826d0UdYysI,189
209
+ bloqade/stim/dialects/collapse/stmts/measure.py,sha256=hr7jGgA4AoaCy62tmVWqKUnbXol2X1jAxm_jkEjKdXs,918
210
+ bloqade/stim/dialects/collapse/stmts/pp_measure.py,sha256=AneDEeWb0mXJRYN5LuKDqwxstkGTIW_-vhadQRIaZ4c,524
211
+ bloqade/stim/dialects/collapse/stmts/reset.py,sha256=4fPSdM_ZiivuUn4uiZGiZQ9swolDir7Dl9lhMkZbspo,473
212
+ bloqade/stim/dialects/gate/__init__.py,sha256=5Y0BTlLOuW-Ud4LwAC_CUuMwxa04LKj4CTKgQbiL8yg,347
213
+ bloqade/stim/dialects/gate/_dialect.py,sha256=78_dThliFZG9xSwYhTdibxP3vefHpEDUawtZqb9X3uA,56
214
+ bloqade/stim/dialects/gate/emit.py,sha256=8WtNdQoA9JeqH72sJzuljQOv111cSnl1iVmeIh3dwYE,2840
215
+ bloqade/stim/dialects/gate/stmts/__init__.py,sha256=TbXjWYfCbZNuGEehvtF75LELLJJo_GzoXWRnuVZphv8,461
216
+ bloqade/stim/dialects/gate/stmts/base.py,sha256=MK7Zu-Kys_64O0nXAkPzlHEnWYevBGm3FRHhJw33rrE,748
217
+ bloqade/stim/dialects/gate/stmts/clifford_1q.py,sha256=Sj1Nf9AA_WWazGTg5kzFRTaLRIj3Edj657j0B8dybdI,896
218
+ bloqade/stim/dialects/gate/stmts/clifford_2q.py,sha256=cb3BVSkOt5SiRq4D4WkbuUbEouK3MwDxQIhAF0cvZbo,239
219
+ bloqade/stim/dialects/gate/stmts/control_2q.py,sha256=gZRtkpgAkiUFqx5Led2t1YjYblEeBMdSQU3DPMGveoM,415
220
+ bloqade/stim/dialects/gate/stmts/pp.py,sha256=yUNCrkYBM7wUCvtRqwP9_HYX0HsHVt6JZR4efM05838,487
221
+ bloqade/stim/dialects/noise/__init__.py,sha256=WoDdIZnxelk8REiIWDKcrEW79xwISdTZlqlTjURb71Q,138
222
+ bloqade/stim/dialects/noise/_dialect.py,sha256=SVUjAqBoGnxo13JlAlsxulIMo1QzfJb4SMSrFaCnfP4,57
223
+ bloqade/stim/dialects/noise/emit.py,sha256=ysbaimqcP51RbE_aKWJd_aeiIyBoN1BHHpWjSY4u4CI,3036
224
+ bloqade/stim/dialects/noise/stmts.py,sha256=1jB43gshxCOqX9vX_EBwYEy9swag8lOjDLwAi-m2xSo,3620
225
+ bloqade/stim/emit/__init__.py,sha256=GZst8q95tnaCf789z-Ha2t6WMiOZ429X7h8mzX5rFM0,102
226
+ bloqade/stim/emit/impls.py,sha256=wYFPqaFH3HjG94Uv_jF7oIY_nCanINX43bCjjhFxk_k,423
227
+ bloqade/stim/emit/stim_str.py,sha256=-XsoyIhVmRgnGQ-rQGJ6zpPROPN2WoUp7aTblCczzfY,2267
228
+ bloqade/stim/parse/__init__.py,sha256=l2DjReB2KkgrDjP_4nP6RnoziiOewoSeZfTno1sVYTw,59
229
+ bloqade/stim/parse/lowering.py,sha256=rrIMiWyM176c5oKebAhC0pisxAx9dKjLB5ORTtCSvsU,23698
230
+ bloqade/stim/passes/__init__.py,sha256=Mznmsy9ABZPCV9YGxoyqSPSTsg_nZByO6_3MxBxw1n0,71
231
+ bloqade/stim/passes/flatten.py,sha256=zxxsCxwaxozYDLT_hbZilfbs1zaTqRpSfFe2hfHVH2c,900
232
+ bloqade/stim/passes/simplify_ifs.py,sha256=TpzInFhUhZ0qrBvAEKBMufr7OHKSqxanZOnhkYge3hc,1304
233
+ bloqade/stim/passes/squin_to_stim.py,sha256=FpC7lBFwB9pODcsrShzwXkm7UXhiDwZNN-UhD5dllCE,3637
234
+ bloqade/stim/rewrite/__init__.py,sha256=Q4KZS3qaOWFo0Dik-_18QmtfYxEdOsCxk7-VwprJIAU,462
235
+ bloqade/stim/rewrite/get_record_util.py,sha256=tZJdjcqUzggbPES-4UzLZQzSVSCaXzECV71SKjtJYd4,843
236
+ bloqade/stim/rewrite/ifs_to_stim.py,sha256=3GgG4PRYduX2np_eTUcH-WF2sLFY8mAbsJdHM8eVdtE,6471
237
+ bloqade/stim/rewrite/py_constant_to_stim.py,sha256=PV8bHvn759-d_0JW4akaGSORW_oxigrlUBhAC51PJAU,1354
238
+ bloqade/stim/rewrite/qubit_to_stim.py,sha256=-ccFmmNgVvbzc3HjGWFRJhmS1AcpelbumlEhY0DAAwQ,4790
239
+ bloqade/stim/rewrite/set_detector_to_stim.py,sha256=UcDk72Ov9h7wseQm-A4lm6OpOoQByJgqG7HUnn4L5gQ,2237
240
+ bloqade/stim/rewrite/set_observable_to_stim.py,sha256=rirtof0P3epJYq6j82igLY-atANSCkueX7brhlZ62J8,1685
241
+ bloqade/stim/rewrite/squin_measure.py,sha256=F6zyq3UnJH3Bu7hL9fYItwJdV0R0IKp22Phxk5Cg-vw,2150
242
+ bloqade/stim/rewrite/squin_noise.py,sha256=2VkRv0u5PmjShFeQtA9vM1AxYCy8ktgNHNrlVXdhHAo,7012
243
+ bloqade/stim/rewrite/util.py,sha256=G8Uddu5E0CDgdxzgf2MGGIBHFB0uNRqyP4IANgNehYM,1166
244
+ bloqade/stim/upstream/__init__.py,sha256=Skev79lMyfz2bFoih-Fn_9iXbMArqlKxHSd1agHAtlA,55
245
+ bloqade/stim/upstream/from_squin.py,sha256=08I_BE7gK2a8ngZ2ElCLw879B5KGaKCFRf26NJVdU70,272
246
+ bloqade/validation/__init__.py,sha256=Me6OviZ0_Vx2ek5RqFy6k_OI56NlH9dEuhOSakh_D7c,103
247
+ bloqade/validation/kernel_validation.py,sha256=B05noOhr_zFZiOs7OyI-ZakzCdDAefQN-A3K44e92OA,2661
248
+ bloqade/validation/analysis/__init__.py,sha256=hLJqnZrNUA64uMeaad4mESTjUf7GiysYTfm-dwvZfek,145
249
+ bloqade/validation/analysis/analysis.py,sha256=puV0pIYifWaTCQ6O9Eta8KA7SteAbNmDj38UPK7o3zQ,1429
250
+ bloqade/validation/analysis/lattice.py,sha256=SJjzt_oz-Bm3-dgtiUpFxyNa2i7gQDXSH2LZ0uioyCs,1210
251
+ bloqade/visual/__init__.py,sha256=Y7d0YgovKhUFzjMeDvt0wGRUZ3re3SY6iO3e8xHXrr4,37
252
+ bloqade/visual/animation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
253
+ bloqade/visual/animation/animate.py,sha256=NSKs3YDWgTZH2-Tpx3cP1bBcIEWTEPqK5UFkY_IF_3k,8927
254
+ bloqade/visual/animation/base.py,sha256=JVa7ad_S3JsGxNAhsUwTHNR0ESG2mlGcZ8sNjsUQcH4,11061
255
+ bloqade/visual/animation/gate_event.py,sha256=3OsJ9OK5UHO7-KFUDqRJITEMSZqn-ELkl1N5pimYPbc,567
256
+ bloqade/visual/animation/runtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
257
+ bloqade/visual/animation/runtime/aod.py,sha256=E_oiIAKjNqPlqvTEc2ImFXBN2ZyFb7z7-518y8jBCcY,973
258
+ bloqade/visual/animation/runtime/atoms.py,sha256=EmjxhujLiHHPS_HtH_B-7TiqeHgvW5uSAgag9hYtJ1U,1581
259
+ bloqade/visual/animation/runtime/ppoly.py,sha256=JB9IP53N1w6adBJEue6J5Nmj818Id9JvrlgrmiQTU1I,1385
260
+ bloqade/visual/animation/runtime/qpustate.py,sha256=rlmxQeJSvaohXrTpXQL5y-NJcpvfW33xPaYM1slv7cc,4270
261
+ bloqade/visual/animation/runtime/utils.py,sha256=ju9IzOWX-vKwfpqUjlUKu3Ssr_UFPFFq-tzH_Nqyo_c,1212
262
+ bloqade_circuit-0.9.1.dist-info/METADATA,sha256=oKjEzI9qU7-Cv6538jO_laL1UeGUO17Mwfx2Gib01xQ,3723
263
+ bloqade_circuit-0.9.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
264
+ bloqade_circuit-0.9.1.dist-info/licenses/LICENSE,sha256=S5GIJwR6QCixPA9wryYb44ZEek0Nz4rt_zLUqP05UbU,13160
265
+ bloqade_circuit-0.9.1.dist-info/RECORD,,
@@ -1,166 +0,0 @@
1
- from kirin import interp
2
-
3
- from bloqade.squin import op
4
- from bloqade.pyqrack.base import PyQrackInterpreter
5
-
6
- from .runtime import (
7
- SnRuntime,
8
- SpRuntime,
9
- U3Runtime,
10
- RotRuntime,
11
- KronRuntime,
12
- MultRuntime,
13
- ResetRuntime,
14
- ScaleRuntime,
15
- AdjointRuntime,
16
- ControlRuntime,
17
- PhaseOpRuntime,
18
- IdentityRuntime,
19
- OperatorRuntime,
20
- ProjectorRuntime,
21
- OperatorRuntimeABC,
22
- PauliStringRuntime,
23
- )
24
-
25
-
26
- @op.dialect.register(key="pyqrack")
27
- class PyQrackMethods(interp.MethodTable):
28
-
29
- @interp.impl(op.stmts.Kron)
30
- def kron(
31
- self, interp: PyQrackInterpreter, frame: interp.Frame, stmt: op.stmts.Kron
32
- ) -> tuple[OperatorRuntimeABC]:
33
- lhs = frame.get(stmt.lhs)
34
- rhs = frame.get(stmt.rhs)
35
- return (KronRuntime(lhs, rhs),)
36
-
37
- @interp.impl(op.stmts.Mult)
38
- def mult(
39
- self, interp: PyQrackInterpreter, frame: interp.Frame, stmt: op.stmts.Mult
40
- ) -> tuple[OperatorRuntimeABC]:
41
- lhs = frame.get(stmt.lhs)
42
- rhs = frame.get(stmt.rhs)
43
- return (MultRuntime(lhs, rhs),)
44
-
45
- @interp.impl(op.stmts.Adjoint)
46
- def adjoint(
47
- self, interp: PyQrackInterpreter, frame: interp.Frame, stmt: op.stmts.Adjoint
48
- ) -> tuple[OperatorRuntimeABC]:
49
- op = frame.get(stmt.op)
50
- return (AdjointRuntime(op),)
51
-
52
- @interp.impl(op.stmts.Scale)
53
- def scale(
54
- self, interp: PyQrackInterpreter, frame: interp.Frame, stmt: op.stmts.Scale
55
- ) -> tuple[OperatorRuntimeABC]:
56
- op = frame.get(stmt.op)
57
- factor = frame.get(stmt.factor)
58
- return (ScaleRuntime(op, factor),)
59
-
60
- @interp.impl(op.stmts.Control)
61
- def control(
62
- self, interp: PyQrackInterpreter, frame: interp.Frame, stmt: op.stmts.Control
63
- ) -> tuple[OperatorRuntimeABC]:
64
- op = frame.get(stmt.op)
65
- n_controls = stmt.n_controls
66
- rt = ControlRuntime(
67
- op=op,
68
- n_controls=n_controls,
69
- )
70
- return (rt,)
71
-
72
- @interp.impl(op.stmts.Rot)
73
- def rot(
74
- self, interp: PyQrackInterpreter, frame: interp.Frame, stmt: op.stmts.Rot
75
- ) -> tuple[OperatorRuntimeABC]:
76
- axis = frame.get(stmt.axis)
77
- angle = frame.get(stmt.angle)
78
- return (RotRuntime(axis, angle),)
79
-
80
- @interp.impl(op.stmts.Identity)
81
- def identity(
82
- self, interp: PyQrackInterpreter, frame: interp.Frame, stmt: op.stmts.Identity
83
- ) -> tuple[OperatorRuntimeABC]:
84
- return (IdentityRuntime(sites=stmt.sites),)
85
-
86
- @interp.impl(op.stmts.PhaseOp)
87
- @interp.impl(op.stmts.ShiftOp)
88
- def phaseop(
89
- self,
90
- interp: PyQrackInterpreter,
91
- frame: interp.Frame,
92
- stmt: op.stmts.PhaseOp | op.stmts.ShiftOp,
93
- ) -> tuple[OperatorRuntimeABC]:
94
- theta = frame.get(stmt.theta)
95
- global_ = isinstance(stmt, op.stmts.PhaseOp)
96
- return (PhaseOpRuntime(theta, global_=global_),)
97
-
98
- @interp.impl(op.stmts.Reset)
99
- @interp.impl(op.stmts.ResetToOne)
100
- def reset(
101
- self,
102
- interp: PyQrackInterpreter,
103
- frame: interp.Frame,
104
- stmt: op.stmts.Reset | op.stmts.ResetToOne,
105
- ) -> tuple[OperatorRuntimeABC]:
106
- target_state = isinstance(stmt, op.stmts.ResetToOne)
107
- return (ResetRuntime(target_state=target_state),)
108
-
109
- @interp.impl(op.stmts.X)
110
- @interp.impl(op.stmts.Y)
111
- @interp.impl(op.stmts.Z)
112
- @interp.impl(op.stmts.H)
113
- @interp.impl(op.stmts.S)
114
- @interp.impl(op.stmts.T)
115
- def operator(
116
- self,
117
- interp: PyQrackInterpreter,
118
- frame: interp.Frame,
119
- stmt: (
120
- op.stmts.X | op.stmts.Y | op.stmts.Z | op.stmts.H | op.stmts.S | op.stmts.T
121
- ),
122
- ) -> tuple[OperatorRuntimeABC]:
123
- return (OperatorRuntime(method_name=stmt.name.lower()),)
124
-
125
- @interp.impl(op.stmts.P0)
126
- @interp.impl(op.stmts.P1)
127
- def projector(
128
- self,
129
- interp: PyQrackInterpreter,
130
- frame: interp.Frame,
131
- stmt: op.stmts.P0 | op.stmts.P1,
132
- ) -> tuple[OperatorRuntimeABC]:
133
- state = isinstance(stmt, op.stmts.P1)
134
- return (ProjectorRuntime(to_state=state),)
135
-
136
- @interp.impl(op.stmts.Sp)
137
- def sp(
138
- self, interp: PyQrackInterpreter, frame: interp.Frame, stmt: op.stmts.Sp
139
- ) -> tuple[OperatorRuntimeABC]:
140
- return (SpRuntime(),)
141
-
142
- @interp.impl(op.stmts.Sn)
143
- def sn(
144
- self, interp: PyQrackInterpreter, frame: interp.Frame, stmt: op.stmts.Sn
145
- ) -> tuple[OperatorRuntimeABC]:
146
- return (SnRuntime(),)
147
-
148
- @interp.impl(op.stmts.U3)
149
- def u3(
150
- self, interp: PyQrackInterpreter, frame: interp.Frame, stmt: op.stmts.U3
151
- ) -> tuple[OperatorRuntimeABC]:
152
- theta = frame.get(stmt.theta)
153
- phi = frame.get(stmt.phi)
154
- lam = frame.get(stmt.lam)
155
- return (U3Runtime(theta, phi, lam),)
156
-
157
- @interp.impl(op.stmts.PauliString)
158
- def clifford_string(
159
- self,
160
- interp: PyQrackInterpreter,
161
- frame: interp.Frame,
162
- stmt: op.stmts.PauliString,
163
- ) -> tuple[OperatorRuntimeABC]:
164
- string = stmt.string
165
- ops = [OperatorRuntime(method_name=name.lower()) for name in stmt.string]
166
- return (PauliStringRuntime(string, ops),)