Merges adjacent moments, one by one from left to right, by calling merge_func(m1, m2)
.
cirq.merge_moments(
circuit: CIRCUIT_TYPE,
merge_func: Callable[[circuits.Moment, circuits.Moment], Optional[circuits.Moment]],
*,
tags_to_ignore: Sequence[Hashable] = (),
deep: bool = False
) -> CIRCUIT_TYPE
Args |
circuit
|
Input circuit to apply the transformations on. The input circuit is not mutated.
|
merge_func
|
Callable to determine whether two adjacent moments in the circuit should be
merged. If the moments can be merged, the callable should return the merged moment,
else None.
|
tags_to_ignore
|
Tagged circuit operations marked with any of tags_to_ignore will be
ignored when recursively applying the transformer primitive to sub-circuits, given
deep=True.
|
deep
|
If true, the transformer primitive will be recursively applied to all circuits
wrapped inside circuit operations.
|
Returns |
Copy of input circuit with merged moments.
|