1 | #include <iostream>
|
---|
2 | #include <boost/multiprecision/cpp_bin_float.hpp>
|
---|
3 |
|
---|
4 |
|
---|
5 | typedef boost::multiprecision::number<boost::multiprecision::backends::cpp_bin_float<128, boost::multiprecision::backends::digit_base_2> > ext_float_t;
|
---|
6 |
|
---|
7 | int main(int, char**) {
|
---|
8 | ext_float_t a = 1;
|
---|
9 | ext_float_t b("3e-39"); // b > 2^-128
|
---|
10 | ext_float_t c = a + b;
|
---|
11 | std::cout
|
---|
12 | << std::setprecision(45)
|
---|
13 | << a << " + " << b << " = " << c << "\n"
|
---|
14 | ;
|
---|
15 | if (c == a)
|
---|
16 | std::cout << "bad\n";
|
---|
17 | else
|
---|
18 | std::cout << "good\n";
|
---|
19 |
|
---|
20 | return 0;
|
---|
21 | }
|
---|