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

♻️ Eliminate nqubits and startingQubit from Operation class hierarchy #574

Merged
merged 4 commits into from
Mar 26, 2024

Conversation

burgholzer
Copy link
Member

@burgholzer burgholzer commented Mar 26, 2024

Description

The third follow-up PRs to #358, which tries to simplify the Operation class hierarchy by eliminating the nqubits and startingQubit members, which were purely in place for managing the corresponding decision diagrams.

This also practically fixes #345. Only state creation routines now have the additional starting qubit parameter.

Checklist:

  • The pull request only contains commits that are related to it.
  • I have added appropriate tests and documentation.
  • I have made sure that all CI jobs on GitHub pass.
  • The pull request introduces no new warnings and follows the project's style guidelines.

Signed-off-by: burgholzer <burgholzer@me.com>
…rarchy.

Signed-off-by: burgholzer <burgholzer@me.com>
@burgholzer burgholzer added refactor Anything related to code refactoring Core Anything related to the Core library and IR c++ Anything related to C++ code labels Mar 26, 2024
@burgholzer burgholzer added this to the MQT Core milestone Mar 26, 2024
@burgholzer burgholzer self-assigned this Mar 26, 2024
Copy link

codecov bot commented Mar 26, 2024

Codecov Report

Attention: Patch coverage is 90.96386% with 15 lines in your changes are missing coverage. Please review.

Project coverage is 91.2%. Comparing base (16ae2b7) to head (1b251aa).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##            main    #574     +/-   ##
=======================================
- Coverage   91.2%   91.2%   -0.1%     
=======================================
  Files        132     132             
  Lines      13978   13904     -74     
  Branches    2216    2203     -13     
=======================================
- Hits       12760   12692     -68     
+ Misses      1218    1212      -6     
Flag Coverage Δ
cpp 90.9% <90.5%> (-0.1%) ⬇️
python 99.5% <100.0%> (ø)
Files Coverage Δ
include/mqt-core/QuantumComputation.hpp 91.7% <100.0%> (-0.1%) ⬇️
include/mqt-core/dd/Operations.hpp 88.6% <ø> (+0.3%) ⬆️
include/mqt-core/ecc/Ecc.hpp 92.5% <100.0%> (ø)
...mqt-core/operations/ClassicControlledOperation.hpp 96.6% <ø> (-0.3%) ⬇️
include/mqt-core/operations/CompoundOperation.hpp 100.0% <ø> (ø)
...nclude/mqt-core/operations/NonUnitaryOperation.hpp 91.6% <ø> (ø)
include/mqt-core/operations/Operation.hpp 80.7% <100.0%> (+0.2%) ⬆️
include/mqt-core/operations/StandardOperation.hpp 100.0% <ø> (ø)
include/mqt-core/operations/SymbolicOperation.hpp 100.0% <ø> (ø)
src/QuantumComputation.cpp 81.8% <100.0%> (-0.2%) ⬇️
... and 18 more

Signed-off-by: burgholzer <burgholzer@me.com>
Signed-off-by: burgholzer <burgholzer@me.com>
@burgholzer burgholzer linked an issue Mar 26, 2024 that may be closed by this pull request
@burgholzer burgholzer merged commit 3c07991 into main Mar 26, 2024
37 checks passed
@burgholzer burgholzer deleted the streamline-operations-class branch March 26, 2024 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Anything related to C++ code Core Anything related to the Core library and IR refactor Anything related to code refactoring
Projects
Status: Done
Status: Done
Development

Successfully merging this pull request may close these issues.

⚗️ Try to get rid of the start parameter in DD routines
1 participant