12concept MathInteger = std::integral<T> && !std::same_as<T, bool>;
16template <MathInteger I> std::int64_t math_integer(I
value)
18 if constexpr (
sizeof(I) >=
sizeof(std::int64_t) && !std::is_signed_v<I>)
19 if (
value >
static_cast<I
>(numeric_limits<std::int64_t>::max()))
20 throw std::out_of_range(
"math exponent/order does not fit int64_t");
21 if constexpr (
sizeof(I) >
sizeof(std::int64_t) && std::is_signed_v<I>)
22 if (
value <
static_cast<I
>(numeric_limits<std::int64_t>::min()) ||
23 value >
static_cast<I
>(numeric_limits<std::int64_t>::max()))
24 throw std::out_of_range(
"math exponent/order does not fit int64_t");
25 return static_cast<std::int64_t
>(
value);
locale_t value
Definition data_table.cpp:49