mirror of
https://github.com/fastfloat/fast_float.git
synced 2025-12-06 08:46:49 +08:00
finally got the anti-ambiguity overloads right?
This commit is contained in:
parent
e12463583f
commit
7ae62ee0d5
@ -373,25 +373,17 @@ integer_times_pow10(int64_t mantissa, int decimal_exponent) noexcept {
|
|||||||
|
|
||||||
// the following overloads are here to avoid surprising ambiguity for int,
|
// the following overloads are here to avoid surprising ambiguity for int,
|
||||||
// unsigned, etc.
|
// unsigned, etc.
|
||||||
#if !defined(_MSC_VER)
|
template <typename Int>
|
||||||
FASTFLOAT_CONSTEXPR20 inline double
|
FASTFLOAT_CONSTEXPR20 inline std::enable_if_t<
|
||||||
integer_times_pow10(unsigned long long mantissa,
|
std::is_integral<Int>::value && !std::is_signed<Int>::value, double>
|
||||||
int decimal_exponent) noexcept {
|
integer_times_pow10(Int mantissa, int decimal_exponent) noexcept {
|
||||||
return integer_times_pow10(static_cast<uint64_t>(mantissa), decimal_exponent);
|
return integer_times_pow10(static_cast<uint64_t>(mantissa), decimal_exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
FASTFLOAT_CONSTEXPR20 inline double
|
template <typename Int>
|
||||||
integer_times_pow10(long long mantissa, int decimal_exponent) noexcept {
|
FASTFLOAT_CONSTEXPR20 inline std::enable_if_t<
|
||||||
return integer_times_pow10(static_cast<int64_t>(mantissa), decimal_exponent);
|
std::is_integral<Int>::value && std::is_signed<Int>::value, double>
|
||||||
}
|
integer_times_pow10(Int mantissa, int decimal_exponent) noexcept {
|
||||||
#endif
|
|
||||||
FASTFLOAT_CONSTEXPR20 inline double
|
|
||||||
integer_times_pow10(unsigned mantissa, int decimal_exponent) noexcept {
|
|
||||||
return integer_times_pow10(static_cast<uint64_t>(mantissa), decimal_exponent);
|
|
||||||
}
|
|
||||||
|
|
||||||
FASTFLOAT_CONSTEXPR20 inline double
|
|
||||||
integer_times_pow10(int mantissa, int decimal_exponent) noexcept {
|
|
||||||
return integer_times_pow10(static_cast<int64_t>(mantissa), decimal_exponent);
|
return integer_times_pow10(static_cast<int64_t>(mantissa), decimal_exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user