|
14 | 14 |
|
15 | 15 | using namespace boost::decimal; |
16 | 16 |
|
17 | | -#if BOOST_DECIMAL_ENDIAN_LITTLE_BYTE && defined(BOOST_DECIMAL_HAS_INT128) |
18 | | -void test_binary_constructor() |
19 | | -{ |
20 | | - decimal128_t one(0b1, -6175); |
21 | | - // 0 for sign |
22 | | - // 00000 for combination field |
23 | | - // 00000000 for exp |
24 | | - // 1 for significand |
25 | | - BOOST_TEST_EQ(bit_string(one), "4000000000001"); |
26 | | - |
27 | | - decimal128_t neg_one(-0b1, -6175); |
28 | | - // 1 for sign |
29 | | - // 00000 for combination field |
30 | | - // 00000000 for exp |
31 | | - // 1 for significand |
32 | | - BOOST_TEST_EQ(bit_string(neg_one), "80004000000000001"); |
33 | | - |
34 | | - decimal128_t two(0b10, -6175); |
35 | | - // 0 for sign |
36 | | - // 00000 for combination field |
37 | | - // 00000000 for exp |
38 | | - // 2 for significand |
39 | | - BOOST_TEST_EQ(bit_string(two), "4000000000002"); |
40 | | - |
41 | | - decimal128_t three(0b11, -6175); |
42 | | - // 0 for sign |
43 | | - // 00000 for combination field |
44 | | - // 00000000 for exp |
45 | | - // 3 for significand |
46 | | - BOOST_TEST_EQ(bit_string(three), "4000000000003"); |
47 | | - |
48 | | - decimal128_t big(UINT64_MAX, -6175); |
49 | | - // 0 for sign |
50 | | - // 00000 for combination field |
51 | | - // 00000000 for exp |
52 | | - // FFFFFFFFFFFFFFFF for significand |
53 | | - BOOST_TEST_EQ(bit_string(big), "400000000000ffffffffffffffff"); |
54 | | - |
55 | | - decimal128_t onee1(0b1, -6174); |
56 | | - // 0 for sign |
57 | | - // 00000 for combination field |
58 | | - // 00000001 for exp |
59 | | - // 1 for significand |
60 | | - BOOST_TEST_EQ(bit_string(onee1), "8000000000001"); |
61 | | -} |
62 | | - |
63 | | -#else |
64 | | - |
65 | | -void test_binary_constructor() |
66 | | -{ |
67 | | - //nothing |
68 | | -} |
69 | | - |
70 | | -#endif |
71 | | - |
72 | 17 | void test_non_finite_values() |
73 | 18 | { |
74 | 19 | const decimal128_t one(0b1, 0); |
@@ -123,7 +68,6 @@ void test_float_constructor() |
123 | 68 |
|
124 | 69 | int main() |
125 | 70 | { |
126 | | - test_binary_constructor(); |
127 | 71 | test_non_finite_values(); |
128 | 72 |
|
129 | 73 | test_float_constructor(); |
|
0 commit comments