Add some more bitvector operations (rotations and extensions)#54
Merged
fitzgen merged 1 commit intoelliottt:mainfrom Feb 3, 2026
Merged
Add some more bitvector operations (rotations and extensions)#54fitzgen merged 1 commit intoelliottt:mainfrom
fitzgen merged 1 commit intoelliottt:mainfrom
Conversation
6223878 to
884956f
Compare
Contributor
Author
|
Note: I updated the PR from the initial version to also include |
fitzgen
reviewed
Feb 2, 2026
Collaborator
fitzgen
left a comment
There was a problem hiding this comment.
Can you add doc comments that warn that these are part of a non-standard SMTLIB2 language extension and are supported in many solvers, but not all? Thanks
This change includes `bvnor`, `zero_extend`, `sign_extend`, `rotate_left`, and `rotate_right`.
884956f to
96bab60
Compare
Contributor
Author
|
I was revising to document, then I discovered that they are actually documented in the standard. For some reason they do not appear in the FixedSizeBitVectors theory, but are defined in the QF_BV logic. After reading through that I updated the commit message and updated the rotation operation definitions to only accept non-negative rotation amounts, consistent with the standard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This change includes
zero_extend,sign_extend,rotate_left, androtate_right. These seem to be non-standard (i.e., are not in SMTLib2), but are widely supported in solvers.