OLD | NEW |
1 /* | 1 /* |
2 ******************************************************************************* | 2 ******************************************************************************* |
3 * Copyright (C) 2010-2012, International Business Machines Corporation and * | 3 * Copyright (C) 2010-2014, International Business Machines Corporation and * |
4 * others. All Rights Reserved. * | 4 * others. All Rights Reserved. * |
5 ******************************************************************************* | 5 ******************************************************************************* |
6 */ | 6 */ |
7 | 7 |
8 #ifndef FMTABLEIMP_H | 8 #ifndef FMTABLEIMP_H |
9 #define FMTABLEIMP_H | 9 #define FMTABLEIMP_H |
10 | 10 |
| 11 #include "digitlst.h" |
| 12 |
| 13 U_NAMESPACE_BEGIN |
11 | 14 |
12 /** | 15 /** |
13 * @internal | 16 * @internal |
14 */ | 17 */ |
15 struct FmtStackData { | 18 struct FmtStackData { |
16 DigitList stackDecimalNum; // 128 | 19 DigitList stackDecimalNum; // 128 |
17 //CharString stackDecimalStr; // 64 | 20 //CharString stackDecimalStr; // 64 |
18 // ----- | 21 // ----- |
19 // 192 total | 22 // 192 total |
20 }; | 23 }; |
21 | 24 |
| 25 /** |
| 26 * Maximum int64_t value that can be stored in a double without chancing losing
precision. |
| 27 * IEEE doubles have 53 bits of mantissa, 10 bits exponent, 1 bit sign. |
| 28 * IBM Mainframes have 56 bits of mantissa, 7 bits of base 16 exponent, 1 bit
sign. |
| 29 * Define this constant to the smallest value from those for supported platforms
. |
| 30 * @internal |
| 31 */ |
| 32 static const int64_t MAX_INT64_IN_DOUBLE = 0x001FFFFFFFFFFFFFLL; |
22 | 33 |
| 34 U_NAMESPACE_END |
23 | 35 |
24 #endif | 36 #endif |
OLD | NEW |