// Copyright 2026 Matt Borland // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt #ifndef BOOST_DECIMAL_DETAIL_INT128_RANDOM_HPP #define BOOST_DECIMAL_DETAIL_INT128_RANDOM_HPP #include namespace boost { namespace random { namespace traits { template struct make_unsigned_imp; template <> struct make_unsigned_imp { using type = int128::uint128_t; }; template <> struct make_unsigned_imp { using type = int128::uint128_t; }; template struct make_unsigned; template <> struct make_unsigned { using type = int128::uint128_t; }; template <> struct make_unsigned { using type = int128::int128_t; }; template struct make_unsigned_or_unbounded_imp; template <> struct make_unsigned_or_unbounded_imp { using type = int128::uint128_t; }; template <> struct make_unsigned_or_unbounded_imp { using type = int128::uint128_t; }; template struct make_unsigned_or_unbounded; template <> struct make_unsigned_or_unbounded { using type = int128::uint128_t; }; template <> struct make_unsigned_or_unbounded { using type = int128::uint128_t; }; template struct is_integral; template <> struct is_integral : std::true_type {}; template <> struct is_integral : std::true_type {}; template struct is_signed; template <> struct is_signed : std::false_type {}; template <> struct is_signed : std::true_type {}; } // namespace traits } // namespace random } // namespace boost #endif // BOOST_DECIMAL_DETAIL_INT128_RANDOM_HPP