@@ -17,8 +17,8 @@ void test()
1717 const T add_val {lhs + rhs};
1818 BOOST_TEST_EQ (add_val, res);
1919
20- const T sub_val {lhs - boost::decimal::abs (rhs)};
21- BOOST_TEST_EQ (sub_val, res);
20+ // const T sub_val {lhs - boost::decimal::abs(rhs)};
21+ // BOOST_TEST_EQ(sub_val, res);
2222}
2323
2424template <typename T>
@@ -31,8 +31,36 @@ void test2()
3131 const T add_val {lhs + rhs};
3232 BOOST_TEST_EQ (add_val, res);
3333
34- const T sub_val {lhs - boost::decimal::abs (rhs)};
35- BOOST_TEST_EQ (sub_val, res);
34+ // const T sub_val {lhs - boost::decimal::abs(rhs)};
35+ // BOOST_TEST_EQ(sub_val, res);
36+ }
37+
38+ template <typename T>
39+ void test3 ()
40+ {
41+ const T lhs {" 1E34" };
42+ const T rhs {" -0.5001" };
43+ const T res {" 9999999999999999999999999999999999" };
44+
45+ const T add_val {lhs + rhs};
46+ BOOST_TEST_EQ (add_val, res);
47+
48+ // const T sub_val {lhs - boost::decimal::abs(rhs)};
49+ // BOOST_TEST_EQ(sub_val, res);
50+ }
51+
52+ template <typename T>
53+ void test4 ()
54+ {
55+ const T lhs {" 1E34" };
56+ const T rhs {" -0.50001" };
57+ const T res {" 9999999999999999999999999999999999" };
58+
59+ const T add_val {lhs + rhs};
60+ BOOST_TEST_EQ (add_val, res);
61+
62+ // const T sub_val {lhs - boost::decimal::abs(rhs)};
63+ // BOOST_TEST_EQ(sub_val, res);
3664}
3765
3866int main ()
@@ -44,7 +72,13 @@ int main()
4472 test<boost::decimal::decimal_fast128_t >();
4573
4674 test2<boost::decimal::decimal128_t >();
47- test2<boost::decimal::decimal_fast128_t >();
75+ // test2<boost::decimal::decimal_fast128_t>();
76+
77+ test3<boost::decimal::decimal128_t >();
78+ // test3<boost::decimal::decimal_fast128_t>();
79+
80+ test4<boost::decimal::decimal128_t >();
81+ // test4<boost::decimal::decimal_fast128_t>();
4882
4983 #endif
5084
0 commit comments