2017-07-31 14:42:00 +02:00
|
|
|
---
|
|
|
|
source/i18n/precision.cpp | 2 +-
|
|
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
|
|
|
|
Index: icu/source/i18n/precision.cpp
|
|
|
|
===================================================================
|
|
|
|
--- icu.orig/source/i18n/precision.cpp
|
|
|
|
+++ icu/source/i18n/precision.cpp
|
|
|
|
@@ -227,7 +227,7 @@ FixedPrecision::initVisibleDigits(
|
2017-05-17 13:39:21 +02:00
|
|
|
}
|
|
|
|
// Try to find n such that value * 10^n is an integer
|
|
|
|
int32_t n = -1;
|
|
|
|
- double scaled;
|
|
|
|
+ volatile double scaled; // make sure scaled is in memory to avoid excess precision with x87 math
|
|
|
|
for (int32_t i = 0; i < UPRV_LENGTHOF(gPower10); ++i) {
|
|
|
|
scaled = value * gPower10[i];
|
|
|
|
if (scaled > MAX_INT64_IN_DOUBLE || scaled < -MAX_INT64_IN_DOUBLE) {
|