Skip to content

Conversation

leventeBajczi
Copy link
Contributor

As discussed in #360, the .modulo() method on the BitvectorFormulaManager API is misleading, because it creates a {s,u}rem operation. Therefore, we deprecate the method, and add separate .smod() and .rem() methods.

The (now deprecated) .modulo() operation delegates to the .rem() operation.

leventeBajczi and others added 14 commits March 23, 2024 21:53
This is another API-incompatible change in recent history,
and we do not want to touch this location twice (also from user perspective),
A new major version of JavaSMT is required anyway.
The previous implementation did not correctly encode smodule-by-zero.

Additionally, using a basis of srem instead of urem allows to simplify the encoding.
The hardest part of programming is documentation :-)
@kfriedberger kfriedberger merged commit 9a994a1 into sosy-lab:master Mar 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants