Skip to content

Add indexed rotate operators#629

Open
filipeom wants to merge 1 commit into
mainfrom
filipe/fix-rotate-ops
Open

Add indexed rotate operators#629
filipeom wants to merge 1 commit into
mainfrom
filipe/fix-rotate-ops

Conversation

@filipeom

@filipeom filipeom commented Jun 8, 2026

Copy link
Copy Markdown
Member

This is needed because some solvers may follow the SMT-LIB standard strictly and only implement the rotate operators using indicies.

Closes #625
Closes #627

BREAKING: This change intentionally breaks the rotate_{left,right} operators to take an integer as the first argument. This is to force users to make a decision on whether to continue using the previous behavior with ext_rotate_{left,right} or start using the new API.

@filipeom filipeom requested a review from a team as a code owner June 8, 2026 19:20
This is needed because some solvers may follow the SMT-LIB standard
strictly and only implement the rotate operators using indicies.

Closes #625
Closes #627

BREAKING: This change intentionally breaks the `rotate_{left,right}`
operators to take an integer as the first argument.
This is to force users to make a decision on whether to continue using
the previous behavior with `ext_rotate_{left,right}` or start using
the new API.
@filipeom filipeom force-pushed the filipe/fix-rotate-ops branch from 0d4e1ea to 04eec15 Compare June 8, 2026 19:23
@redianthus

Copy link
Copy Markdown
Contributor

Do you think it makes sense to try using rotate when ext_rotate is called on an constant value?

In the Z3 case, it might be faster, and in the others, it may allow to have a partial implementation in some cases?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

update the signatures of Typed.Bitv32.rotate_left and right Unexpected exception thrown

2 participants