cirq-core 1.4.0.dev20240409213157__py3-none-any.whl → 1.4.0.dev20240410004400__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
@@ -1 +1 @@
1
- __version__ = "1.4.0.dev20240409213157"
1
+ __version__ = "1.4.0.dev20240410004400"
cirq/circuits/circuit.py CHANGED
@@ -2630,7 +2630,7 @@ def _draw_moment_in_diagram(
2630
2630
  if desc:
2631
2631
  y = max(label_map.values(), default=0) + 1
2632
2632
  if tags and include_tags:
2633
- desc = desc + str(tags)
2633
+ desc = desc + f"[{', '.join(map(str, tags))}]"
2634
2634
  out_diagram.write(x0, y, desc)
2635
2635
 
2636
2636
  if not non_global_ops:
@@ -2305,9 +2305,9 @@ global phase: 0.5π 0.5π
2305
2305
  cirq.testing.assert_has_diagram(
2306
2306
  c,
2307
2307
  """\
2308
- 2: ───X──────────
2308
+ 2: ───X────────
2309
2309
 
2310
- π['tag']""",
2310
+ π[tag]""",
2311
2311
  )
2312
2312
 
2313
2313
 
cirq/ops/qubit_manager.py CHANGED
@@ -53,7 +53,7 @@ class _BaseAncillaQid(raw_types.Qid):
53
53
 
54
54
  def __repr__(self) -> str:
55
55
  dim_str = f', dim={self.dim}' if self.dim != 2 else ''
56
- prefix_str = f', prefix={self.prefix}' if self.prefix != '' else ''
56
+ prefix_str = f', prefix={self.prefix!r}' if self.prefix != '' else ''
57
57
  return f"cirq.ops.{type(self).__name__}({self.id}{dim_str}{prefix_str})"
58
58
 
59
59
 
@@ -31,6 +31,10 @@ def test_clean_qubits():
31
31
  assert str(q) == '_c(2) (d=3)'
32
32
  assert repr(q) == 'cirq.ops.CleanQubit(2, dim=3)'
33
33
 
34
+ q = cqi.CleanQubit(3, dim=4, prefix="a")
35
+ assert str(q) == 'a_c(3) (d=4)'
36
+ assert repr(q) == "cirq.ops.CleanQubit(3, dim=4, prefix='a')"
37
+
34
38
  assert cqi.CleanQubit(1) < cqi.CleanQubit(2)
35
39
 
36
40
 
@@ -58,6 +62,10 @@ def test_borrow_qubits():
58
62
  assert str(q) == '_b(20) (d=4)'
59
63
  assert repr(q) == 'cirq.ops.BorrowableQubit(20, dim=4)'
60
64
 
65
+ q = cqi.BorrowableQubit(30, dim=4, prefix="a")
66
+ assert str(q) == 'a_b(30) (d=4)'
67
+ assert repr(q) == "cirq.ops.BorrowableQubit(30, dim=4, prefix='a')"
68
+
61
69
  assert cqi.BorrowableQubit(1) < cqi.BorrowableQubit(2)
62
70
 
63
71
 
cirq/ops/raw_types.py CHANGED
@@ -921,7 +921,7 @@ class TaggedOperation(Operation):
921
921
  # Add tag to wire symbol if it exists.
922
922
  if sub_op_info is not NotImplemented and args.include_tags and sub_op_info.wire_symbols:
923
923
  sub_op_info.wire_symbols = (
924
- sub_op_info.wire_symbols[0] + str(list(self._tags)),
924
+ sub_op_info.wire_symbols[0] + f"[{', '.join(map(str, self._tags))}]",
925
925
  ) + sub_op_info.wire_symbols[1:]
926
926
  return sub_op_info
927
927
 
@@ -490,17 +490,17 @@ def test_cannot_remap_non_measurement_gate():
490
490
 
491
491
  def test_circuit_diagram():
492
492
  class TaggyTag:
493
- """Tag with a custom repr function to test circuit diagrams."""
493
+ """Tag with a custom str function to test circuit diagrams."""
494
494
 
495
- def __repr__(self):
496
- return 'TaggyTag()'
495
+ def __str__(self):
496
+ return '<taggy>'
497
497
 
498
498
  h = cirq.H(cirq.GridQubit(1, 1))
499
499
  tagged_h = h.with_tags('tag1')
500
500
  non_string_tag_h = h.with_tags(TaggyTag())
501
501
 
502
502
  expected = cirq.CircuitDiagramInfo(
503
- wire_symbols=("H['tag1']",),
503
+ wire_symbols=("H[tag1]",),
504
504
  exponent=1.0,
505
505
  connected=True,
506
506
  exponent_qubit_index=None,
@@ -511,14 +511,14 @@ def test_circuit_diagram():
511
511
  assert cirq.circuit_diagram_info(tagged_h, args) == cirq.circuit_diagram_info(h)
512
512
 
513
513
  c = cirq.Circuit(tagged_h)
514
- diagram_with_tags = "(1, 1): ───H['tag1']───"
514
+ diagram_with_tags = "(1, 1): ───H[tag1]───"
515
515
  diagram_without_tags = "(1, 1): ───H───"
516
516
  assert str(cirq.Circuit(tagged_h)) == diagram_with_tags
517
517
  assert c.to_text_diagram() == diagram_with_tags
518
518
  assert c.to_text_diagram(include_tags=False) == diagram_without_tags
519
519
 
520
520
  c = cirq.Circuit(non_string_tag_h)
521
- diagram_with_non_string_tag = "(1, 1): ───H[TaggyTag()]───"
521
+ diagram_with_non_string_tag = "(1, 1): ───H[<taggy>]───"
522
522
  assert c.to_text_diagram() == diagram_with_non_string_tag
523
523
  assert c.to_text_diagram(include_tags=False) == diagram_without_tags
524
524
 
@@ -531,7 +531,7 @@ def test_circuit_diagram_tagged_global_phase():
531
531
  # Just global phase in a circuit
532
532
  assert cirq.circuit_diagram_info(global_phase, default='default') == 'default'
533
533
  cirq.testing.assert_has_diagram(
534
- cirq.Circuit(global_phase), "\n\nglobal phase: π['tag0']", use_unicode_characters=True
534
+ cirq.Circuit(global_phase), "\n\nglobal phase: π[tag0]", use_unicode_characters=True
535
535
  )
536
536
  cirq.testing.assert_has_diagram(
537
537
  cirq.Circuit(global_phase),
@@ -558,9 +558,7 @@ def test_circuit_diagram_tagged_global_phase():
558
558
  no_wire_symbol_op = NoWireSymbols(coefficient=-1.0)().with_tags('tag0')
559
559
  assert cirq.circuit_diagram_info(no_wire_symbol_op, default='default') == expected
560
560
  cirq.testing.assert_has_diagram(
561
- cirq.Circuit(no_wire_symbol_op),
562
- "\n\nglobal phase: π['tag0']",
563
- use_unicode_characters=True,
561
+ cirq.Circuit(no_wire_symbol_op), "\n\nglobal phase: π[tag0]", use_unicode_characters=True
564
562
  )
565
563
 
566
564
  # Two global phases in one moment
@@ -570,9 +568,9 @@ def test_circuit_diagram_tagged_global_phase():
570
568
  cirq.testing.assert_has_diagram(
571
569
  c,
572
570
  """\
573
- a: ─────────────X───────────────────
571
+ a: ─────────────X───────────────
574
572
 
575
- global phase: π['tag1', 'tag2']""",
573
+ global phase: π[tag1, tag2]""",
576
574
  use_unicode_characters=True,
577
575
  precision=2,
578
576
  )
@@ -583,9 +581,9 @@ global phase: π['tag1', 'tag2']""",
583
581
  cirq.testing.assert_has_diagram(
584
582
  c,
585
583
  """\
586
- a: ─────────────X['x_tag']─────X──────────────
584
+ a: ─────────────X[x_tag]─────X────────────
587
585
 
588
- global phase: 0.5π['tag1'] 0.5π['tag2']
586
+ global phase: 0.5π[tag1] 0.5π[tag2]
589
587
  """,
590
588
  use_unicode_characters=True,
591
589
  include_tags=True,
@@ -603,7 +601,7 @@ def test_circuit_diagram_no_circuit_diagram():
603
601
  q = cirq.GridQubit(1, 1)
604
602
  expected = "(1, 1): ───guess-i-will-repr───"
605
603
  assert cirq.Circuit(NoCircuitDiagram()(q)).to_text_diagram() == expected
606
- expected = "(1, 1): ───guess-i-will-repr['taggy']───"
604
+ expected = "(1, 1): ───guess-i-will-repr[taggy]───"
607
605
  assert cirq.Circuit(NoCircuitDiagram()(q).with_tags('taggy')).to_text_diagram() == expected
608
606
 
609
607
 
@@ -356,7 +356,7 @@ def _op_info_with_fallback(
356
356
 
357
357
  # Add tags onto the representation, if they exist
358
358
  if op.tags:
359
- name += f'{list(op.tags)}'
359
+ name += f"[{', '.join(map(str, op.tags))}]"
360
360
 
361
361
  # Include ordering in the qubit labels.
362
362
  symbols = (name,) + tuple(f'#{i + 1}' for i in range(1, len(op.qubits)))
@@ -122,13 +122,13 @@ def test_merge_complex_circuit_preserving_moment_structure():
122
122
  cirq.testing.assert_has_diagram(
123
123
  c_orig,
124
124
  '''
125
- 0: ───H───@───@───H───@───X───────@─────────────────X───X['ignore']───@───X───
126
- │ │ │ │ │ ║
127
- 1: ───H───┼───X───────@───────Y───X───@['ignore']───────Y─────────────X───╫───
128
- │ │
129
- 2: ───H───X───────────────────────────X─────────────────Z─────────────M───╫───
130
- ║ ║
131
- a: ═══════════════════════════════════════════════════════════════════@═══^═══
125
+ 0: ───H───@───@───H───@───X───────@───────────────X───X[ignore]───@───X───
126
+ │ │ │ │ │ ║
127
+ 1: ───H───┼───X───────@───────Y───X───@[ignore]───────Y───────────X───╫───
128
+ │ │
129
+ 2: ───H───X───────────────────────────X───────────────Z───────────M───╫───
130
+ ║ ║
131
+ a: ═══════════════════════════════════════════════════════════════@═══^═══
132
132
  ''',
133
133
  )
134
134
  component_id = 0
@@ -147,15 +147,15 @@ a: ═════════════════════════
147
147
  cirq.testing.assert_has_diagram(
148
148
  cirq.drop_empty_moments(c_new),
149
149
  '''
150
- [ 0: ───H───@─── ] [ 0: ───────@───H───@───X───@───X─── ] [ 0: ───────@─── ]
151
- 0: ───[ │ ]────────[ │ │ │ ]──────────────────────X['ignore']───────────[ │ ]────────X───
152
- [ 2: ───H───X─── ]['1'] [ 1: ───H───X───────@───Y───X─────── ]['2'] [ 1: ───Y───X─── ]['4'] ║
153
-
154
- 1: ───┼─────────────────────────#2────────────────────────────────────────────@['ignore']─────────────────────────#2────────────────────────╫───
155
-
156
- 2: ───#2──────────────────────────────────────────────────────────────────────X─────────────[ 2: ───Z─── ]['3']───M─────────────────────────╫───
157
-
158
- a: ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════@═════════════════════════^═══''',
150
+ [ 0: ───H───@─── ] [ 0: ───────@───H───@───X───@───X─── ] [ 0: ───────@─── ]
151
+ 0: ───[ │ ]──────[ │ │ │ ]──────────────────X[ignore]───────────[ │ ]──────X───
152
+ [ 2: ───H───X─── ][1] [ 1: ───H───X───────@───Y───X─────── ][2] [ 1: ───Y───X─── ][4] ║
153
+
154
+ 1: ───┼───────────────────────#2──────────────────────────────────────────@[ignore]───────────────────────#2──────────────────────╫───
155
+
156
+ 2: ───#2──────────────────────────────────────────────────────────────────X───────────[ 2: ───Z─── ][3]───M───────────────────────╫───
157
+
158
+ a: ═══════════════════════════════════════════════════════════════════════════════════════════════════════@═══════════════════════^═══''',
159
159
  )
160
160
 
161
161
  component_id = 0
@@ -179,13 +179,13 @@ a: ═════════════════════════
179
179
  cirq.testing.assert_has_diagram(
180
180
  cirq.drop_empty_moments(c_new),
181
181
  '''
182
- 0: ───T['1']───iSwap['1']───T['1']───T['2']───iSwap['2']───T['2']─────────────────X['ignore']───T['4']───iSwap['4']───T['4']───X───
183
-
184
- 1: ────────────┼─────────────────────T['2']───iSwap^0.5────T['2']───@['ignore']─────────────────T['4']───iSwap^0.5────T['4']───╫───
185
-
186
- 2: ───T['1']───iSwap^0.5────T['1']──────────────────────────────────X─────────────T['3']────────M──────────────────────────────╫───
187
-
188
- a: ═════════════════════════════════════════════════════════════════════════════════════════════@══════════════════════════════^═══''',
182
+ 0: ───T[1]───iSwap[1]────T[1]───T[2]───iSwap[2]────T[2]───────────────X[ignore]───T[4]───iSwap[4]────T[4]───X───
183
+
184
+ 1: ──────────┼──────────────────T[2]───iSwap^0.5───T[2]───@[ignore]───────────────T[4]───iSwap^0.5───T[4]───╫───
185
+
186
+ 2: ───T[1]───iSwap^0.5───T[1]─────────────────────────────X───────────T[3]────────M─────────────────────────╫───
187
+
188
+ a: ═══════════════════════════════════════════════════════════════════════════════@═════════════════════════^═══''',
189
189
  )
190
190
 
191
191
 
@@ -153,13 +153,13 @@ def test_merge_single_qubit_moments_to_phxz():
153
153
  cirq.testing.assert_has_diagram(
154
154
  c_orig,
155
155
  '''
156
- 0: ───X───────Y───@───X───────Y───Y['nocompile']───X───M───────────
157
-
158
- 1: ───X───T───Y───@───X───T───Y───Z────────────────────╫───X───X───
159
- ║ ║
160
- 2: ───────T───────Y───────T───────Z────────────────────╫───╫───────
161
- ║ ║
162
- a: ════════════════════════════════════════════════════@═══^═══════
156
+ 0: ───X───────Y───@───X───────Y───Y[nocompile]───X───M───────────
157
+
158
+ 1: ───X───T───Y───@───X───T───Y───Z──────────────────╫───X───X───
159
+ ║ ║
160
+ 2: ───────T───────Y───────T───────Z──────────────────╫───╫───────
161
+ ║ ║
162
+ a: ══════════════════════════════════════════════════@═══^═══════
163
163
  ''',
164
164
  )
165
165
  context = cirq.TransformerContext(tags_to_ignore=("nocompile",))
@@ -167,13 +167,13 @@ a: ═════════════════════════
167
167
  cirq.testing.assert_has_diagram(
168
168
  c_new,
169
169
  '''
170
- 0: ───PhXZ(a=-0.5,x=0,z=-1)──────@───PhXZ(a=-0.5,x=0,z=-1)──────Y['nocompile']───X───M───────────
171
-
172
- 1: ───PhXZ(a=-0.25,x=0,z=0.75)───@───PhXZ(a=-0.25,x=0,z=0.75)───Z────────────────────╫───X───X───
173
- ║ ║
174
- 2: ───PhXZ(a=0.25,x=0,z=0.25)────Y───PhXZ(a=0.25,x=0,z=0.25)────Z────────────────────╫───╫───────
175
- ║ ║
176
- a: ══════════════════════════════════════════════════════════════════════════════════@═══^═══════
170
+ 0: ───PhXZ(a=-0.5,x=0,z=-1)──────@───PhXZ(a=-0.5,x=0,z=-1)──────Y[nocompile]───X───M───────────
171
+
172
+ 1: ───PhXZ(a=-0.25,x=0,z=0.75)───@───PhXZ(a=-0.25,x=0,z=0.75)───Z──────────────────╫───X───X───
173
+ ║ ║
174
+ 2: ───PhXZ(a=0.25,x=0,z=0.25)────Y───PhXZ(a=0.25,x=0,z=0.25)────Z──────────────────╫───╫───────
175
+ ║ ║
176
+ a: ════════════════════════════════════════════════════════════════════════════════@═══^═══════
177
177
  ''',
178
178
  )
179
179
 
@@ -53,22 +53,22 @@ def test_decompose_operations_to_target_gateset_default():
53
53
  cirq.testing.assert_has_diagram(
54
54
  c_orig,
55
55
  '''
56
- 0: ───T───×───T───×['ignore']───M───────T───×───T───
57
- │ │ ║ │
58
- 1: ───────×───────×─────────────╫───X───T───×───T───
59
- ║ ║
60
- m: ═════════════════════════════@═══^═══════════════''',
56
+ 0: ───T───×───T───×[ignore]───M───────T───×───T───
57
+ │ │ ║ │
58
+ 1: ───────×───────×───────────╫───X───T───×───T───
59
+ ║ ║
60
+ m: ═══════════════════════════@═══^═══════════════''',
61
61
  )
62
62
  context = cirq.TransformerContext(tags_to_ignore=("ignore",))
63
63
  c_new = _decompose_operations_to_target_gateset(c_orig, context=context)
64
64
  cirq.testing.assert_has_diagram(
65
65
  c_new,
66
66
  '''
67
- 0: ───T────────────@───Y^-0.5───@───Y^0.5────@───────────T───×['ignore']───M───────T────────────@───Y^-0.5───@───Y^0.5────@───────────T───
68
- │ │ │ │ ║ │ │ │
69
- 1: ───────Y^-0.5───@───Y^0.5────@───Y^-0.5───@───Y^0.5───────×─────────────╫───X───T───Y^-0.5───@───Y^0.5────@───Y^-0.5───@───Y^0.5───T───
70
- ║ ║
71
- m: ════════════════════════════════════════════════════════════════════════@═══^══════════════════════════════════════════════════════════
67
+ 0: ───T────────────@───Y^-0.5───@───Y^0.5────@───────────T───×[ignore]───M───────T────────────@───Y^-0.5───@───Y^0.5────@───────────T───
68
+ │ │ │ │ ║ │ │ │
69
+ 1: ───────Y^-0.5───@───Y^0.5────@───Y^-0.5───@───Y^0.5───────×───────────╫───X───T───Y^-0.5───@───Y^0.5────@───Y^-0.5───@───Y^0.5───T───
70
+ ║ ║
71
+ m: ══════════════════════════════════════════════════════════════════════@═══^══════════════════════════════════════════════════════════
72
72
  ''',
73
73
  )
74
74
 
@@ -99,11 +99,11 @@ def test_decompose_operations_to_target_gateset():
99
99
  cirq.testing.assert_has_diagram(
100
100
  c_new,
101
101
  '''
102
- 0: ───H───@───X───@───H───×['ignore']───M───────H───@───X───@───H───
103
- │ │ │ │ ║ │ │ │
104
- 1: ───────X───@───X───────×─────────────╫───X───H───X───@───X───H───
105
- ║ ║
106
- m: ═════════════════════════════════════@═══^═══════════════════════''',
102
+ 0: ───H───@───X───@───H───×[ignore]───M───────H───@───X───@───H───
103
+ │ │ │ │ ║ │ │ │
104
+ 1: ───────X───@───X───────×───────────╫───X───H───X───@───X───H───
105
+ ║ ║
106
+ m: ═══════════════════════════════════@═══^═══════════════════════''',
107
107
  )
108
108
 
109
109
  with pytest.raises(ValueError, match="Unable to convert"):
@@ -136,9 +136,9 @@ def test_optimize_for_target_gateset_default():
136
136
  cirq.testing.assert_has_diagram(
137
137
  c_new,
138
138
  '''
139
- 0: ───T────────────@───Y^-0.5───@───Y^0.5────@───────────T───×['ignore']───
139
+ 0: ───T────────────@───Y^-0.5───@───Y^0.5────@───────────T───×[ignore]───
140
140
  │ │ │ │
141
- 1: ───────Y^-0.5───@───Y^0.5────@───Y^-0.5───@───Y^0.5───────×─────────────
141
+ 1: ───────Y^-0.5───@───Y^0.5────@───Y^-0.5───@───Y^0.5───────×───────────
142
142
  ''',
143
143
  )
144
144
  cirq.testing.assert_circuits_with_terminal_measurements_are_equivalent(c_orig, c_new, atol=1e-6)
@@ -159,15 +159,15 @@ def test_optimize_for_target_gateset():
159
159
  cirq.testing.assert_has_diagram(
160
160
  c_orig,
161
161
  '''
162
- 0: ───qft───Y['ignore']───M───────qft^-1───
163
- ║ │
164
- 1: ───#2────Y['ignore']───M───────#2───────
165
- ║ │
166
- 2: ───#3────@['ignore']───╫───@───#3───────
167
- │ │ ║ ║ │
168
- 3: ───#4────X─────────────╫───@───#4───────
169
- ║ ║
170
- m: ═══════════════════════@═══^════════════
162
+ 0: ───qft───Y[ignore]───M───────qft^-1───
163
+ ║ │
164
+ 1: ───#2────Y[ignore]───M───────#2───────
165
+ ║ │
166
+ 2: ───#3────@[ignore]───╫───@───#3───────
167
+ │ │ ║ ║ │
168
+ 3: ───#4────X───────────╫───@───#4───────
169
+ ║ ║
170
+ m: ═════════════════════@═══^════════════
171
171
  ''',
172
172
  )
173
173
  gateset = MatrixGateTargetGateset()
@@ -176,17 +176,17 @@ m: ═══════════════════════@══
176
176
  cirq.testing.assert_has_diagram(
177
177
  c_new,
178
178
  '''
179
- ┌────────┐ ┌────────┐ ┌────────┐
180
- 0: ───M[1]──────────M[1]──────────────────────M[1]────Y['ignore']───M────────────M[1]───────────────────M[1]────────M[1]───M[1]───
181
- │ │ │ ║ │ │ │ │
182
- 1: ───M[2]───M[1]───┼─────────────M[1]────M[1]┼───────Y['ignore']───M────────M[1]┼──────────────M[1]────┼───M[1]────┼──────M[2]───
183
- │ │ │ │ │ ║ │ │ │ │ │ │
184
- 2: ──────────M[2]───M[2]───M[1]───┼───────M[2]┼───────@['ignore']───╫───@────M[2]┼───────M[1]───┼───────┼───M[2]────M[2]──────────
185
- │ │ │ │ ║ ║ │ │ │ │
186
- 3: ────────────────────────M[2]───M[2]────────M[2]────X─────────────╫───@────────M[2]────M[2]───M[2]────M[2]──────────────────────
187
- ║ ║
188
- m: ═════════════════════════════════════════════════════════════════@═══^═════════════════════════════════════════════════════════
189
- └────────┘ └────────┘ └────────┘
179
+ ┌────────┐ ┌────────┐ ┌────────┐
180
+ 0: ───M[1]──────────M[1]──────────────────────M[1]────Y[ignore]───M────────────M[1]───────────────────M[1]────────M[1]───M[1]───
181
+ │ │ │ ║ │ │ │ │
182
+ 1: ───M[2]───M[1]───┼─────────────M[1]────M[1]┼───────Y[ignore]───M────────M[1]┼──────────────M[1]────┼───M[1]────┼──────M[2]───
183
+ │ │ │ │ │ ║ │ │ │ │ │ │
184
+ 2: ──────────M[2]───M[2]───M[1]───┼───────M[2]┼───────@[ignore]───╫───@────M[2]┼───────M[1]───┼───────┼───M[2]────M[2]──────────
185
+ │ │ │ │ ║ ║ │ │ │ │
186
+ 3: ────────────────────────M[2]───M[2]────────M[2]────X───────────╫───@────────M[2]────M[2]───M[2]────M[2]──────────────────────
187
+ ║ ║
188
+ m: ═══════════════════════════════════════════════════════════════@═══^═════════════════════════════════════════════════════════
189
+ └────────┘ └────────┘ └────────┘
190
190
  ''',
191
191
  )
192
192
 
@@ -20,15 +20,15 @@ def test_routed_circuit_with_mapping_simple():
20
20
  q = cirq.LineQubit.range(2)
21
21
  circuit = cirq.Circuit([cirq.Moment(cirq.SWAP(q[0], q[1]).with_tags(cirq.RoutingSwapTag()))])
22
22
  expected_diagram = """
23
- 0: ───q(0)───×[cirq.RoutingSwapTag()]───q(1)───
24
- │ │
25
- 1: ───q(1)───×──────────────────────────q(0)───"""
23
+ 0: ───q(0)───×[<r>]───q(1)───
24
+ │ │
25
+ 1: ───q(1)───×────────q(0)───"""
26
26
  cirq.testing.assert_has_diagram(cirq.routed_circuit_with_mapping(circuit), expected_diagram)
27
27
 
28
28
  expected_diagram_with_initial_mapping = """
29
- 0: ───a───×[cirq.RoutingSwapTag()]───b───
30
- │ │
31
- 1: ───b───×──────────────────────────a───"""
29
+ 0: ───a───×[<r>]───b───
30
+ │ │
31
+ 1: ───b───×────────a───"""
32
32
  cirq.testing.assert_has_diagram(
33
33
  cirq.routed_circuit_with_mapping(
34
34
  circuit, {cirq.NamedQubit("a"): q[0], cirq.NamedQubit("b"): q[1]}
@@ -74,16 +74,16 @@ def test_routed_circuit_with_mapping_multi_swaps():
74
74
  ]
75
75
  )
76
76
  expected_diagram = """
77
- 0: ───q(0)──────────────────────────────────────q(0)───×[cirq.RoutingSwapTag()]───q(1)───────X───
78
- │ │ │ │
79
- 1: ───q(1)───────────X──────────────────────────q(1)───×──────────────────────────q(0)───X───@───
80
- │ │ │ │
81
- 2: ───q(2)───────@───@──────────────────────────q(2)───×──────────────────────────q(4)───@───────
82
- │ │ │ │
83
- 3: ───q(3)───@───X───×──────────────────────────q(4)───×[cirq.RoutingSwapTag()]───q(2)───────────
84
- │ │ │
85
- 4: ───q(4)───X───X───×[cirq.RoutingSwapTag()]───q(3)──────────────────────────────q(3)───────────
86
- │ │
87
- 5: ───q(5)───────@──────────────────────────────q(5)──────────────────────────────q(5)───────────
77
+ 0: ───q(0)────────────────────q(0)───×[<r>]───q(1)───────X───
78
+ │ │ │ │
79
+ 1: ───q(1)───────────X────────q(1)───×────────q(0)───X───@───
80
+ │ │ │ │
81
+ 2: ───q(2)───────@───@────────q(2)───×────────q(4)───@───────
82
+ │ │ │ │
83
+ 3: ───q(3)───@───X───×────────q(4)───×[<r>]───q(2)───────────
84
+ │ │ │
85
+ 4: ───q(4)───X───X───×[<r>]───q(3)────────────q(3)───────────
86
+ │ │
87
+ 5: ───q(5)───────@────────────q(5)────────────q(5)───────────
88
88
  """
89
89
  cirq.testing.assert_has_diagram(cirq.routed_circuit_with_mapping(circuit), expected_diagram)
@@ -237,29 +237,29 @@ def test_stratify_respects_no_compile_operations():
237
237
  cirq.testing.assert_has_diagram(
238
238
  input_circuit,
239
239
  '''
240
- 0: ───X['nocompile']───────X───────iSwap───
241
-
242
- 1: ───iSwap['nocompile']───────────iSwap───
240
+ 0: ───X[nocompile]───────X───────iSwap───
241
+
242
+ 1: ───iSwap[nocompile]───────────iSwap───
243
243
 
244
- 2: ───iSwap────────────────────────────────
244
+ 2: ───iSwap──────────────────────────────
245
245
 
246
- 3: ────────────────────────iSwap───X───────
247
-
248
- 4: ───Z────────────────────iSwap───────────
246
+ 3: ──────────────────────iSwap───X───────
247
+
248
+ 4: ───Z──────────────────iSwap───────────
249
249
  ''',
250
250
  )
251
251
  cirq.testing.assert_has_diagram(
252
252
  expected,
253
253
  '''
254
- 0: ───────────────X['nocompile']───────X───iSwap───
255
-
256
- 1: ───────────────iSwap['nocompile']───────iSwap───
254
+ 0: ───────────────X[nocompile]───────X───iSwap───
255
+
256
+ 1: ───────────────iSwap[nocompile]───────iSwap───
257
257
 
258
- 2: ───────────────iSwap────────────────────────────
258
+ 2: ───────────────iSwap──────────────────────────
259
259
 
260
- 3: ───────iSwap────────────────────────X───────────
260
+ 3: ───────iSwap──────────────────────X───────────
261
261
 
262
- 4: ───Z───iSwap────────────────────────────────────
262
+ 4: ───Z───iSwap──────────────────────────────────
263
263
  ''',
264
264
  )
265
265
  cirq.testing.assert_same_circuits(
@@ -138,9 +138,9 @@ def test_two_qubit_compilation_merge_and_replace_to_target_gateset():
138
138
  cirq.testing.assert_has_diagram(
139
139
  c_orig,
140
140
  '''
141
- 0: ───X───@['no_compile']───Z───X───@───Z───X───
142
-
143
- 1: ───Z───@─────────────────Z───────@───Z───────
141
+ 0: ───X───@[no_compile]───Z───X───@───Z───X───
142
+
143
+ 1: ───Z───@───────────────Z───────@───Z───────
144
144
  ''',
145
145
  )
146
146
  c_new = cirq.optimize_for_target_gateset(
@@ -151,9 +151,9 @@ def test_two_qubit_compilation_merge_and_replace_to_target_gateset():
151
151
  cirq.testing.assert_has_diagram(
152
152
  c_new,
153
153
  '''
154
- 0: ───X───@['no_compile']───X───@───Y───@───Z───
155
- │ │
156
- 1: ───Z───@─────────────────X───X───Y───X───Z───
154
+ 0: ───X───@[no_compile]───X───@───Y───@───Z───
155
+ │ │
156
+ 1: ───Z───@───────────────X───X───Y───X───Z───
157
157
  ''',
158
158
  )
159
159
 
@@ -178,11 +178,11 @@ def test_two_qubit_compilation_merge_and_replace_inefficient_component():
178
178
  cirq.testing.assert_has_diagram(
179
179
  c_orig,
180
180
  '''
181
- 0: ───X───@───X───@['no_compile']───Z───X───@───@───Z───X───@───M───────
182
- │ │ │ │ │ ║
183
- 1: ───────X───────@─────────────────Z───────X───X───Z───────X───╫───X───
184
- ║ ║
185
- m: ═════════════════════════════════════════════════════════════@═══^═══
181
+ 0: ───X───@───X───@[no_compile]───Z───X───@───@───Z───X───@───M───────
182
+ │ │ │ │ │ ║
183
+ 1: ───────X───────@───────────────Z───────X───X───Z───────X───╫───X───
184
+ ║ ║
185
+ m: ═══════════════════════════════════════════════════════════@═══^═══
186
186
  ''',
187
187
  )
188
188
  c_new = cirq.optimize_for_target_gateset(
@@ -193,11 +193,11 @@ m: ═════════════════════════
193
193
  cirq.testing.assert_has_diagram(
194
194
  c_new,
195
195
  '''
196
- 0: ───X───@───X───@['no_compile']───X───@───Y───@───Z───M───────
197
- │ │ │ │ ║
198
- 1: ───────X───────@─────────────────X───X───Y───X───Z───╫───X───
199
- ║ ║
200
- m: ═════════════════════════════════════════════════════@═══^═══
196
+ 0: ───X───@───X───@[no_compile]───X───@───Y───@───Z───M───────
197
+ │ │ │ │ ║
198
+ 1: ───────X───────@───────────────X───X───Y───X───Z───╫───X───
199
+ ║ ║
200
+ m: ═══════════════════════════════════════════════════@═══^═══
201
201
  ''',
202
202
  )
203
203
 
@@ -140,29 +140,29 @@ def test_map_operations_deep_subcircuits():
140
140
  cirq.testing.assert_has_diagram(
141
141
  c_orig_with_circuit_ops,
142
142
  '''
143
- [ [ 0: ───@─── ] ]
144
- [ 0: ───[ │ ]────────────────────────────────────────────────────────────── ]
145
- [ [ 1: ───X─── ](loops=2)['internal'] ]
146
- [ │ ]
147
- [ 1: ───#2────────────────────────────────────────────────────────────────────────── ]
148
- [ ]
149
- [ [ 2: ───X─── ] ]
150
- 0: ───[ 2: ───[ │ ]────────────────────────────────────────────────────────────── ]────────────────────────
151
- [ [ 3: ───@─── ](loops=2)['internal'] ]
152
- [ │ ]
153
- [ │ [ 3: ───@─── ] ]
154
- [ 3: ───#2────────────────────────────────────[ │ ]──────────────────────── ]
155
- [ [ 4: ───X─── ](loops=2)['internal'] ]
156
- [ ]
157
- [ 4: ─────────────────────────────────────────#2──────────────────────────────────── ](loops=6)['external']
143
+ [ [ 0: ───@─── ] ]
144
+ [ 0: ───[ │ ]────────────────────────────────────────────────────────── ]
145
+ [ [ 1: ───X─── ](loops=2)[internal] ]
146
+ [ │ ]
147
+ [ 1: ───#2────────────────────────────────────────────────────────────────────── ]
148
+ [ ]
149
+ [ [ 2: ───X─── ] ]
150
+ 0: ───[ 2: ───[ │ ]────────────────────────────────────────────────────────── ]──────────────────────
151
+ [ [ 3: ───@─── ](loops=2)[internal] ]
152
+ [ │ ]
153
+ [ │ [ 3: ───@─── ] ]
154
+ [ 3: ───#2──────────────────────────────────[ │ ]────────────────────── ]
155
+ [ [ 4: ───X─── ](loops=2)[internal] ]
156
+ [ ]
157
+ [ 4: ───────────────────────────────────────#2────────────────────────────────── ](loops=6)[external]
158
158
 
159
- 1: ───#2────────────────────────────────────────────────────────────────────────────────────────────────────────────
159
+ 1: ───#2──────────────────────────────────────────────────────────────────────────────────────────────────────
160
160
 
161
- 2: ───#3────────────────────────────────────────────────────────────────────────────────────────────────────────────
161
+ 2: ───#3──────────────────────────────────────────────────────────────────────────────────────────────────────
162
162
 
163
- 3: ───#4────────────────────────────────────────────────────────────────────────────────────────────────────────────
163
+ 3: ───#4──────────────────────────────────────────────────────────────────────────────────────────────────────
164
164
 
165
- 4: ───#5────────────────────────────────────────────────────────────────────────────────────────────────────────────
165
+ 4: ───#5──────────────────────────────────────────────────────────────────────────────────────────────────────
166
166
  ''',
167
167
  )
168
168
 
@@ -175,29 +175,29 @@ def test_map_operations_deep_subcircuits():
175
175
  cirq.testing.assert_has_diagram(
176
176
  unroller(c_mapped, deep=True),
177
177
  '''
178
- [ [ 0: ───Z───@───Z─── ] ]
179
- [ 0: ───[ │ ]────────────────────────────────────────────────────────────────────── ]
180
- [ [ 1: ───Z───X───Z─── ](loops=2)['internal'] ]
181
- [ │ ]
182
- [ 1: ───#2────────────────────────────────────────────────────────────────────────────────────────── ]
183
- [ ]
184
- [ [ 2: ───Z───X───Z─── ] ]
185
- 0: ───[ 2: ───[ │ ]────────────────────────────────────────────────────────────────────── ]────────────────────────
186
- [ [ 3: ───Z───@───Z─── ](loops=2)['internal'] ]
187
- [ │ ]
188
- [ │ [ 3: ───Z───@───Z─── ] ]
189
- [ 3: ───#2────────────────────────────────────────────[ │ ]──────────────────────── ]
190
- [ [ 4: ───Z───X───Z─── ](loops=2)['internal'] ]
191
- [ ]
192
- [ 4: ─────────────────────────────────────────────────#2──────────────────────────────────────────── ](loops=6)['external']
178
+ [ [ 0: ───Z───@───Z─── ] ]
179
+ [ 0: ───[ │ ]────────────────────────────────────────────────────────────────── ]
180
+ [ [ 1: ───Z───X───Z─── ](loops=2)[internal] ]
181
+ [ │ ]
182
+ [ 1: ───#2────────────────────────────────────────────────────────────────────────────────────── ]
183
+ [ ]
184
+ [ [ 2: ───Z───X───Z─── ] ]
185
+ 0: ───[ 2: ───[ │ ]────────────────────────────────────────────────────────────────── ]──────────────────────
186
+ [ [ 3: ───Z───@───Z─── ](loops=2)[internal] ]
187
+ [ │ ]
188
+ [ │ [ 3: ───Z───@───Z─── ] ]
189
+ [ 3: ───#2──────────────────────────────────────────[ │ ]────────────────────── ]
190
+ [ [ 4: ───Z───X───Z─── ](loops=2)[internal] ]
191
+ [ ]
192
+ [ 4: ───────────────────────────────────────────────#2────────────────────────────────────────── ](loops=6)[external]
193
193
 
194
- 1: ───#2────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
194
+ 1: ───#2──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
195
195
 
196
- 2: ───#3────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
196
+ 2: ───#3──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
197
197
 
198
- 3: ───#4────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
198
+ 3: ───#4──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
199
199
 
200
- 4: ───#5────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
200
+ 4: ───#5──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
201
201
  ''',
202
202
  )
203
203
 
@@ -323,9 +323,9 @@ def test_unroll_circuit_op_and_variants():
323
323
  cirq.testing.assert_has_diagram(
324
324
  mapped_circuit_deep,
325
325
  '''
326
- 0: ───[ 0: ───X─── ]────────────────────────────────────────────────────────────X───
326
+ 0: ───[ 0: ───X─── ]──────────────────────────────────────────────────────────X───
327
327
 
328
- 1: ────────────────────[ 1: ───[ 1: ───Z───Z─── ]['<mapped_circuit_op>']─── ]───────
328
+ 1: ────────────────────[ 1: ───[ 1: ───Z───Z─── ][<mapped_circuit_op>]─── ]───────
329
329
  ''',
330
330
  )
331
331
  for unroller in [
@@ -641,11 +641,11 @@ def test_merge_operations_merges_connected_component():
641
641
  cirq.testing.assert_has_diagram(
642
642
  c_orig,
643
643
  '''
644
- 0: ───H───@───@───H───@───X───────@───────X───X['ignore']───@───
645
- │ │ │ │
646
- 1: ───H───┼───X───────@───────Y───X───@───────Y─────────────X───
644
+ 0: ───H───@───@───H───@───X───────@───────X───X[ignore]───@───
645
+ │ │ │ │
646
+ 1: ───H───┼───X───────@───────Y───X───@───────Y───────────X───
647
647
  │ │
648
- 2: ───H───X───────────────────────────X─────────────────────────
648
+ 2: ───H───X───────────────────────────X───────────────────────
649
649
  ''',
650
650
  )
651
651
 
@@ -712,11 +712,11 @@ def test_merge_operations_to_circuit_op_merges_connected_component():
712
712
  cirq.testing.assert_has_diagram(
713
713
  c_orig,
714
714
  '''
715
- 0: ───H───@───@───H───@───X───────@───────X───X['ignore']───@───
716
- │ │ │ │
717
- 1: ───H───┼───X───────@───────Y───X───@───────Y─────────────X───
715
+ 0: ───H───@───@───H───@───X───────@───────X───X[ignore]───@───
716
+ │ │ │ │
717
+ 1: ───H───┼───X───────@───────Y───X───@───────Y───────────X───
718
718
  │ │
719
- 2: ───H───X───────────────────────────X─────────────────────────
719
+ 2: ───H───X───────────────────────────X───────────────────────
720
720
  ''',
721
721
  )
722
722
 
@@ -731,12 +731,12 @@ def test_merge_operations_to_circuit_op_merges_connected_component():
731
731
  c_new,
732
732
  '''
733
733
  [ 0: ───────@───H───@───X───@───X─── ]
734
- 0: ───H───@───────────[ │ │ │ ]─────────────────────────────────X['ignore']───@───
735
- │ [ 1: ───H───X───────@───Y───X─────── ]['merged']
736
- │ │
737
- 1: ───────┼───────────#2─────────────────────────────────────────────────────────────@───────Y─────────────X───
738
-
739
- 2: ───H───X──────────────────────────────────────────────────────────────────────────X─────────────────────────
734
+ 0: ───H───@───────────[ │ │ │ ]───────────────────────────────X[ignore]───@───
735
+ │ [ 1: ───H───X───────@───Y───X─────── ][merged]
736
+ │ │
737
+ 1: ───────┼───────────#2───────────────────────────────────────────────────────────@───────Y───────────X───
738
+
739
+ 2: ───H───X────────────────────────────────────────────────────────────────────────X───────────────────────
740
740
  ''',
741
741
  )
742
742
 
@@ -747,11 +747,11 @@ def test_merge_2q_unitaries_to_circuit_op():
747
747
  cirq.testing.assert_has_diagram(
748
748
  c_orig,
749
749
  '''
750
- 0: ───H───@───@───H───@───X───────@───────X───X['ignore']───@───
751
- │ │ │ │
752
- 1: ───H───┼───X───────@───────Y───X───@───────Y─────────────X───
750
+ 0: ───H───@───@───H───@───X───────@───────X───X[ignore]───@───
751
+ │ │ │ │
752
+ 1: ───H───┼───X───────@───────Y───X───@───────Y───────────X───
753
753
  │ │
754
- 2: ───H───X───────────────────────────X─────────────────────M───
754
+ 2: ───H───X───────────────────────────X───────────────────M───
755
755
  ''',
756
756
  )
757
757
 
@@ -761,15 +761,15 @@ def test_merge_2q_unitaries_to_circuit_op():
761
761
  cirq.testing.assert_has_diagram(
762
762
  cirq.drop_empty_moments(c_new),
763
763
  '''
764
- [ 0: ───H───@─── ] [ 0: ───────@───H───@───X───@───X─── ]
765
- 0: ───[ │ ]─────────────[ │ │ │ ]────────────────────────────────────────────X['ignore']───@───
766
- [ 2: ───H───X─── ]['merged'] [ 1: ───H───X───────@───Y───X─────── ]['merged']
767
-
768
- [ 1: ───@───Y─── ]
769
- 1: ───┼──────────────────────────────#2─────────────────────────────────────────────────[ │ ]───────────────────────────X───
770
- [ 2: ───X─────── ]['merged']
771
-
772
- 2: ───#2────────────────────────────────────────────────────────────────────────────────#2───────────────────────────────────────────M───''',
764
+ [ 0: ───H───@─── ] [ 0: ───────@───H───@───X───@───X─── ]
765
+ 0: ───[ │ ]───────────[ │ │ │ ]────────────────────────────────────────X[ignore]───@───
766
+ [ 2: ───H───X─── ][merged] [ 1: ───H───X───────@───Y───X─────── ][merged]
767
+
768
+ [ 1: ───@───Y─── ]
769
+ 1: ───┼────────────────────────────#2───────────────────────────────────────────────[ │ ]───────────────────────X───
770
+ [ 2: ───X─────── ][merged]
771
+
772
+ 2: ───#2────────────────────────────────────────────────────────────────────────────#2───────────────────────────────────────M───''',
773
773
  )
774
774
 
775
775
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cirq-core
3
- Version: 1.4.0.dev20240409213157
3
+ Version: 1.4.0.dev20240410004400
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,7 +4,7 @@ cirq/_compat_test.py,sha256=Qq3ZcfgD-Nb81cEppQdJqhAyrVqXKtfXZYGXT0p-Wh0,34718
4
4
  cirq/_doc.py,sha256=yDyWUD_2JDS0gShfGRb-rdqRt9-WeL7DhkqX7np0Nko,2879
5
5
  cirq/_import.py,sha256=p9gMHJscbtDDkfHOaulvd3Aer0pwUF5AXpL89XR8dNw,8402
6
6
  cirq/_import_test.py,sha256=6K_v0riZJXOXUphHNkGA8MY-JcmGlezFaGmvrNhm3OQ,1015
7
- cirq/_version.py,sha256=cWvc4zdhJAknXoJ2nQ30O3DZZTvK0tfLSuHOLqVkS6Y,40
7
+ cirq/_version.py,sha256=eNNHD_uYb9igzhjB1PBWX-QQGxWY93PV3Bd8g5WZGKs,40
8
8
  cirq/_version_test.py,sha256=yYS6xm5-nuBRQJa9R3n41WdvFtVyY7Lb5Q8bea3VgBI,133
9
9
  cirq/conftest.py,sha256=X7yLFL8GLhg2CjPw0hp5e_dGASfvHx1-QT03aUbhKJw,1168
10
10
  cirq/json_resolver_cache.py,sha256=9g_JQMmfBzTuV-3s2flUbXIgcLjs4K7LjAFFgngdG1U,13204
@@ -17,10 +17,10 @@ cirq/circuits/_box_drawing_character_data.py,sha256=QLoCXwcLL7091RdxEKO259goxt4R
17
17
  cirq/circuits/_box_drawing_character_data_test.py,sha256=XO94z0piwZRHaNZHTf-5tKHQ4MKcDruMeRIKdT8GbYA,1624
18
18
  cirq/circuits/_bucket_priority_queue.py,sha256=hxFuii2fKD8G6EKT_aVLEsA7FmSfqFXPwIbA0KsoSC4,6745
19
19
  cirq/circuits/_bucket_priority_queue_test.py,sha256=t6u_hG7K2e2WKWrgCsKxNRtp4ghKwiCrp0_WSY0W25k,5288
20
- cirq/circuits/circuit.py,sha256=KP6tYjQ4pb1kz_jW3cfCgtnVvN_MRl0jHeNsOq0CA70,114383
20
+ cirq/circuits/circuit.py,sha256=iYdNez1apyEOrLWQIx6qT89Yddl083t6iWlocB74apA,114406
21
21
  cirq/circuits/circuit_operation.py,sha256=D4u8jDD4fGOca1xnZPN1obuKTIouXENUfnxOF2JrwgU,34375
22
22
  cirq/circuits/circuit_operation_test.py,sha256=_0iQJ3h_dnQcQmbGRZbc-NqdglJTXantbj72ggqLKNE,44724
23
- cirq/circuits/circuit_test.py,sha256=EYIApq2DpZe7HckvySR3JlJdUIfJTSbKHm0lgENP2HA,160111
23
+ cirq/circuits/circuit_test.py,sha256=_hb29zDdLaEuUTROtVc5VKpmtlsHQGFyDlKQ2Nxqc3s,160103
24
24
  cirq/circuits/frozen_circuit.py,sha256=_0SkmIiQ4UjIug-k_iO00ulDFoFnxmAHvXX2I2HHN8k,9262
25
25
  cirq/circuits/frozen_circuit_test.py,sha256=rHyii8hLhOQ6jdA8dC1OcYPGnyeBC4uY5Q53XspkkCk,4133
26
26
  cirq/circuits/insert_strategy.py,sha256=L0OLXuo24TtBfdJGOAG2PsVDMrbvQl4iN5lUk6IPuyo,2851
@@ -351,15 +351,15 @@ cirq/ops/projector.py,sha256=isDlNLR8YS5CxsVCihtRAgfKZXFFQxk7kuFXY14t8ys,5690
351
351
  cirq/ops/projector_test.py,sha256=Wq7ddj-PV30yUXJxJoT3XIw2sIUC1AilnZ9m9N5Ejr8,9063
352
352
  cirq/ops/qid_util.py,sha256=IO7vhq5RgeIujO2EhG_FCIvkIMMr2jTyz8gG5M0mrIU,2136
353
353
  cirq/ops/qid_util_test.py,sha256=JdViBgFfH4bZJyPKTjUf9MuPxMQe08JV_Tl6tusekfk,1061
354
- cirq/ops/qubit_manager.py,sha256=dGJ1Y-wKUMr7H_chbNDVYDGnU3tRVSPANoTDoE_ULVw,3537
355
- cirq/ops/qubit_manager_test.py,sha256=HQW78jVq-wLQKznmPmhnKW-xGlnYjAoHaJU78aRnZZk,3062
354
+ cirq/ops/qubit_manager.py,sha256=U8dML-iosNfQn16Ug62z2-b2PFf-iDWc1ZCLuUsIc-g,3539
355
+ cirq/ops/qubit_manager_test.py,sha256=SQ_6kOehIaMgRvU43nTOEy6UoDxZSeVzSYQ2Mfouexg,3371
356
356
  cirq/ops/qubit_order.py,sha256=nYkcMg-y5QtR7M3W1HXq1IWJyMKjrTZXVK1GEbY6gng,5616
357
357
  cirq/ops/qubit_order_or_list.py,sha256=WVnhQcOYCgAhiB4t47Kji-pN1tnvs--X5deCQwwGVno,1165
358
358
  cirq/ops/qubit_order_test.py,sha256=B9xMIxlaI7YjRUNA6AkHJuUCFejGYw-lT7ZaSl31yTU,4238
359
359
  cirq/ops/random_gate_channel.py,sha256=gKDqZa6AwdCIuuh2UOvO5oxCdGRDOInA7fI3ZLQ-LTY,5121
360
360
  cirq/ops/random_gate_channel_test.py,sha256=U3EAaAlCZkgFIYxqwcSkPsaVGrKA2PSeG_DK2ou--AE,8606
361
- cirq/ops/raw_types.py,sha256=VyU2lENILOCZbGVMueVyA8Q94mGGTobPDPBZsCvre54,39874
362
- cirq/ops/raw_types_test.py,sha256=mb691t1wU5OY_0TwxGJPedUStlGdjC_FzjvTLG7Gp_U,33516
361
+ cirq/ops/raw_types.py,sha256=Un3C83tAsHHyXXrAWZSeaKunLITohjt6vTRGmAKAAII,39891
362
+ cirq/ops/raw_types_test.py,sha256=r0Dpaw5xugvKltoX6fesB-ZCbsvOXTvqQJsEsxJNWmQ,33453
363
363
  cirq/ops/state_preparation_channel.py,sha256=PjVtoLbjBAy_XqnFAY40Am-NifeuCFVVLW6RJxph5sQ,4778
364
364
  cirq/ops/state_preparation_channel_test.py,sha256=yKUvLw_ft6cvIgRJcFQ779wZS-V6V-pzQq-rZRWdCmU,5922
365
365
  cirq/ops/swap_gates.py,sha256=9eJMGyOiA8W9k2xJ_w5PaLOCHGvB6C4T2RLddIZ5qE8,11601
@@ -383,7 +383,7 @@ cirq/protocols/apply_unitary_protocol.py,sha256=euKDlasTpz4pDKIU_sbYd6Zo7EXL_o4K
383
383
  cirq/protocols/apply_unitary_protocol_test.py,sha256=i8kRY-yQR_MAUqkyyQTOHFEYQYz5Z0i-Wb0rs5Jz0fI,26116
384
384
  cirq/protocols/approximate_equality_protocol.py,sha256=P5mWl9BWGpobw3K7iAoupFPSqO9V2yG82rfQHWTClmM,6313
385
385
  cirq/protocols/approximate_equality_protocol_test.py,sha256=BYGw5iNU3lsdH5BUDPnqd9xfvfIo9-j5j0og_yXCQyY,9174
386
- cirq/protocols/circuit_diagram_info_protocol.py,sha256=xA2IeG2KoJ3AG872NyUj2HpD8CsPHtVQjqf38UmiLaE,15897
386
+ cirq/protocols/circuit_diagram_info_protocol.py,sha256=3pPxDZrRBo1xj-SMj7rmtHpFyZ0IDDpHGylvEEYuoJM,15914
387
387
  cirq/protocols/circuit_diagram_info_protocol_test.py,sha256=nxcQZDEJhBJcrakWuQH6TWFSUjs5akoleTU8K9pGUZA,10178
388
388
  cirq/protocols/commutes_protocol.py,sha256=KW849TNso6d_pzTlAN8SRN2pjz72LJ8uAhQSYS60K3Q,7470
389
389
  cirq/protocols/commutes_protocol_test.py,sha256=h0Lky4jrs7Hxrh4MeHxmxNciuofKGGZ2eC-ceWP8wKU,5849
@@ -1029,21 +1029,21 @@ cirq/transformers/expand_composite_test.py,sha256=4Gn6LVqr0DeuUumde80O4esOLGIoo8
1029
1029
  cirq/transformers/measurement_transformers.py,sha256=m2v4FAEaIZtYXEh-rFzxa_sx-syqdWZmCbf6yar0GSM,19035
1030
1030
  cirq/transformers/measurement_transformers_test.py,sha256=tkuevHQWnFWmxmvfJZ2T42uCIw4oaYyZ4XvjRGFGdug,27504
1031
1031
  cirq/transformers/merge_k_qubit_gates.py,sha256=dUsswQOIHfbb6Lu37fecgrpT6_45zmDE7eqCUbW1KOI,4390
1032
- cirq/transformers/merge_k_qubit_gates_test.py,sha256=0zp3FZpoNqUstrHxb7mGRQ79Ld6mV4a_inNqwfw8Wjw,14341
1032
+ cirq/transformers/merge_k_qubit_gates_test.py,sha256=k_ROZvUebHgPy5vsNnWNMBYU4kfIkrunPsw39ZngMwo,13920
1033
1033
  cirq/transformers/merge_single_qubit_gates.py,sha256=NRREV4Z6Ptc3mZnOUgzQePdj4H0aix17WOUwZUB7iQ8,5826
1034
- cirq/transformers/merge_single_qubit_gates_test.py,sha256=0U5oitYfOIka1hUOn1Cv8zVK1Uo34DVaOnGMgqfRg4Q,9966
1034
+ cirq/transformers/merge_single_qubit_gates_test.py,sha256=SWf1Il7Bz0iUCDM7JoDG2Yxe4p2yYr2PgViQpjByFm0,9914
1035
1035
  cirq/transformers/optimize_for_target_gateset.py,sha256=MxhFsCm2XgW3gdpNW4NGVmz1VdQvzKdNNCtVZDuZiVE,7229
1036
- cirq/transformers/optimize_for_target_gateset_test.py,sha256=5uU2WdnbWY6df44qH_pWB1y_DCzSNTgyzTdRwqztSzg,19641
1036
+ cirq/transformers/optimize_for_target_gateset_test.py,sha256=MgAHjsPbVtd0fl2ytRz2R-LQuhSqImtrFK5F45QXkA8,19523
1037
1037
  cirq/transformers/qubit_management_transformers.py,sha256=A7Mweu9ElLSCsy_atmgFbYlzOFXKhct5gQ5YNTjjaVU,9430
1038
1038
  cirq/transformers/qubit_management_transformers_test.py,sha256=GGuZ4uxtFI59t9diW67_J17XQdBu9NFZjOHeMAHmm8Y,13991
1039
1039
  cirq/transformers/stratify.py,sha256=EEcXD6PEdHTZAoaAfaHnsw3Hf1SftbIl19hZOU_ZnXE,10469
1040
- cirq/transformers/stratify_test.py,sha256=LmQFPB4grvRVvOgV8mA-pXNK3k9UC-banFJgWtDx_cA,15270
1040
+ cirq/transformers/stratify_test.py,sha256=17ic2VAUPEGuPG2o5j98yDxQ2j2J_PN3EsPsfh5xwUk,15220
1041
1041
  cirq/transformers/synchronize_terminal_measurements.py,sha256=p061MYYglY6HhWYYkFzIny0CtaY9LUygPg4UbGewZhQ,3842
1042
1042
  cirq/transformers/synchronize_terminal_measurements_test.py,sha256=VTiw5S3s_Y31qR7ME8Mzv50LdJ_6M3DOtgwvtziQzPI,7742
1043
1043
  cirq/transformers/transformer_api.py,sha256=f95sfOr-KYXLt4yxAaFXoG0-oEc8IKApzG4pyXsm3YY,16956
1044
1044
  cirq/transformers/transformer_api_test.py,sha256=f-Vup0VCUvTqJKm5kWHf6xet7sFTerLMGYzJHy8Rc5s,13045
1045
1045
  cirq/transformers/transformer_primitives.py,sha256=ZiQjYLfksI8ZxqvTvhUN0R9X1WvKEYwAo6NymoKGvzw,37658
1046
- cirq/transformers/transformer_primitives_test.py,sha256=hYILIIArkzwD0o1Z8mtDzee6W-iZUPZHcoKr8WEyd48,42257
1046
+ cirq/transformers/transformer_primitives_test.py,sha256=KYD1cDE_jAB54WJPjpBdoO2ts8brckOBRb3oZc4tz1I,41695
1047
1047
  cirq/transformers/analytical_decompositions/__init__.py,sha256=ZNtETntol3G_n6uqzGxOmBanGMbCj0QAc-5vicN2jkM,2724
1048
1048
  cirq/transformers/analytical_decompositions/clifford_decomposition.py,sha256=DsuuP91pm2dX0CO4rWwmJAJyAfuXMcA1UJK0g8krp7k,6726
1049
1049
  cirq/transformers/analytical_decompositions/clifford_decomposition_test.py,sha256=AAZh_9vEb5f2E_EItPZTlMRNdv0d47AwqTn4BytX0UI,7102
@@ -1101,10 +1101,10 @@ cirq/transformers/routing/mapping_manager_test.py,sha256=ijlRd3mCOO1QFI6L8utQS0m
1101
1101
  cirq/transformers/routing/route_circuit_cqc.py,sha256=iiHgLX96l601pFZpJbUq-bHkVLEGoAkH4wDl9stFKc8,22021
1102
1102
  cirq/transformers/routing/route_circuit_cqc_test.py,sha256=gKGIBwftHR6CkUGdZ5z8t87o1Ch3rfcMjwjCO9CAn2g,9999
1103
1103
  cirq/transformers/routing/visualize_routed_circuit.py,sha256=cKYvswXnNIQJ0Okketzkpy9Tw0Z_Y2DaG4cJmK9ouHY,2917
1104
- cirq/transformers/routing/visualize_routed_circuit_test.py,sha256=MHL0DTdWCTsS1ayXlaJmBor8UbXo94lhgPKDXc97lRw,5040
1104
+ cirq/transformers/routing/visualize_routed_circuit_test.py,sha256=L3IJ0UdyVg8cBIULjG5kcjWoTmKee9Sr_MHkyJwcopA,4140
1105
1105
  cirq/transformers/target_gatesets/__init__.py,sha256=Sy572ZdTcImWcFinPq53rwf1Yxm9S3tpp4mjSCx-_T8,991
1106
1106
  cirq/transformers/target_gatesets/compilation_target_gateset.py,sha256=EarJ3_dIkpKzPVGd8898o1_kVH9ISNS8KT2PPUPq6Zk,13535
1107
- cirq/transformers/target_gatesets/compilation_target_gateset_test.py,sha256=-3pTUXcNvO-2OigtNco4DtF9jAaKu6SnnXBzlOmhxKU,9538
1107
+ cirq/transformers/target_gatesets/compilation_target_gateset_test.py,sha256=_M8R9n8vklqlCHesokcNINDGTTLx22TIa4tVLQNswoE,9482
1108
1108
  cirq/transformers/target_gatesets/cz_gateset.py,sha256=5YJVD0uyb6w848_x8Qg5nLYMKyylyWmgDBNtm725oAU,4750
1109
1109
  cirq/transformers/target_gatesets/cz_gateset_test.py,sha256=M5rhQPt2XGrX26cvyknTIFGLBqa2jPgg4D0z8rhFogU,10584
1110
1110
  cirq/transformers/target_gatesets/sqrt_iswap_gateset.py,sha256=Rtoi2xmhlk_fobf5Hwc1nDQlLtmKPcJm2FJTR8JgpN0,6278
@@ -1169,8 +1169,8 @@ cirq/work/sampler.py,sha256=JEAeQQRF3bqlO9AkOf4XbrTATDI5f5JgyM_FAUCNxao,19751
1169
1169
  cirq/work/sampler_test.py,sha256=B2ZsuqGT854gQtBIAh8k0LiG9Vj5wSzcGvkxOUoTcW4,13217
1170
1170
  cirq/work/zeros_sampler.py,sha256=x1C7cup66a43n-3tm8QjhiqJa07qcJW10FxNp9jJ59Q,2356
1171
1171
  cirq/work/zeros_sampler_test.py,sha256=JIkpBBFPJe5Ba4142vzogyWyboG1Q1ZAm0UVGgOoZn8,3279
1172
- cirq_core-1.4.0.dev20240409213157.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
1173
- cirq_core-1.4.0.dev20240409213157.dist-info/METADATA,sha256=Y3msR7NvXF-Zgquzdwq6PEf0UfwEOXfFH0S1ipv5oqw,2098
1174
- cirq_core-1.4.0.dev20240409213157.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
1175
- cirq_core-1.4.0.dev20240409213157.dist-info/top_level.txt,sha256=Sz9iOxHU0IEMLSFGwiwOCaN2e9K-jFbBbtpPN1hB73g,5
1176
- cirq_core-1.4.0.dev20240409213157.dist-info/RECORD,,
1172
+ cirq_core-1.4.0.dev20240410004400.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
1173
+ cirq_core-1.4.0.dev20240410004400.dist-info/METADATA,sha256=m4-O3eZEBL6XYrp2-d9FW3DLBQ3n_y3EYEx_7hECxsw,2098
1174
+ cirq_core-1.4.0.dev20240410004400.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
1175
+ cirq_core-1.4.0.dev20240410004400.dist-info/top_level.txt,sha256=Sz9iOxHU0IEMLSFGwiwOCaN2e9K-jFbBbtpPN1hB73g,5
1176
+ cirq_core-1.4.0.dev20240410004400.dist-info/RECORD,,