int-to-bv: correct model values (#6811)
authoryoni206 <yoni206@users.noreply.github.com>
Wed, 30 Jun 2021 12:11:56 +0000 (05:11 -0700)
committerGitHub <noreply@github.com>
Wed, 30 Jun 2021 12:11:56 +0000 (07:11 -0500)
commit14944f1115fa2ad20afa3873626c2804731aff71
treed1daf6cdf25988ae0c5f6b514e32764dbd1fa8eb
parent373b6e1e8e91874afab16416f7acc3839f0027af
int-to-bv: correct model values (#6811)

the int-to-bv preprocessing pass produced wrong models.
This PR fixes this in a similar fashion to other preprocessing passes, by adding a substitution to the preprocessing pass context. This requires moving the main translation function to be a class method, rather than a helper method in an empty namespace.

Thanks to @alex-ozdemir for raising this issue and producing a triggering benchmark (added to regressions in this PR).
src/preprocessing/passes/int_to_bv.cpp
src/preprocessing/passes/int_to_bv.h
test/regress/CMakeLists.txt
test/regress/regress0/bv/int_to_bv_model.smt2 [new file with mode: 0644]