cirq-core 1.6.0.dev20250722195126__py3-none-any.whl → 1.6.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.
Potentially problematic release.
This version of cirq-core might be problematic. Click here for more details.
- cirq/_version.py +1 -1
- cirq/_version_test.py +1 -1
- cirq/circuits/moment_test.py +1 -1
- cirq/contrib/json_test_data/DampedReadoutNoiseModel.json +12 -0
- cirq/contrib/json_test_data/DampedReadoutNoiseModel.repr +4 -0
- cirq/contrib/json_test_data/DepolarizingNoiseModel.json +12 -0
- cirq/contrib/json_test_data/DepolarizingNoiseModel.repr +4 -0
- cirq/contrib/json_test_data/DepolarizingWithDampedReadoutNoiseModel.json +6 -0
- cirq/contrib/json_test_data/DepolarizingWithDampedReadoutNoiseModel.repr +1 -0
- cirq/contrib/json_test_data/DepolarizingWithReadoutNoiseModel.json +5 -0
- cirq/contrib/json_test_data/DepolarizingWithReadoutNoiseModel.repr +1 -0
- cirq/contrib/json_test_data/ReadoutNoiseModel.json +12 -0
- cirq/contrib/json_test_data/ReadoutNoiseModel.repr +4 -0
- cirq/ops/fsim_gate.py +1 -1
- cirq/protocols/kraus_protocol.py +19 -5
- cirq/protocols/kraus_protocol_test.py +9 -1
- cirq/value/condition.py +1 -1
- {cirq_core-1.6.0.dev20250722195126.dist-info → cirq_core-1.6.1.dist-info}/METADATA +1 -1
- {cirq_core-1.6.0.dev20250722195126.dist-info → cirq_core-1.6.1.dist-info}/RECORD +22 -12
- {cirq_core-1.6.0.dev20250722195126.dist-info → cirq_core-1.6.1.dist-info}/WHEEL +0 -0
- {cirq_core-1.6.0.dev20250722195126.dist-info → cirq_core-1.6.1.dist-info}/licenses/LICENSE +0 -0
- {cirq_core-1.6.0.dev20250722195126.dist-info → cirq_core-1.6.1.dist-info}/top_level.txt +0 -0
cirq/_version.py
CHANGED
cirq/_version_test.py
CHANGED
cirq/circuits/moment_test.py
CHANGED
|
@@ -885,7 +885,7 @@ def test_kraus() -> None:
|
|
|
885
885
|
|
|
886
886
|
|
|
887
887
|
def test_kraus_too_big() -> None:
|
|
888
|
-
m = cirq.Moment(cirq.IdentityGate(11).on(*cirq.LineQubit.range(11)))
|
|
888
|
+
m = cirq.Moment(cirq.IdentityGate(11).with_probability(0.5).on(*cirq.LineQubit.range(11)))
|
|
889
889
|
assert not cirq.has_kraus(m)
|
|
890
890
|
assert not m._has_superoperator_()
|
|
891
891
|
assert m._kraus_() is NotImplemented
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
cirq.contrib.noise_models.DepolarizingWithDampedReadoutNoiseModel(0.1, 0.2, 0.3)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
cirq.contrib.noise_models.DepolarizingWithReadoutNoiseModel(0.1, 0.2)
|
cirq/ops/fsim_gate.py
CHANGED
|
@@ -350,7 +350,7 @@ class PhasedFSimGate(gate_features.InterchangeableQubitsGate, raw_types.Gate):
|
|
|
350
350
|
|
|
351
351
|
@staticmethod
|
|
352
352
|
def from_matrix(u: np.ndarray) -> PhasedFSimGate | None:
|
|
353
|
-
"""
|
|
353
|
+
"""Constructs a PhasedFSimGate from unitary.
|
|
354
354
|
|
|
355
355
|
Args:
|
|
356
356
|
u: A unitary matrix representing a PhasedFSimGate.
|
cirq/protocols/kraus_protocol.py
CHANGED
|
@@ -26,6 +26,7 @@ from typing_extensions import Protocol
|
|
|
26
26
|
from cirq import protocols, qis
|
|
27
27
|
from cirq._doc import doc_private
|
|
28
28
|
from cirq.protocols.decompose_protocol import _try_decompose_into_operations_and_qubits
|
|
29
|
+
from cirq.protocols.has_unitary_protocol import has_unitary
|
|
29
30
|
from cirq.protocols.mixture_protocol import has_mixture
|
|
30
31
|
from cirq.protocols.unitary_protocol import unitary
|
|
31
32
|
|
|
@@ -95,9 +96,14 @@ class SupportsKraus(Protocol):
|
|
|
95
96
|
"""
|
|
96
97
|
|
|
97
98
|
|
|
98
|
-
def _strat_kraus_from_apply_channel(val: Any) -> tuple[np.ndarray, ...] | None:
|
|
99
|
+
def _strat_kraus_from_apply_channel(val: Any, atol: float) -> tuple[np.ndarray, ...] | None:
|
|
99
100
|
"""Attempts to compute a value's Kraus operators via its _apply_channel_ method.
|
|
100
|
-
This is very expensive (O(16^N)), so only do this as a last resort.
|
|
101
|
+
This is very expensive (O(16^N)), so only do this as a last resort.
|
|
102
|
+
|
|
103
|
+
Args:
|
|
104
|
+
val: value to calculate kraus channels from.
|
|
105
|
+
atol: Absolute tolerance for super-operator calculation.
|
|
106
|
+
Matrices with all entries less than this will be dropped."""
|
|
101
107
|
method = getattr(val, '_apply_channel_', None)
|
|
102
108
|
if method is None:
|
|
103
109
|
return None
|
|
@@ -122,12 +128,15 @@ def _strat_kraus_from_apply_channel(val: Any) -> tuple[np.ndarray, ...] | None:
|
|
|
122
128
|
if superop is None or superop is NotImplemented:
|
|
123
129
|
return None
|
|
124
130
|
n = np.prod(qid_shape) ** 2
|
|
125
|
-
|
|
131
|
+
# Note that super-operator calculations can be numerically unstable
|
|
132
|
+
# and we want to avoid returning kraus channels with "almost zero"
|
|
133
|
+
# components
|
|
134
|
+
kraus_ops = qis.superoperator_to_kraus(superop.reshape((n, n)), atol=atol)
|
|
126
135
|
return tuple(kraus_ops)
|
|
127
136
|
|
|
128
137
|
|
|
129
138
|
def kraus(
|
|
130
|
-
val: Any, default: Any = RaiseTypeErrorIfNotProvided
|
|
139
|
+
val: Any, default: Any = RaiseTypeErrorIfNotProvided, atol: float = 1e-6
|
|
131
140
|
) -> tuple[np.ndarray, ...] | TDefault:
|
|
132
141
|
r"""Returns a list of matrices describing the channel for the given value.
|
|
133
142
|
|
|
@@ -149,6 +158,8 @@ def kraus(
|
|
|
149
158
|
default: Determines the fallback behavior when `val` doesn't have
|
|
150
159
|
a channel. If `default` is not set, a TypeError is raised. If
|
|
151
160
|
default is set to a value, that value is returned.
|
|
161
|
+
atol: If calculating Kraus channels from channels, use this tolerance
|
|
162
|
+
for determining whether a super-operator is all zeros.
|
|
152
163
|
|
|
153
164
|
Returns:
|
|
154
165
|
If `val` has a `_kraus_` method and its result is not NotImplemented,
|
|
@@ -187,6 +198,9 @@ def kraus(
|
|
|
187
198
|
if unitary_result is not NotImplemented and unitary_result is not None:
|
|
188
199
|
return (unitary_result,)
|
|
189
200
|
|
|
201
|
+
if has_unitary(val):
|
|
202
|
+
return (unitary(val),)
|
|
203
|
+
|
|
190
204
|
channel_result = NotImplemented if channel_getter is None else channel_getter()
|
|
191
205
|
if channel_result is not NotImplemented:
|
|
192
206
|
return tuple(channel_result) # pragma: no cover
|
|
@@ -195,7 +209,7 @@ def kraus(
|
|
|
195
209
|
# Note: _apply_channel can lead to kraus being called again, so if default
|
|
196
210
|
# is None, this can trigger an infinite loop.
|
|
197
211
|
if default is not None:
|
|
198
|
-
result = _strat_kraus_from_apply_channel(val)
|
|
212
|
+
result = _strat_kraus_from_apply_channel(val, atol)
|
|
199
213
|
if result is not None:
|
|
200
214
|
return result
|
|
201
215
|
|
|
@@ -167,7 +167,7 @@ def test_has_kraus(cls) -> None:
|
|
|
167
167
|
assert cirq.has_kraus(cls())
|
|
168
168
|
|
|
169
169
|
|
|
170
|
-
@pytest.mark.parametrize('decomposed_cls', [HasKraus, HasMixture
|
|
170
|
+
@pytest.mark.parametrize('decomposed_cls', [HasKraus, HasMixture])
|
|
171
171
|
def test_has_kraus_when_decomposed(decomposed_cls) -> None:
|
|
172
172
|
op = HasKrausWhenDecomposed(decomposed_cls).on(cirq.NamedQubit('test'))
|
|
173
173
|
assert cirq.has_kraus(op)
|
|
@@ -243,3 +243,11 @@ def test_reset_channel_kraus_apply_channel_consistency():
|
|
|
243
243
|
gate_no_kraus = NoKrausReset()
|
|
244
244
|
# Should still match the original superoperator
|
|
245
245
|
np.testing.assert_allclose(cirq.kraus(gate), cirq.kraus(gate_no_kraus), atol=1e-8)
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
def test_kraus_channel_with_has_unitary():
|
|
249
|
+
"""CZSWAP has no unitary dunder method but has_unitary returns True."""
|
|
250
|
+
op = cirq.CZSWAP.on(cirq.q(1), cirq.q(2))
|
|
251
|
+
channels = cirq.kraus(op)
|
|
252
|
+
assert len(channels) == 1
|
|
253
|
+
np.testing.assert_allclose(channels[0], cirq.unitary(op))
|
cirq/value/condition.py
CHANGED
|
@@ -154,7 +154,7 @@ class BitMaskKeyCondition(Condition):
|
|
|
154
154
|
- BitMaskKeyCondition.create_not_equal_mask('a', 13) -> (a & 13) != 13
|
|
155
155
|
|
|
156
156
|
The bits in the bitmask have the same order as the qubits passed to `cirq.measure(...)`. That's
|
|
157
|
-
the most significant bit corresponds to the
|
|
157
|
+
the most significant bit corresponds to the first (left most) qubit.
|
|
158
158
|
|
|
159
159
|
Attributes:
|
|
160
160
|
- key: Measurement key.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cirq-core
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.1
|
|
4
4
|
Summary: A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
|
|
5
5
|
Home-page: http://github.com/quantumlib/cirq
|
|
6
6
|
Author: The Cirq Developers
|
|
@@ -4,8 +4,8 @@ cirq/_compat_test.py,sha256=emXpdD5ZvwLRlFAoQB8YatmZyU3b4e9jg6FppMTUhkU,33900
|
|
|
4
4
|
cirq/_doc.py,sha256=BrnoABo1hk5RgB3Cgww4zLHUfiyFny0F1V-tOMCbdaU,2909
|
|
5
5
|
cirq/_import.py,sha256=ixBu4EyGl46Ram2cP3p5eZVEFDW5L2DS-VyTjz4N9iw,8429
|
|
6
6
|
cirq/_import_test.py,sha256=oF4izzOVZLc7NZ0aZHFcGv-r01eiFFt_JORx_x7_D4s,1089
|
|
7
|
-
cirq/_version.py,sha256=
|
|
8
|
-
cirq/_version_test.py,sha256=
|
|
7
|
+
cirq/_version.py,sha256=aSkc22KgpqE_GFtn2zr2R4pNJtldB0RPmIFTYmXAZcs,1188
|
|
8
|
+
cirq/_version_test.py,sha256=tqe3-Bu1IPZV0hB0B7r4zHmEomZe21xXhNrjbZTbb3U,137
|
|
9
9
|
cirq/conftest.py,sha256=wSDKNdIQRDfLnXvOCWD3erheOw8JHRhdfQ53EyTUIXg,1239
|
|
10
10
|
cirq/json_resolver_cache.py,sha256=A5DIgFAY1hUNt9vai_C3-gGBv24116CJMzQxMcXOax4,13726
|
|
11
11
|
cirq/py.typed,sha256=VFSlmh_lNwnaXzwY-ZuW-C2Ws5PkuDoVgBdNCs0jXJE,63
|
|
@@ -25,7 +25,7 @@ cirq/circuits/frozen_circuit_test.py,sha256=1Uk3g9St_nJFmu3IJ5hAcXWJjLfWFUXTCKQU
|
|
|
25
25
|
cirq/circuits/insert_strategy.py,sha256=3995vK4U6O9RV4BXMoFl9Tf3ekxIiqxv71IuX80JtYo,3237
|
|
26
26
|
cirq/circuits/insert_strategy_test.py,sha256=pBFgsylgRG1CS1h4JyzZQFP-xvh6fSbgpiZgxXfbpr4,1237
|
|
27
27
|
cirq/circuits/moment.py,sha256=MK8H9YUQ44ofLdM1E_zOrJ4Sh5Ayh4ezDtwZkx1O-1E,28363
|
|
28
|
-
cirq/circuits/moment_test.py,sha256
|
|
28
|
+
cirq/circuits/moment_test.py,sha256=wTfFl3yret5d5NTsUW1hAoATEZ0iZJ0tFiXHBKgkMUs,34255
|
|
29
29
|
cirq/circuits/optimization_pass.py,sha256=W_YYo_9uy5h4ijU_In5n7gG3EvCVp1cJbE1pHD9ci74,6481
|
|
30
30
|
cirq/circuits/optimization_pass_test.py,sha256=FvCCOZrqVQLYrf_BUAZ6M-sm6dMv00_xsvpN25Op1BA,5914
|
|
31
31
|
cirq/circuits/qasm_output.py,sha256=qclnyiEnRzkcr0JqzzABuiHD3INkiALmhl1jCW0AYNk,13079
|
|
@@ -84,6 +84,16 @@ cirq/contrib/graph_device/uniform_graph_device_test.py,sha256=M7cxp4UEbhTf-kdVUc
|
|
|
84
84
|
cirq/contrib/hacks/__init__.py,sha256=C1uZ1J79EG0dmPxj29mnjdfx6aRU6moz6QAD9PFGUYM,584
|
|
85
85
|
cirq/contrib/hacks/disable_validation.py,sha256=cOqo4QUtbDu1PAOUCQRjT8EKE_AImbQr2rwGi0AOO0k,1530
|
|
86
86
|
cirq/contrib/hacks/disable_validation_test.py,sha256=sz319WQwkSvkAUr913lhlrh1NM7-ozMffb3MxCjbwgY,1755
|
|
87
|
+
cirq/contrib/json_test_data/DampedReadoutNoiseModel.json,sha256=2prOerpHJRPJf_o-sFcYBr0Ffm4J4xCYdJFd6FLS4Hs,196
|
|
88
|
+
cirq/contrib/json_test_data/DampedReadoutNoiseModel.repr,sha256=63Nt1ibLxTkSNVSOrnKcRqc_RTLLg-d9O5Dw_ltc4ME,153
|
|
89
|
+
cirq/contrib/json_test_data/DepolarizingNoiseModel.json,sha256=mBwPxHDjLGwUAg6uB1_pNv04xA7blkRkXcUPL07f7wQ,195
|
|
90
|
+
cirq/contrib/json_test_data/DepolarizingNoiseModel.repr,sha256=PsZ4U9gWM6Z45O_xpe2crHygAawoE6L63Ela-AlDKE4,152
|
|
91
|
+
cirq/contrib/json_test_data/DepolarizingWithDampedReadoutNoiseModel.json,sha256=e8GnksOKwVQkxP9obfQ3wpoxwjVE9FC2jiKFWDxux5Y,126
|
|
92
|
+
cirq/contrib/json_test_data/DepolarizingWithDampedReadoutNoiseModel.repr,sha256=d0ih7jIhch2MgkjexP2ICsA1P1Yat9G0R_nH5v50AtM,81
|
|
93
|
+
cirq/contrib/json_test_data/DepolarizingWithReadoutNoiseModel.json,sha256=5B1rE7lFsyxl-HaV57zd3I2IvcFhtZhGYrxixo_JqsU,99
|
|
94
|
+
cirq/contrib/json_test_data/DepolarizingWithReadoutNoiseModel.repr,sha256=HsgqVOnJ9rnm87M_wB8IlB9fs6juCa1wEkUI2wJWE0w,70
|
|
95
|
+
cirq/contrib/json_test_data/ReadoutNoiseModel.json,sha256=4rozZLPSIS_pLHJYP_lQI-RmCD9FSVylpsVk72tdpjc,189
|
|
96
|
+
cirq/contrib/json_test_data/ReadoutNoiseModel.repr,sha256=2D9n9x2HpMimEUPqcnGdsmah2b7KvhAGzbrEkxC2jHg,142
|
|
87
97
|
cirq/contrib/json_test_data/__init__.py,sha256=y4pe0VWiQAa4PmWikB3XKFVgiuJWspUzW9ugDUYq8C8,723
|
|
88
98
|
cirq/contrib/json_test_data/spec.py,sha256=9Q_-qZkFM6S0bMFzyt-Bv2lPrHaUxltPmYCsn-wTxrs,1182
|
|
89
99
|
cirq/contrib/noise_models/__init__.py,sha256=O3wvaQ6kyNZzwsCnMMZvr2EyS76LpO9xnVZ69a2obv0,957
|
|
@@ -301,7 +311,7 @@ cirq/ops/eigen_gate.py,sha256=OoUpOwHw6VZ2CpH0Qb-eQLD4c-cjj8wFwBr8NEc7C0g,17788
|
|
|
301
311
|
cirq/ops/eigen_gate_test.py,sha256=3ZN7texyQ_svk8YAaH3liZiGAgq_SBpNb46nIzKYfWM,16909
|
|
302
312
|
cirq/ops/fourier_transform.py,sha256=JMledJB0tPjLlIlG9bfapJSqass94rXkAheXragQxq8,7455
|
|
303
313
|
cirq/ops/fourier_transform_test.py,sha256=sX5TfZd9-n1WTyZcqOQ0x6yyI8k6rasywijMo3bc1ls,6426
|
|
304
|
-
cirq/ops/fsim_gate.py,sha256=
|
|
314
|
+
cirq/ops/fsim_gate.py,sha256=Qs7FLsNXR7K2jNVZ8I9o9YLvOb6cC6iBnAvZAHERNk0,20037
|
|
305
315
|
cirq/ops/fsim_gate_test.py,sha256=QgckC2fij30grZJoO6HnQHdGkKcwtiegedEBRid3wF0,25858
|
|
306
316
|
cirq/ops/gate_features.py,sha256=OfjsIGftnGpNUDAYwSP4obG0FsMrHYfp49ZOjbvbmNE,1085
|
|
307
317
|
cirq/ops/gate_features_test.py,sha256=JYPunTBr48CQoIOB1wk2QEdPwtnmE-FxUoF6a4ZeRB8,2407
|
|
@@ -414,8 +424,8 @@ cirq/protocols/inverse_protocol.py,sha256=tHaY8-dfd0SD59v3DZ_zpwz7lwFrraPExEnIgn
|
|
|
414
424
|
cirq/protocols/inverse_protocol_test.py,sha256=5RoZfSRzBvpGpLdg1XKYdB6qy-GkDvZsATUvxdFrLJ0,2067
|
|
415
425
|
cirq/protocols/json_serialization.py,sha256=z7Yu2vsNabRkdeYyIuNCoXATHkrOGreTRShNyN0Fjuc,24520
|
|
416
426
|
cirq/protocols/json_serialization_test.py,sha256=An57W8eBWaUF4kKOCos2UlHzNiILnUJvqmZLmwZ_6MA,27872
|
|
417
|
-
cirq/protocols/kraus_protocol.py,sha256=
|
|
418
|
-
cirq/protocols/kraus_protocol_test.py,sha256=
|
|
427
|
+
cirq/protocols/kraus_protocol.py,sha256=WjZDM_31MiOoAXbocrmkdBUTIr4UReRZXiLk2-3FCn8,11406
|
|
428
|
+
cirq/protocols/kraus_protocol_test.py,sha256=NCgkPoGuSki7VGqbnRUDsuhpFlvDJEAcJGzeLpImz6Q,8236
|
|
419
429
|
cirq/protocols/measurement_key_protocol.py,sha256=JU7XbZfR7o6Wcv5qRJisp3ZAWwW9Fx7OHtxNMrWtZoQ,13351
|
|
420
430
|
cirq/protocols/measurement_key_protocol_test.py,sha256=PqSU9uB4t2yvPz9hZBLby2mZnZo-DOLlx3HIicyPeLo,8768
|
|
421
431
|
cirq/protocols/mixture_protocol.py,sha256=A8J-kkwUqiQphw6d3DK3QZ-lP31DTWv475ZzdeqYA0w,6428
|
|
@@ -1171,7 +1181,7 @@ cirq/value/angle.py,sha256=6YP1RWv8IrruvgxvqlCYxcabYRE8bXrbV_Jx66Jfuvs,3285
|
|
|
1171
1181
|
cirq/value/angle_test.py,sha256=jKLd1hkY-Tb22krD-WkJjfqFy9EJIIZCAL57__FgW_c,3608
|
|
1172
1182
|
cirq/value/classical_data.py,sha256=mPkDGZb4I0a1qSgY-T01NLzkJSgSpKpU_o_EQQEn3mc,11517
|
|
1173
1183
|
cirq/value/classical_data_test.py,sha256=q1QMT17E-X9kcaPw1oQqx3Hwnq3hyht24HaK3z7Udpo,5332
|
|
1174
|
-
cirq/value/condition.py,sha256=
|
|
1184
|
+
cirq/value/condition.py,sha256=lJJcFiqG-r68DhhS01DS6HhQw0pDwbNq71bvH1Famec,11916
|
|
1175
1185
|
cirq/value/condition_test.py,sha256=oEdim5nOYYY8UPU91H2xhb9MH8EC2WbMXTQ_DruHVO0,12949
|
|
1176
1186
|
cirq/value/digits.py,sha256=-3HTHqEQqy5evUz8aLE6ruw0NV3ncuPrc5asRMQ-sQ4,6063
|
|
1177
1187
|
cirq/value/digits_test.py,sha256=WDeUQTnDqZXh4JjWu_qEkzCFAtd8x1UlN9I2yjdDV3g,3848
|
|
@@ -1224,8 +1234,8 @@ cirq/work/sampler.py,sha256=rxbMWvrhu3gfNSBjZKozw28lLKVvBAS_1EGyPdYe8Xg,19041
|
|
|
1224
1234
|
cirq/work/sampler_test.py,sha256=SsMrRvLDYELyOAWLKISjkdEfrBwLYWRsT6D8WrsLM3Q,13533
|
|
1225
1235
|
cirq/work/zeros_sampler.py,sha256=Fs2JWwq0n9zv7_G5Rm-9vPeHUag7uctcMOHg0JTkZpc,2371
|
|
1226
1236
|
cirq/work/zeros_sampler_test.py,sha256=lQLgQDGBLtfImryys2HzQ2jOSGxHgc7-koVBUhv8qYk,3345
|
|
1227
|
-
cirq_core-1.6.
|
|
1228
|
-
cirq_core-1.6.
|
|
1229
|
-
cirq_core-1.6.
|
|
1230
|
-
cirq_core-1.6.
|
|
1231
|
-
cirq_core-1.6.
|
|
1237
|
+
cirq_core-1.6.1.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
|
1238
|
+
cirq_core-1.6.1.dist-info/METADATA,sha256=CYq7KrVl993qWX4h-Kud2p3-DAvqGKle_JnuXgGL_Io,4839
|
|
1239
|
+
cirq_core-1.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1240
|
+
cirq_core-1.6.1.dist-info/top_level.txt,sha256=Sz9iOxHU0IEMLSFGwiwOCaN2e9K-jFbBbtpPN1hB73g,5
|
|
1241
|
+
cirq_core-1.6.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|