ICU-20877 i18n: Don't use C++11 math
It's not available with some libc implementations. Specifically,
BIONIC and uClibc-ng. uprv_ variants are available.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
diff --git a/icu4c/source/i18n/decimfmt.cpp b/icu4c/source/i18n/decimfmt.cpp
index 4015250..0cbaca7 100644
--- a/icu4c/source/i18n/decimfmt.cpp
+++ b/icu4c/source/i18n/decimfmt.cpp
@@ -1801,7 +1801,7 @@
return false;
}
if (std::isnan(input)
- || std::trunc(input) != input
+ || uprv_trunc(input) != input
|| input <= INT32_MIN
|| input > INT32_MAX) {
return false;
diff --git a/icu4c/source/i18n/number_decimalquantity.cpp b/icu4c/source/i18n/number_decimalquantity.cpp
index abbc23d..778feb1 100644
--- a/icu4c/source/i18n/number_decimalquantity.cpp
+++ b/icu4c/source/i18n/number_decimalquantity.cpp
@@ -456,7 +456,7 @@
for (; i <= -22; i += 22) n /= 1e22;
n /= DOUBLE_MULTIPLIERS[-i];
}
- auto result = static_cast<int64_t>(std::round(n));
+ auto result = static_cast<int64_t>(uprv_round(n));
if (result != 0) {
_setToLong(result);
scale -= fracLength;