This long-overdue PR adds better results reporting to QCEC. Previously, any call to a verify* function would just return a Results object that truly only contained results (equivalence, runtime, CEX).
On the other hand, the EquivalenceCheckingManager stores way more information that could be interesting to users, such as metrics about the circuits, the configuration that was used for the equivalence check, and the results of the individual checkers.
This PR makes all that information part of the Results class and, thus, exposes it to users. This is purely additional to the existing results.
Fixes #147
Checklist:
[x] The pull request only contains commits that are related to it.
[x] I have added appropriate tests and documentation.
[x] I have made sure that all CI jobs on GitHub pass.
[x] The pull request introduces no new warnings and follows the project's style guidelines.
Description
This long-overdue PR adds better results reporting to QCEC. Previously, any call to a
verify*
function would just return aResults
object that truly only contained results (equivalence, runtime, CEX). On the other hand, theEquivalenceCheckingManager
stores way more information that could be interesting to users, such as metrics about the circuits, the configuration that was used for the equivalence check, and the results of the individual checkers. This PR makes all that information part of theResults
class and, thus, exposes it to users. This is purely additional to the existing results.Fixes #147
Checklist: