// Copyright 2024 Matt Borland // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt #ifndef BOOST_DECIMAL_DETAIL_PROMOTE_SIGNIFICAND_HPP #define BOOST_DECIMAL_DETAIL_PROMOTE_SIGNIFICAND_HPP #include #include #include #include namespace boost { namespace decimal { namespace detail { namespace impl { template struct promote_significand { using type = std::conditional_t::digits10 < std::numeric_limits::digits10, typename DecimalType::significand_type, detail::make_unsigned_t>; }; } // namespace impl template using promote_significand_t = typename impl::promote_significand::type; } // namespace detail } // namespace decimal } // namespace boost #endif //BOOST_DECIMAL_DETAIL_PROMOTE_SIGNIFICAND_HPP