-
Notifications
You must be signed in to change notification settings - Fork 23
Description
What's the problem this feature will solve?
At the moment, the public verify
and verify_compilation
methods per default automatically orchestrate a combination of all available equivalence checkers in order to provide an automated black-box solution.
However, for academic purposes and reproducibility, it might be great to only run a single equivalence checker.
While this is possible right now by appropriately setting the run_*_checker
configuration options, this might not be intuitive to users and is not very well reflected in the documentation.
Describe the solution you'd like
In order to provide more transparency and better usability, it should be possible to select an individual method to be run by setting a single option. In the simplest case, this amounts to creating a new Enum Method
which might feature the following values for now:
auto
: the default as used now. orchestrates all different checkers.alternating
: the alternating checkerconstruction
: the construction checkersimulation
: only run simulationszx
: the ZX checker
Regarding the interface, the Configuration:: Execution
struct can take an additional method
member and the verify functions take an additional keyword argument method
.
Internally, this merely overrides the run_*_checker
configuration settings.
As a result, the documentation of the individual checkers can be extended with a simple example of how to use them.
Further details
See the conversation at #167 (comment)