Skip to content

Commit 20a7383

Browse files
committed
renamed the function, cleaned up return type
1 parent 763558b commit 20a7383

File tree

3 files changed

+15
-33
lines changed

3 files changed

+15
-33
lines changed

include/fast_float/fast_float.h

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,12 @@ from_chars_advanced(UC const *first, UC const *last, T &value,
5858
* The implementation does not throw and does not allocate memory (e.g., with
5959
* `new` or `malloc`).
6060
*/
61+
FASTFLOAT_CONSTEXPR20 inline double
62+
integer_times_pow10(uint64_t mantissa, int decimal_exponent) noexcept;
6163
FASTFLOAT_CONSTEXPR20 inline
6264
typename std::enable_if<is_supported_float_type<double>::value,
6365
double>::type
64-
multiply_integer_and_power_of_10(uint64_t mantissa,
65-
int decimal_exponent) noexcept;
66-
FASTFLOAT_CONSTEXPR20 inline
67-
typename std::enable_if<is_supported_float_type<double>::value,
68-
double>::type
69-
multiply_integer_and_power_of_10(int64_t mantissa,
70-
int decimal_exponent) noexcept;
66+
integer_times_pow10(int64_t mantissa, int decimal_exponent) noexcept;
7167

7268
/**
7369
* from_chars for integer types.

include/fast_float/parse_number.h

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -344,11 +344,8 @@ from_chars(UC const *first, UC const *last, T &value, int base) noexcept {
344344
return from_chars_advanced(first, last, value, options);
345345
}
346346

347-
FASTFLOAT_CONSTEXPR20 inline
348-
typename std::enable_if<is_supported_float_type<double>::value,
349-
double>::type
350-
multiply_integer_and_power_of_10(uint64_t mantissa,
351-
int decimal_exponent) noexcept {
347+
FASTFLOAT_CONSTEXPR20 inline double
348+
integer_times_pow10(uint64_t mantissa, int decimal_exponent) noexcept {
352349
double value;
353350
if (clinger_fast_path_impl(mantissa, decimal_exponent, false, value))
354351
return value;
@@ -359,11 +356,8 @@ FASTFLOAT_CONSTEXPR20 inline
359356
return value;
360357
}
361358

362-
FASTFLOAT_CONSTEXPR20 inline
363-
typename std::enable_if<is_supported_float_type<double>::value,
364-
double>::type
365-
multiply_integer_and_power_of_10(int64_t mantissa,
366-
int decimal_exponent) noexcept {
359+
FASTFLOAT_CONSTEXPR20 inline double
360+
integer_times_pow10(int64_t mantissa, int decimal_exponent) noexcept {
367361
const bool is_negative = mantissa < 0;
368362
const uint64_t m = static_cast<uint64_t>(is_negative ? -mantissa : mantissa);
369363

@@ -379,22 +373,14 @@ FASTFLOAT_CONSTEXPR20 inline
379373

380374
// the following overloads are here to avoid surprising ambiguity for int,
381375
// unsigned, etc.
382-
FASTFLOAT_CONSTEXPR20 inline
383-
typename std::enable_if<is_supported_float_type<double>::value,
384-
double>::type
385-
multiply_integer_and_power_of_10(unsigned mantissa,
386-
int decimal_exponent) noexcept {
387-
return multiply_integer_and_power_of_10(static_cast<uint64_t>(mantissa),
388-
decimal_exponent);
376+
FASTFLOAT_CONSTEXPR20 inline double
377+
integer_times_pow10(unsigned mantissa, int decimal_exponent) noexcept {
378+
return integer_times_pow10(static_cast<uint64_t>(mantissa), decimal_exponent);
389379
}
390380

391-
FASTFLOAT_CONSTEXPR20 inline
392-
typename std::enable_if<is_supported_float_type<double>::value,
393-
double>::type
394-
multiply_integer_and_power_of_10(int mantissa,
395-
int decimal_exponent) noexcept {
396-
return multiply_integer_and_power_of_10(static_cast<int64_t>(mantissa),
397-
decimal_exponent);
381+
FASTFLOAT_CONSTEXPR20 inline double
382+
integer_times_pow10(int mantissa, int decimal_exponent) noexcept {
383+
return integer_times_pow10(static_cast<int64_t>(mantissa), decimal_exponent);
398384
}
399385

400386
template <typename T, typename UC>

tests/basictest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2091,7 +2091,7 @@ void verify_integer_multiplication_by_power_of_10(Int mantissa,
20912091
int decimal_exponent,
20922092
double expected) {
20932093
const double actual =
2094-
fast_float::multiply_integer_and_power_of_10(mantissa, decimal_exponent);
2094+
fast_float::integer_times_pow10(mantissa, decimal_exponent);
20952095

20962096
INFO("m * 10^e=" << mantissa << " * 10^" << decimal_exponent
20972097
<< "\n"
@@ -2120,7 +2120,7 @@ void verify_integer_multiplication_by_power_of_10(Int mantissa,
21202120
expected_result);
21212121
}
21222122

2123-
TEST_CASE("multiply_integer_and_power_of_10") {
2123+
TEST_CASE("integer_times_pow10") {
21242124
// explicitly verifying API with different types of integers
21252125
verify_integer_multiplication_by_power_of_10<int8_t>(31, -1, 3.1);
21262126
verify_integer_multiplication_by_power_of_10<int8_t>(-31, -1, -3.1);

0 commit comments

Comments
 (0)