mirror of
https://github.com/fastfloat/fast_float.git
synced 2026-06-23 20:36:50 +08:00
interface cleanup.
This commit is contained in:
parent
f556a6875f
commit
41d9632abc
@ -59,10 +59,10 @@ from_chars_advanced(UC const *first, UC const *last, T &value,
|
||||
* `new` or `malloc`).
|
||||
*/
|
||||
FASTFLOAT_CONSTEXPR20 inline double
|
||||
integer_times_pow10(am_mant_t const mantissa,
|
||||
integer_times_pow10(uint64_t const mantissa,
|
||||
am_pow_t const decimal_exponent) noexcept;
|
||||
FASTFLOAT_CONSTEXPR20 inline double
|
||||
integer_times_pow10(am_sign_mant_t const mantissa,
|
||||
integer_times_pow10(int64_t const mantissa,
|
||||
am_pow_t const decimal_exponent) noexcept;
|
||||
|
||||
/**
|
||||
@ -73,12 +73,12 @@ integer_times_pow10(am_sign_mant_t const mantissa,
|
||||
template <typename T>
|
||||
FASTFLOAT_CONSTEXPR20
|
||||
typename std::enable_if<is_supported_float_type<T>::value, T>::type
|
||||
integer_times_pow10(am_mant_t const mantissa,
|
||||
integer_times_pow10(uint64_t const mantissa,
|
||||
am_pow_t const decimal_exponent) noexcept;
|
||||
template <typename T>
|
||||
FASTFLOAT_CONSTEXPR20
|
||||
typename std::enable_if<is_supported_float_type<T>::value, T>::type
|
||||
integer_times_pow10(am_sign_mant_t const mantissa,
|
||||
integer_times_pow10(int64_t const mantissa,
|
||||
am_pow_t const decimal_exponent) noexcept;
|
||||
|
||||
/**
|
||||
|
||||
@ -34,8 +34,6 @@
|
||||
namespace fast_float {
|
||||
|
||||
// 64 bit integer is used because mantissa can be up to 53 bits for double.
|
||||
// Value of the int mantissa in the API.
|
||||
typedef int_fast64_t am_sign_mant_t;
|
||||
// An unsigned int avoids signed overflows (which are bad)
|
||||
typedef uint_fast64_t am_mant_t;
|
||||
|
||||
|
||||
@ -391,7 +391,7 @@ from_chars(UC const *first, UC const *last, T &value,
|
||||
template <typename T>
|
||||
FASTFLOAT_CONSTEXPR20
|
||||
typename std::enable_if<is_supported_float_type<T>::value, T>::type
|
||||
integer_times_pow10(am_mant_t const mantissa,
|
||||
integer_times_pow10(uint64_t const mantissa,
|
||||
am_pow_t const decimal_exponent) noexcept {
|
||||
T value;
|
||||
if (clinger_fast_path_impl(mantissa, decimal_exponent,
|
||||
@ -414,7 +414,7 @@ FASTFLOAT_CONSTEXPR20
|
||||
template <typename T>
|
||||
FASTFLOAT_CONSTEXPR20
|
||||
typename std::enable_if<is_supported_float_type<T>::value, T>::type
|
||||
integer_times_pow10(am_sign_mant_t const mantissa,
|
||||
integer_times_pow10(int64_t const mantissa,
|
||||
am_pow_t const decimal_exponent) noexcept {
|
||||
#ifndef FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN
|
||||
const auto is_negative = mantissa < 0;
|
||||
@ -443,13 +443,13 @@ FASTFLOAT_CONSTEXPR20
|
||||
}
|
||||
|
||||
FASTFLOAT_CONSTEXPR20 inline double
|
||||
integer_times_pow10(am_mant_t const mantissa,
|
||||
integer_times_pow10(uint64_t const mantissa,
|
||||
am_pow_t const decimal_exponent) noexcept {
|
||||
return integer_times_pow10<double>(mantissa, decimal_exponent);
|
||||
}
|
||||
|
||||
FASTFLOAT_CONSTEXPR20 inline double
|
||||
integer_times_pow10(am_sign_mant_t const mantissa,
|
||||
integer_times_pow10(int64_t const mantissa,
|
||||
am_pow_t const decimal_exponent) noexcept {
|
||||
return integer_times_pow10<double>(mantissa, decimal_exponent);
|
||||
}
|
||||
@ -464,7 +464,7 @@ FASTFLOAT_CONSTEXPR20
|
||||
T>::type
|
||||
integer_times_pow10(Int const mantissa,
|
||||
am_pow_t const decimal_exponent) noexcept {
|
||||
return integer_times_pow10<T>(static_cast<am_mant_t>(mantissa),
|
||||
return integer_times_pow10<T>(static_cast<uint64_t>(mantissa),
|
||||
decimal_exponent);
|
||||
}
|
||||
|
||||
@ -476,7 +476,7 @@ FASTFLOAT_CONSTEXPR20
|
||||
T>::type
|
||||
integer_times_pow10(Int const mantissa,
|
||||
am_pow_t const decimal_exponent) noexcept {
|
||||
return integer_times_pow10<T>(static_cast<am_sign_mant_t>(mantissa),
|
||||
return integer_times_pow10<T>(static_cast<int64_t>(mantissa),
|
||||
decimal_exponent);
|
||||
}
|
||||
|
||||
@ -485,8 +485,7 @@ FASTFLOAT_CONSTEXPR20 typename std::enable_if<
|
||||
std::is_integral<Int>::value && !std::is_signed<Int>::value, double>::type
|
||||
integer_times_pow10(Int const mantissa,
|
||||
am_pow_t const decimal_exponent) noexcept {
|
||||
return integer_times_pow10(static_cast<am_mant_t>(mantissa),
|
||||
decimal_exponent);
|
||||
return integer_times_pow10(static_cast<uint64_t>(mantissa), decimal_exponent);
|
||||
}
|
||||
|
||||
template <typename Int>
|
||||
@ -494,8 +493,7 @@ FASTFLOAT_CONSTEXPR20 typename std::enable_if<
|
||||
std::is_integral<Int>::value && std::is_signed<Int>::value, double>::type
|
||||
integer_times_pow10(Int const mantissa,
|
||||
am_pow_t const decimal_exponent) noexcept {
|
||||
return integer_times_pow10(static_cast<am_sign_mant_t>(mantissa),
|
||||
decimal_exponent);
|
||||
return integer_times_pow10(static_cast<int64_t>(mantissa), decimal_exponent);
|
||||
}
|
||||
|
||||
template <typename T, typename UC>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user