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
@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?

@filipeom

Copy link
Copy Markdown
Member Author

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?

Ah good point! Yes I think it is totally worth it 😄

@filipeom filipeom force-pushed the filipe/fix-rotate-ops branch 3 times, most recently from 3ca1767 to e6ad544 Compare June 21, 2026 10:47
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 e6ad544 to c12fe2d Compare June 21, 2026 14:30
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