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

♻️ Refactor EquivalenceCheckingManager and 📝✨ Revamp Documentation #566

Merged
merged 22 commits into from
Mar 10, 2025

Conversation

burgholzer
Copy link
Member

@burgholzer burgholzer commented Mar 7, 2025

Description

This pull request includes several enhancements and updates across the project and associated documentation:

  1. Updated dependencies such as mqt-core and pre-commit hooks to their latest versions.
  2. Refactored EquivalenceCheckingManager to streamline its public interface by removing redundant methods.
  3. Modernized project documentation and added a citation file for referencing.
  4. Improved the structure of Python tests and slightly revamped the Python package with better documentation.
  5. Adjusted Python bindings by moving documentation to stubs and refined counterexample handling for better flexibility.
  6. Incorporated smaller code quality improvements.
  7. Updated the Read the Docs (RtD) build configuration.

This contains some breaking changes on the C++ as well as the Python side. However, these should simplify the usage of the library and generally reduce the size of the code base. With the 3.0 release coming up, this is the time for making such changes.

At least locally, it also looks like this will fix #546. That still needs to be verified though.

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

@burgholzer burgholzer self-assigned this Mar 7, 2025
@burgholzer burgholzer added documentation Improvements or additions to documentation dependencies Pull requests that update a dependency file python Anything related to Python code c++ Anything related to C++ code major Part of a major release enhancement Anything related to improvements of the existing library fix Anything related to bugfixes pre-commit Pull requests that update pre-commit checks labels Mar 7, 2025
@burgholzer burgholzer added this to the MQT QCEC v3.0 milestone Mar 7, 2025
Copy link

codecov bot commented Mar 7, 2025

Codecov Report

Attention: Patch coverage is 98.41270% with 1 line in your changes missing coverage. Please review.

Project coverage is 96.0%. Comparing base (0fc699b) to head (35cf328).
Report is 24 commits behind head on main.

Files with missing lines Patch % Lines
src/checker/dd/simulation/StateGenerator.cpp 75.0% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##            main    #566     +/-   ##
=======================================
- Coverage   96.1%   96.0%   -0.2%     
=======================================
  Files         40      38      -2     
  Lines       1877    1721    -156     
  Branches     224     197     -27     
=======================================
- Hits        1805    1653    -152     
+ Misses        72      68      -4     
Flag Coverage Δ
cpp 95.4% <97.9%> (-0.7%) ⬇️
python 97.7% <100.0%> (+1.2%) ⬆️
Files with missing lines Coverage Δ
include/Configuration.hpp 75.0% <100.0%> (+8.3%) ⬆️
include/EquivalenceCheckingManager.hpp 100.0% <100.0%> (ø)
include/checker/dd/DDSimulationChecker.hpp 100.0% <100.0%> (ø)
include/checker/zx/ZXChecker.hpp 100.0% <100.0%> (ø)
src/Configuration.cpp 100.0% <100.0%> (ø)
src/EquivalenceCheckingManager.cpp 92.6% <100.0%> (-0.4%) ⬇️
src/mqt/qcec/__init__.py 100.0% <ø> (ø)
src/mqt/qcec/_compat/optional.py 100.0% <ø> (ø)
src/mqt/qcec/compilation_flow_profiles.py 98.1% <100.0%> (+<0.1%) ⬆️
src/mqt/qcec/configuration.py 100.0% <100.0%> (ø)
... and 4 more

... and 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@burgholzer burgholzer force-pushed the refactor-and-docs branch 4 times, most recently from 1db2b7d to 260c8a0 Compare March 9, 2025 23:50
Signed-off-by: burgholzer <[email protected]>
Now that they are exposed to Python, this is entirely possible.

Signed-off-by: burgholzer <[email protected]>
…face and remove redundant methods

Signed-off-by: burgholzer <[email protected]>
Signed-off-by: burgholzer <[email protected]>
@burgholzer burgholzer enabled auto-merge March 10, 2025 01:18
@burgholzer burgholzer merged commit e7595a3 into main Mar 10, 2025
31 checks passed
@burgholzer burgholzer deleted the refactor-and-docs branch March 10, 2025 01:46
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 dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation enhancement Anything related to improvements of the existing library fix Anything related to bugfixes major Part of a major release pre-commit Pull requests that update pre-commit checks python Anything related to Python code
Projects
Status: Done
Status: Done
Development

Successfully merging this pull request may close these issues.

🐛 Kernel Crash During verify with Different Sized Circuits with Boundary swap)
1 participant