Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix QuantumCircuit.depth with zero-operands and Expr nodes (backport #12429) #12528

Merged
merged 1 commit into from
Jun 7, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Jun 7, 2024

Summary

This causes QuantumCircuit.depth to correctly handle cases where a circuit instruction has zero operands (such as GlobalPhaseGate), and to treat classical bits and real-time variables used inside Expr conditions as part of the depth calculations. This is in line with DAGCircuit.

This commit still does not add the same recurse argument from DAGCircuit.depth, because the arguments for not adding it to QuantumCircuit.depth at the time still hold; there is no clear meaning to it for general control flow from a user's perspective, and it was only added to the DAGCircuit methods because there it is more of a proxy for optimising over all possible inner blocks.

Details and comments

Fix #12426.


This is an automatic backport of pull request #12429 done by [Mergify](https://mergify.com).

This causes `QuantumCircuit.depth` to correctly handle cases where a
circuit instruction has zero operands (such as `GlobalPhaseGate`), and
to treat classical bits and real-time variables used inside `Expr`
conditions as part of the depth calculations.  This is in line with
`DAGCircuit`.

This commit still does not add the same `recurse` argument from
`DAGCircuit.depth`, because the arguments for not adding it to
`QuantumCircuit.depth` at the time still hold; there is no clear meaning
to it for general control flow from a user's perspective, and it was
only added to the `DAGCircuit` methods because there it is more of a
proxy for optimising over all possible inner blocks.

(cherry picked from commit d18a74c)
@mergify mergify bot requested a review from a team as a code owner June 7, 2024 12:26
@qiskit-bot
Copy link
Collaborator

Thank you for opening a new pull request.

Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient.

While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone.

One or more of the following people are relevant to this code:

  • @Qiskit/terra-core

@github-actions github-actions bot added Changelog: Bugfix Include in the "Fixed" section of the changelog mod: circuit Related to the core of the `QuantumCircuit` class or the circuit library labels Jun 7, 2024
@github-actions github-actions bot added this to the 1.1.1 milestone Jun 7, 2024
@ElePT ElePT enabled auto-merge June 7, 2024 12:26
@coveralls
Copy link

coveralls commented Jun 7, 2024

Pull Request Test Coverage Report for Build 9416956394

Details

  • 24 of 24 (100.0%) changed or added relevant lines in 1 file are covered.
  • 6 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.006%) to 89.623%

Files with Coverage Reduction New Missed Lines %
crates/qasm2/src/expr.rs 1 94.02%
crates/qasm2/src/lex.rs 5 91.86%
Totals Coverage Status
Change from base Build 9414508323: -0.006%
Covered Lines: 62254
Relevant Lines: 69462

💛 - Coveralls

@ElePT ElePT added this pull request to the merge queue Jun 7, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jun 7, 2024
@ElePT ElePT added this pull request to the merge queue Jun 7, 2024
Merged via the queue into stable/1.1 with commit ee133ef Jun 7, 2024
18 checks passed
@mergify mergify bot deleted the mergify/bp/stable/1.1/pr-12429 branch June 7, 2024 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: Bugfix Include in the "Fixed" section of the changelog mod: circuit Related to the core of the `QuantumCircuit` class or the circuit library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants