cirq-core 1.6.0.dev20250722040433__py3-none-any.whl → 1.6.0.dev20250722041606__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 CHANGED
@@ -28,4 +28,4 @@ if sys.version_info < (3, 11, 0): # pragma: no cover
28
28
  'of Cirq (e.g. "python -m pip install cirq==1.5.0")'
29
29
  )
30
30
 
31
- __version__ = "1.6.0.dev20250722040433"
31
+ __version__ = "1.6.0.dev20250722041606"
cirq/_version_test.py CHANGED
@@ -3,4 +3,4 @@ import cirq
3
3
 
4
4
 
5
5
  def test_version() -> None:
6
- assert cirq.__version__ == "1.6.0.dev20250722040433"
6
+ assert cirq.__version__ == "1.6.0.dev20250722041606"
cirq/study/sweeps.py CHANGED
@@ -230,16 +230,10 @@ class Product(Sweep):
230
230
  return length
231
231
 
232
232
  def param_tuples(self) -> Iterator[Params]:
233
- def _gen(factors):
234
- if not factors:
235
- yield ()
236
- else:
237
- first, rest = factors[0], factors[1:]
238
- for first_values in first.param_tuples():
239
- for rest_values in _gen(rest):
240
- yield first_values + rest_values
241
-
242
- return _gen(self.factors)
233
+ yield from map(
234
+ lambda values: tuple(itertools.chain.from_iterable(values)),
235
+ itertools.product(*(factor.param_tuples() for factor in self.factors)),
236
+ )
243
237
 
244
238
  def __repr__(self) -> str:
245
239
  factors_repr = ', '.join(repr(f) for f in self.factors)
cirq/study/sweeps_test.py CHANGED
@@ -158,6 +158,30 @@ def test_product():
158
158
  assert _values(sweep, 'b') == [3, 3, 4, 4, 3, 3, 4, 4]
159
159
  assert _values(sweep, 'c') == [5, 6, 5, 6, 5, 6, 5, 6]
160
160
 
161
+ sweep = cirq.Points('a', [1, 2]) * (cirq.Points('b', [3, 4, 5]))
162
+ assert list(map(list, sweep.param_tuples())) == [
163
+ [('a', 1), ('b', 3)],
164
+ [('a', 1), ('b', 4)],
165
+ [('a', 1), ('b', 5)],
166
+ [('a', 2), ('b', 3)],
167
+ [('a', 2), ('b', 4)],
168
+ [('a', 2), ('b', 5)],
169
+ ]
170
+
171
+ sweep = cirq.Product(*[cirq.Points(str(i), [0]) for i in range(1025)])
172
+ assert list(map(list, sweep.param_tuples())) == [[(str(i), 0) for i in range(1025)]]
173
+
174
+
175
+ def test_nested_product_zip():
176
+ sweep = cirq.Product(
177
+ cirq.Product(cirq.Points('a', [0]), cirq.Points('b', [0])),
178
+ cirq.Zip(cirq.Points('c', [0, 1]), cirq.Points('d', [0, 1])),
179
+ )
180
+ assert list(map(list, sweep.param_tuples())) == [
181
+ [('a', 0), ('b', 0), ('c', 0), ('d', 0)],
182
+ [('a', 0), ('b', 0), ('c', 1), ('d', 1)],
183
+ ]
184
+
161
185
 
162
186
  def test_zip_addition():
163
187
  zip_sweep = cirq.Zip(cirq.Points('a', [1, 2]), cirq.Points('b', [3, 4]))
@@ -172,6 +196,7 @@ def test_empty_product():
172
196
  sweep = cirq.Product()
173
197
  assert len(sweep) == len(list(sweep)) == 1
174
198
  assert str(sweep) == 'Product()'
199
+ assert list(map(list, sweep.param_tuples())) == [[]]
175
200
 
176
201
 
177
202
  def test_slice_access_error():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cirq-core
