@@ -26,8 +26,7 @@ template <BOOST_DECIMAL_DECIMAL_FLOATING_TYPE DecimalType = decimal32, typename
2626constexpr auto equal_parts_impl (T1 lhs_sig, std::int32_t lhs_exp, bool lhs_sign,
2727 T2 rhs_sig, std::int32_t rhs_exp, bool rhs_sign) noexcept -> bool
2828{
29- using sig_type = std::conditional_t <std::is_same<DecimalType, decimal32>::value || std::is_same<DecimalType, decimal32_fast>::value, std::uint32_t ,
30- std::conditional_t <std::is_same<DecimalType, decimal64>::value, std::uint64_t , detail::uint128>>;
29+ using sig_type = typename DecimalType::significand_type;
3130
3231 auto new_lhs_sig {detail::shrink_significand<sig_type>(lhs_sig, lhs_exp)};
3332 auto new_rhs_sig {detail::shrink_significand<sig_type>(rhs_sig, rhs_exp)};
@@ -114,8 +113,7 @@ constexpr auto less_parts_impl(T1 lhs_sig, std::int32_t lhs_exp, bool lhs_sign,
114113 const bool both_neg {lhs_sign && rhs_sign};
115114
116115 // Normalize the significands and exponents
117- using sig_type = std::conditional_t <std::is_same<DecimalType, decimal32>::value || std::is_same<DecimalType, decimal32_fast>::value, std::uint32_t ,
118- std::conditional_t <std::is_same<DecimalType, decimal64>::value, std::uint64_t , detail::uint128>>;
116+ using sig_type = typename DecimalType::significand_type;
119117
120118 auto new_lhs_sig {detail::shrink_significand<sig_type>(lhs_sig, lhs_exp)};
121119 auto new_rhs_sig {detail::shrink_significand<sig_type>(rhs_sig, rhs_exp)};
0 commit comments