id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc
12798,Strange division evaluation for dynamically allocated `cpp_bin_float`,Michel Morin,John Maddock,"With this code
{{{
#include
#include
using namespace boost::multiprecision;
using Real = number>>;
int main(int argc, char* argv[])
{
std::cout << 1 / Real(1.4) << std::endl;
return 0;
}
}}}
assertion fails as
{{{
Assertion failed:
((
eval_msb(q)
==
cpp_bin_float::bit_count - 1
)),
function eval_divide, file boost/multiprecision/cpp_bin_float.hpp, line 1086.
}}}
or it prints `26699.6` when compiled with `NDEBUG`.
If I change `Real(1.4)` to `Real(1)`, the program does not terminate.
Tested on g++-5.4.
",Bugs,closed,Boost 1.64.0,multiprecision,Boost Development Trunk,Problem,fixed,,