Closed LeventErkok closed 1 year ago
The following functions:
svDivide, svQuot, svRem, svQuotRem
exported from Data.SBV.Dynamic directly use SMTLib's version of these operations, which are different than Haskell's.
Data.SBV.Dynamic
Data.SBV versions of sDiv/sMod etc.; do the "proper" translation, see here:
Data.SBV
sDiv
sMod
https://github.com/LeventErkok/sbv/blob/b47ca083096aeda84586d8d7b1e7c777b1b19d09/Data/SBV/Core/Model.hs#L1599-L1656
We should either document this discrepancy in the dynamic interface, or move the "translation" code to the dynamic side so they behave the same.
Actually, this is documented in the functions and probably is the right definition; just gotta be careful!
The following functions:
svDivide, svQuot, svRem, svQuotRem
exported from
Data.SBV.Dynamic
directly use SMTLib's version of these operations, which are different than Haskell's.Data.SBV
versions ofsDiv
/sMod
etc.; do the "proper" translation, see here:https://github.com/LeventErkok/sbv/blob/b47ca083096aeda84586d8d7b1e7c777b1b19d09/Data/SBV/Core/Model.hs#L1599-L1656
We should either document this discrepancy in the dynamic interface, or move the "translation" code to the dynamic side so they behave the same.