3
- Version: 1.6.0.dev20250722040433
3
+ Version: 1.6.0.dev20250722041606
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=plnCZFSbWJaIamttoW4NByhOoJdhoCyrqJEHKJ37hwA,1206
8
- cirq/_version_test.py,sha256=9KAtcFqzeXTp7mlnfEO0YP55nBQ6N8eUQq55_wFsgjg,155
7
+ cirq/_version.py,sha256=9nRK75OBSnRLgvqZx_6GZra2OeWGWSqAmRTkenzHHTc,1206
8
+ cirq/_version_test.py,sha256=txKPsk8dyJHomB1i-2VhHX7-RZHtL8rgxBb-gVZ3nhk,155
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
@@ -973,8 +973,8 @@ cirq/study/result.py,sha256=ci9Pg9IW4OMR4aZ4SaQ7TPVTgoSU-1WarjKEXBv2F2g,19214
973
973
  cirq/study/result_test.py,sha256=Safhg93E1x7NA--bxvkMwOnTPAlT0VkfF6hdsEKvhEM,15627
974
974
  cirq/study/sweepable.py,sha256=lVzlkF9d_PaT1RSLponKzwXebGoDXQ56zwd1XEMa6h0,4338
975
975
  cirq/study/sweepable_test.py,sha256=gMKkCoy8JxaCDeMTiDLdmcbBrioWs-teYOnqrri_2rI,5539
976
- cirq/study/sweeps.py,sha256=HwckrE9J0Rf_oWDqVwBHy4AEdrmSxRifNumQl-eRXIw,21565
977
- cirq/study/sweeps_test.py,sha256=o__dMwDQZl4R0KpK6MwqKHowWBEqopOhAfLk6BYB1V4,16336
976
+ cirq/study/sweeps.py,sha256=VhGc1Q4qJHF9QQlCpGh-X5rF3tKp0esUvWCy1y22S9M,21403
977
+ cirq/study/sweeps_test.py,sha256=fiOKKnDyD-Ju7xeQM7A9pKkfR58VHXKdc0qw9d0MwRA,17231
978
978
  cirq/testing/__init__.py,sha256=QNkOC_QdYkiNrIxYuNjPsB_iWmTW8zUrUwOSiz_8LPg,6171
979
979
  cirq/testing/circuit_compare.py,sha256=3vgAfXZoqfpR58dGDzYTfkitzW7zs7wVq4OsW5LrBUU,18723
980
980
  cirq/testing/circuit_compare_test.py,sha256=4ov58dOiez9HSQUJDP5hW1Li2tL75Gkevts2PiyyfSU,19738
@@ -1224,8 +1224,8 @@ cirq/work/sampler.py,sha256=rxbMWvrhu3gfNSBjZKozw28lLKVvBAS_1EGyPdYe8Xg,19041
1224
1224
  cirq/work/sampler_test.py,sha256=SsMrRvLDYELyOAWLKISjkdEfrBwLYWRsT6D8WrsLM3Q,13533
1225
1225
  cirq/work/zeros_sampler.py,sha256=Fs2JWwq0n9zv7_G5Rm-9vPeHUag7uctcMOHg0JTkZpc,2371
1226
1226
  cirq/work/zeros_sampler_test.py,sha256=lQLgQDGBLtfImryys2HzQ2jOSGxHgc7-koVBUhv8qYk,3345
1227
- cirq_core-1.6.0.dev20250722040433.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
1228
- cirq_core-1.6.0.dev20250722040433.dist-info/METADATA,sha256=4x1la6647P0LD6kFxQCVBGV7dFeZ7Hg-WsDL_qv612k,4857
1229
- cirq_core-1.6.0.dev20250722040433.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1230
- cirq_core-1.6.0.dev20250722040433.dist-info/top_level.txt,sha256=Sz9iOxHU0IEMLSFGwiwOCaN2e9K-jFbBbtpPN1hB73g,5
1231
- cirq_core-1.6.0.dev20250722040433.dist-info/RECORD,,
1227
+ cirq_core-1.6.0.dev20250722041606.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
1228
+ cirq_core-1.6.0.dev20250722041606.dist-info/METADATA,sha256=tXjfxPgW07rxp87WIlM7PZj2tL8MT6GzE4te6h8HnS4,4857
1229
+ cirq_core-1.6.0.dev20250722041606.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1230
+ cirq_core-1.6.0.dev20250722041606.dist-info/top_level.txt,sha256=Sz9iOxHU0IEMLSFGwiwOCaN2e9K-jFbBbtpPN1hB73g,5
1231
+ cirq_core-1.6.0.dev20250722041606.dist-info/RECORD,,