From 25ad96c856b48020901aa600e88266e33f68bfc1 Mon Sep 17 00:00:00 2001 From: joe Date: Thu, 9 Feb 2023 03:29:32 -0500 Subject: [PATCH 1/2] reducing some indenting and amount of reading by changing some logic around in circuit.py --- cirq-core/cirq/circuits/circuit.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/cirq-core/cirq/circuits/circuit.py b/cirq-core/cirq/circuits/circuit.py index 980b7854172..5703fcc3df4 100644 --- a/cirq-core/cirq/circuits/circuit.py +++ b/cirq-core/cirq/circuits/circuit.py @@ -573,14 +573,12 @@ def enqueue_next(qubit: 'cirq.Qid', moment: int) -> None: continue_past = ( cur_op is not None and active.issuperset(cur_op.qubits) and not is_blocker(cur_op) ) - if continue_past: - for q in cur_op.qubits: + for q in cur_op.qubits: + if continue_past: enqueue_next(q, cur_moment + 1) - else: - for q in cur_op.qubits: - if q in active: - end_frontier[q] = cur_moment - active.remove(q) + elif q in active: + end_frontier[q] = cur_moment + active.remove(q) return end_frontier @@ -1861,9 +1859,8 @@ def __setitem__(self, key: slice, value: Iterable['cirq.Moment']): pass def __setitem__(self, key, value): - if isinstance(key, int): - if not isinstance(value, Moment): - raise TypeError('Can only assign Moments into Circuits.') + if isinstance(key, int) and not isinstance(value, Moment): + raise TypeError('Can only assign Moments into Circuits.') if isinstance(key, slice): value = list(value) @@ -2595,8 +2592,7 @@ def _get_global_phase_and_tags_for_op(op: 'cirq.Operation') -> Tuple[Optional[co elif isinstance(op.untagged, CircuitOperation): op_phase, op_tags = _get_global_phase_and_tags_for_ops(op.untagged.circuit.all_operations()) return op_phase, list(op.tags) + op_tags - else: - return None, [] + return None, [] def _get_global_phase_and_tags_for_ops(op_list: Any) -> Tuple[Optional[complex], List[Any]]: From 93ae0ff0a6792659ee42d15609a2f3201fcf8227 Mon Sep 17 00:00:00 2001 From: joe Date: Sun, 12 Feb 2023 01:27:17 -0500 Subject: [PATCH 2/2] reverting change per code review --- cirq-core/cirq/circuits/circuit.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/cirq-core/cirq/circuits/circuit.py b/cirq-core/cirq/circuits/circuit.py index 5703fcc3df4..2cd49101d18 100644 --- a/cirq-core/cirq/circuits/circuit.py +++ b/cirq-core/cirq/circuits/circuit.py @@ -573,12 +573,14 @@ def enqueue_next(qubit: 'cirq.Qid', moment: int) -> None: continue_past = ( cur_op is not None and active.issuperset(cur_op.qubits) and not is_blocker(cur_op) ) - for q in cur_op.qubits: - if continue_past: + if continue_past: + for q in cur_op.qubits: enqueue_next(q, cur_moment + 1) - elif q in active: - end_frontier[q] = cur_moment - active.remove(q) + else: + for q in cur_op.qubits: + if q in active: + end_frontier[q] = cur_moment + active.remove(q) return end_frontier