This repository has been archived by the owner on Apr 9, 2024. It is now read-only.
chore(acvm)!: expose separate solvers for AND and XOR opcodes #266
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related issue(s)
(If it does not already exist, first create a GitHub issue that describes the problem this Pull Request (PR) solves before creating the PR and link it here.)
Resolves (link to issue)
Description
Summary of changes
The
AND
andXOR
opcodes are quite strange in so far as they don't have their own solvers, instead we callsolve_logic_opcode
while passing across the opcode which performs amatch
to decide how to handle it. We don't have asolver_hash_opcode
which handles all of the hash functions so it doesn't really make sense to have one for logic functions.I've then split up these functions to expose
and()
andxor()
. Backends will then be expected to a call these directly.Dependency additions / changes
(If applicable.)
Test additions / changes
(If applicable.)
Checklist
cargo fmt
with default settings.Additional context
(If applicable.)