cirq-core 1.6.0.dev20250519175318__py3-none-any.whl → 1.6.0.dev20250519202416__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/devices/grid_qubit_test.py +3 -0
- cirq/devices/insertion_noise_model_test.py +2 -0
- cirq/devices/line_qubit_test.py +2 -0
- cirq/devices/named_topologies_test.py +3 -0
- cirq/devices/noise_properties_test.py +2 -0
- cirq/devices/noise_utils_test.py +2 -0
- cirq/devices/superconducting_qubits_noise_properties_test.py +2 -0
- cirq/devices/thermal_noise_model_test.py +2 -0
- cirq/devices/unconstrained_device_test.py +2 -0
- cirq/experiments/benchmarking/parallel_xeb_test.py +2 -0
- cirq/experiments/fidelity_estimation_test.py +3 -0
- cirq/experiments/n_qubit_tomography_test.py +3 -0
- cirq/experiments/purity_estimation.py +2 -0
- cirq/experiments/purity_estimation_test.py +2 -0
- cirq/experiments/qubit_characterizations_test.py +2 -0
- cirq/experiments/readout_confusion_matrix_test.py +2 -0
- cirq/experiments/t1_decay_experiment_test.py +2 -0
- cirq/experiments/t2_decay_experiment_test.py +2 -0
- cirq/experiments/two_qubit_xeb_test.py +4 -0
- cirq/experiments/xeb_sampling_test.py +3 -0
- cirq/experiments/z_phase_calibration_test.py +2 -0
- cirq/interop/quirk/cells/all_cells.py +7 -2
- cirq/interop/quirk/cells/arithmetic_cells_test.py +3 -0
- cirq/interop/quirk/cells/cell_test.py +3 -0
- cirq/interop/quirk/cells/composite_cell_test.py +2 -0
- cirq/interop/quirk/cells/control_cells_test.py +2 -0
- cirq/interop/quirk/cells/frequency_space_cells_test.py +2 -0
- cirq/interop/quirk/cells/ignored_cells.py +3 -0
- cirq/interop/quirk/cells/ignored_cells_test.py +2 -0
- cirq/interop/quirk/cells/input_cells_test.py +2 -0
- cirq/interop/quirk/cells/input_rotation_cells_test.py +2 -0
- cirq/interop/quirk/cells/measurement_cells_test.py +2 -0
- cirq/interop/quirk/cells/parse.py +2 -0
- cirq/interop/quirk/cells/parse_test.py +2 -0
- cirq/interop/quirk/cells/qubit_permutation_cells_test.py +2 -0
- cirq/interop/quirk/cells/scalar_cells_test.py +2 -0
- cirq/interop/quirk/cells/single_qubit_rotation_cells_test.py +2 -0
- cirq/interop/quirk/cells/swap_cell_test.py +2 -0
- cirq/interop/quirk/cells/testing.py +2 -0
- cirq/interop/quirk/cells/testing_test.py +2 -0
- cirq/interop/quirk/cells/unsupported_cells.py +3 -0
- cirq/interop/quirk/cells/unsupported_cells_test.py +2 -0
- cirq/interop/quirk/url_to_circuit_test.py +3 -0
- cirq/linalg/combinators_test.py +3 -0
- cirq/linalg/decompositions_test.py +2 -0
- cirq/linalg/diagonalize.py +2 -0
- cirq/linalg/diagonalize_test.py +2 -0
- cirq/linalg/operator_spaces_test.py +2 -0
- cirq/linalg/predicates_test.py +2 -0
- cirq/linalg/tolerance_test.py +2 -0
- cirq/linalg/transformations.py +4 -1
- cirq/linalg/transformations_test.py +2 -0
- cirq/neutral_atoms/convert_to_neutral_atom_gates_test.py +2 -0
- cirq/neutral_atoms/neutral_atom_devices.py +2 -0
- cirq/ops/arithmetic_operation_test.py +2 -0
- cirq/ops/boolean_hamiltonian_test.py +3 -0
- cirq/ops/classically_controlled_operation_test.py +2 -0
- cirq/ops/common_channels_test.py +2 -0
- cirq/ops/common_gate_families.py +2 -0
- cirq/ops/common_gate_families_test.py +2 -0
- cirq/ops/common_gates_test.py +2 -0
- cirq/ops/control_values_test.py +2 -0
- cirq/ops/controlled_gate_test.py +4 -2
- cirq/ops/controlled_operation_test.py +4 -2
- cirq/ops/dense_pauli_string_test.py +3 -0
- cirq/ops/diagonal_gate_test.py +2 -0
- cirq/ops/eigen_gate_test.py +2 -0
- cirq/ops/fourier_transform_test.py +2 -0
- cirq/ops/fsim_gate_test.py +2 -0
- cirq/ops/gate_features.py +2 -0
- cirq/ops/gate_features_test.py +2 -0
- cirq/ops/gate_operation_test.py +3 -0
- cirq/ops/gateset_test.py +2 -0
- cirq/ops/global_phase_op_test.py +2 -0
- cirq/ops/greedy_qubit_manager_test.py +2 -0
- cirq/ops/identity_test.py +3 -0
- cirq/ops/kraus_channel_test.py +3 -0
- cirq/ops/linear_combinations_test.py +2 -0
- cirq/ops/matrix_gates_test.py +3 -0
- cirq/ops/measure_util_test.py +2 -0
- cirq/ops/measurement_gate_test.py +2 -0
- cirq/ops/mixed_unitary_channel_test.py +3 -0
- cirq/ops/named_qubit_test.py +2 -0
- cirq/ops/op_tree_test.py +3 -0
- cirq/ops/parallel_gate_test.py +2 -0
- cirq/ops/parity_gates_test.py +2 -0
- cirq/ops/pauli_gates_test.py +2 -0
- cirq/ops/pauli_interaction_gate_test.py +2 -0
- cirq/ops/pauli_measurement_gate_test.py +2 -0
- cirq/ops/pauli_string_phasor_test.py +2 -0
- cirq/ops/pauli_string_raw_types_test.py +2 -0
- cirq/ops/pauli_string_test.py +2 -0
- cirq/ops/pauli_sum_exponential_test.py +2 -0
- cirq/ops/permutation_gate_test.py +2 -0
- cirq/ops/phased_iswap_gate_test.py +2 -0
- cirq/ops/phased_x_gate_test.py +2 -0
- cirq/ops/phased_x_z_gate_test.py +3 -0
- cirq/ops/projector_test.py +3 -0
- cirq/ops/qid_util_test.py +2 -0
- cirq/ops/qubit_manager_test.py +2 -0
- cirq/ops/qubit_order.py +11 -13
- cirq/ops/qubit_order_or_list.py +2 -0
- cirq/ops/qubit_order_test.py +2 -0
- cirq/ops/random_gate_channel_test.py +3 -0
- cirq/ops/state_preparation_channel_test.py +2 -0
- cirq/ops/swap_gates_test.py +2 -0
- cirq/ops/tags.py +4 -0
- cirq/ops/tags_test.py +2 -0
- cirq/ops/three_qubit_gates_test.py +2 -0
- cirq/ops/two_qubit_diagonal_gate_test.py +2 -0
- cirq/ops/uniform_superposition_gate_test.py +2 -0
- cirq/ops/wait_gate_test.py +3 -0
- cirq/protocols/apply_channel_protocol.py +6 -4
- cirq/protocols/apply_channel_protocol_test.py +2 -0
- cirq/protocols/apply_mixture_protocol.py +6 -4
- cirq/protocols/apply_mixture_protocol_test.py +3 -0
- cirq/protocols/apply_unitary_protocol_test.py +2 -0
- cirq/protocols/approximate_equality_protocol.py +2 -0
- cirq/protocols/approximate_equality_protocol_test.py +2 -0
- cirq/protocols/circuit_diagram_info_protocol_test.py +3 -0
- cirq/protocols/commutes_protocol.py +3 -0
- cirq/protocols/commutes_protocol_test.py +2 -0
- cirq/protocols/control_key_protocol_test.py +2 -0
- cirq/protocols/equal_up_to_global_phase_protocol.py +2 -0
- cirq/protocols/equal_up_to_global_phase_protocol_test.py +3 -0
- cirq/protocols/has_stabilizer_effect_protocol.py +2 -0
- cirq/protocols/has_stabilizer_effect_protocol_test.py +2 -0
- cirq/protocols/has_unitary_protocol.py +2 -0
- cirq/protocols/has_unitary_protocol_test.py +2 -0
- cirq/protocols/inverse_protocol_test.py +3 -1
- cirq/protocols/json_serialization.py +3 -0
- cirq/protocols/json_serialization_test.py +2 -0
- cirq/protocols/json_test_data/spec.py +2 -0
- cirq/protocols/kraus_protocol.py +2 -0
- cirq/protocols/kraus_protocol_test.py +2 -0
- cirq/protocols/measurement_key_protocol_test.py +4 -1
- cirq/protocols/mixture_protocol.py +2 -0
- cirq/protocols/mixture_protocol_test.py +2 -0
- cirq/protocols/mul_protocol.py +2 -0
- cirq/protocols/mul_protocol_test.py +2 -0
- cirq/protocols/pauli_expansion_protocol.py +3 -0
- cirq/protocols/pauli_expansion_protocol_test.py +2 -0
- cirq/protocols/phase_protocol.py +2 -0
- cirq/protocols/phase_protocol_test.py +2 -0
- cirq/protocols/pow_protocol_test.py +2 -0
- cirq/protocols/qasm_test.py +3 -0
- cirq/protocols/qid_shape_protocol.py +2 -0
- cirq/protocols/qid_shape_protocol_test.py +2 -0
- cirq/protocols/resolve_parameters_test.py +3 -2
- cirq/protocols/trace_distance_bound.py +2 -0
- cirq/protocols/trace_distance_bound_test.py +2 -0
- cirq/protocols/unitary_protocol.py +2 -0
- cirq/protocols/unitary_protocol_test.py +3 -0
- cirq/qis/channels.py +6 -2
- cirq/qis/channels_test.py +4 -0
- cirq/qis/clifford_tableau_test.py +2 -0
- cirq/qis/entropy.py +2 -0
- cirq/qis/entropy_test.py +2 -0
- cirq/qis/measures_test.py +4 -0
- cirq/qis/noise_utils.py +2 -0
- cirq/qis/noise_utils_test.py +2 -0
- cirq/qis/states_test.py +2 -0
- cirq/sim/classical_simulator_test.py +2 -0
- cirq/sim/clifford/clifford_simulator_test.py +3 -0
- cirq/sim/clifford/clifford_tableau_simulation_state_test.py +2 -0
- cirq/sim/clifford/stabilizer_ch_form_simulation_state_test.py +2 -0
- cirq/sim/clifford/stabilizer_sampler_test.py +2 -0
- cirq/sim/clifford/stabilizer_simulation_state_test.py +2 -0
- cirq/sim/clifford/stabilizer_state_ch_form_test.py +2 -0
- cirq/sim/density_matrix_simulation_state_test.py +2 -0
- cirq/sim/density_matrix_simulator_test.py +3 -0
- cirq/sim/density_matrix_utils_test.py +2 -0
- cirq/sim/mux_test.py +3 -0
- cirq/sim/simulation_product_state_test.py +3 -0
- cirq/sim/simulation_state_test.py +2 -0
- cirq/sim/simulation_utils.py +2 -0
- cirq/sim/simulation_utils_test.py +3 -0
- cirq/sim/sparse_simulator_test.py +3 -0
- cirq/sim/state_vector_simulation_state_test.py +2 -0
- cirq/sim/state_vector_simulator_test.py +2 -0
- cirq/sim/state_vector_test.py +3 -0
- cirq/study/flatten_expressions_test.py +2 -0
- cirq/study/resolver_test.py +2 -0
- cirq/study/result_test.py +2 -0
- cirq/study/sweepable.py +5 -3
- cirq/study/sweepable_test.py +3 -0
- cirq/study/sweeps_test.py +3 -0
- cirq/testing/circuit_compare.py +2 -0
- cirq/testing/circuit_compare_test.py +2 -0
- cirq/testing/consistent_act_on.py +9 -3
- cirq/testing/consistent_act_on_test.py +2 -0
- cirq/testing/consistent_channels.py +2 -0
- cirq/testing/consistent_channels_test.py +2 -0
- cirq/testing/consistent_controlled_gate_op.py +2 -0
- cirq/testing/consistent_decomposition.py +2 -0
- cirq/testing/consistent_decomposition_test.py +2 -0
- cirq/testing/consistent_pauli_expansion.py +2 -0
- cirq/testing/consistent_pauli_expansion_test.py +2 -0
- cirq/testing/consistent_phase_by.py +2 -0
- cirq/testing/consistent_phase_by_test.py +2 -0
- {cirq_core-1.6.0.dev20250519175318.dist-info → cirq_core-1.6.0.dev20250519202416.dist-info}/METADATA +1 -1
- {cirq_core-1.6.0.dev20250519175318.dist-info → cirq_core-1.6.0.dev20250519202416.dist-info}/RECORD +207 -207
- {cirq_core-1.6.0.dev20250519175318.dist-info → cirq_core-1.6.0.dev20250519202416.dist-info}/WHEEL +0 -0
- {cirq_core-1.6.0.dev20250519175318.dist-info → cirq_core-1.6.0.dev20250519202416.dist-info}/licenses/LICENSE +0 -0
- {cirq_core-1.6.0.dev20250519175318.dist-info → cirq_core-1.6.0.dev20250519202416.dist-info}/top_level.txt +0 -0
cirq/_version.py
CHANGED
cirq/_version_test.py
CHANGED
cirq/devices/grid_qubit_test.py
CHANGED
|
@@ -11,8 +11,11 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
14
15
|
"""Tests for grid_qubit."""
|
|
15
16
|
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
16
19
|
import pickle
|
|
17
20
|
|
|
18
21
|
import numpy as np
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
15
17
|
import cirq
|
|
16
18
|
from cirq.devices.insertion_noise_model import InsertionNoiseModel
|
|
17
19
|
from cirq.devices.noise_utils import OpIdentifier, PHYSICAL_GATE_TAG
|
cirq/devices/line_qubit_test.py
CHANGED
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
14
17
|
import itertools
|
|
15
18
|
from unittest.mock import MagicMock
|
|
16
19
|
|
cirq/devices/noise_utils_test.py
CHANGED
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
14
17
|
import itertools
|
|
15
18
|
from typing import Sequence
|
|
16
19
|
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
14
17
|
from typing import Sequence
|
|
15
18
|
|
|
16
19
|
import numpy as np
|
|
@@ -11,7 +11,11 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
14
15
|
"""Wraps Parallel Two Qubit XEB into a few convenience methods."""
|
|
16
|
+
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
15
19
|
import io
|
|
16
20
|
import itertools
|
|
17
21
|
from typing import Dict, Optional, Sequence
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
14
17
|
import glob
|
|
15
18
|
import itertools
|
|
16
19
|
from typing import Iterable
|
|
@@ -11,10 +11,12 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
from typing import Iterator, TYPE_CHECKING
|
|
15
18
|
|
|
16
19
|
from cirq.interop.quirk.cells.arithmetic_cells import generate_all_arithmetic_cell_makers
|
|
17
|
-
from cirq.interop.quirk.cells.cell import CellMaker
|
|
18
20
|
from cirq.interop.quirk.cells.control_cells import generate_all_control_cell_makers
|
|
19
21
|
from cirq.interop.quirk.cells.frequency_space_cells import generate_all_frequency_space_cell_makers
|
|
20
22
|
from cirq.interop.quirk.cells.ignored_cells import generate_all_ignored_cell_makers
|
|
@@ -31,6 +33,9 @@ from cirq.interop.quirk.cells.single_qubit_rotation_cells import (
|
|
|
31
33
|
from cirq.interop.quirk.cells.swap_cell import generate_all_swap_cell_makers
|
|
32
34
|
from cirq.interop.quirk.cells.unsupported_cells import generate_all_unsupported_cell_makers
|
|
33
35
|
|
|
36
|
+
if TYPE_CHECKING:
|
|
37
|
+
from cirq.interop.quirk.cells.cell import CellMaker
|
|
38
|
+
|
|
34
39
|
|
|
35
40
|
def generate_all_quirk_cell_makers() -> Iterator[CellMaker]:
|
|
36
41
|
"""Yields a `CellMaker` for every known Quirk gate, display, etc."""
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
14
17
|
from typing import cast
|
|
15
18
|
|
|
16
19
|
import numpy as np
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
14
17
|
import pytest
|
|
15
18
|
|
|
16
19
|
import cirq
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
14
17
|
from typing import Iterator
|
|
15
18
|
|
|
16
19
|
from cirq.interop.quirk.cells.cell import CELL_SIZES, CellMaker
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
15
17
|
import cirq
|
|
16
18
|
from cirq.interop.quirk.cells.qubit_permutation_cells import QuirkQubitPermutationGate
|
|
17
19
|
from cirq.interop.quirk.cells.testing import assert_url_to_circuit_returns
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
14
17
|
from typing import Iterator
|
|
15
18
|
|
|
16
19
|
from cirq.interop.quirk.cells.cell import CELL_SIZES, CellMaker
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
14
17
|
import json
|
|
15
18
|
import urllib
|
|
16
19
|
|
cirq/linalg/combinators_test.py
CHANGED
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
14
17
|
import numpy as np
|
|
15
18
|
import pytest
|
|
16
19
|
|
cirq/linalg/diagonalize.py
CHANGED
cirq/linalg/diagonalize_test.py
CHANGED
cirq/linalg/predicates_test.py
CHANGED
cirq/linalg/tolerance_test.py
CHANGED
cirq/linalg/transformations.py
CHANGED
|
@@ -14,8 +14,11 @@
|
|
|
14
14
|
|
|
15
15
|
"""Utility methods for transforming matrices or vectors."""
|
|
16
16
|
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
17
19
|
import dataclasses
|
|
18
20
|
import functools
|
|
21
|
+
from types import EllipsisType
|
|
19
22
|
from typing import Any, List, Optional, Sequence, Tuple, Union
|
|
20
23
|
|
|
21
24
|
import numpy as np
|
|
@@ -298,7 +301,7 @@ def targeted_conjugate_about(
|
|
|
298
301
|
return targeted_left_multiply(np.conjugate(tensor), first_multiply, conj_indices, out=out)
|
|
299
302
|
|
|
300
303
|
|
|
301
|
-
_TSliceAtom = Union[int, slice,
|
|
304
|
+
_TSliceAtom = Union[int, slice, EllipsisType]
|
|
302
305
|
_TSlice = Union[_TSliceAtom, Sequence[_TSliceAtom]]
|
|
303
306
|
|
|
304
307
|
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
14
17
|
import functools
|
|
15
18
|
import itertools
|
|
16
19
|
import math
|
cirq/ops/common_channels_test.py
CHANGED