1 /* 2 ******************************************************************************* 3 * Copyright (C) 2010-2014, International Business Machines Corporation and * 4 * others. All Rights Reserved. * 5 ******************************************************************************* 6 */ 7 8 #ifndef FMTABLEIMP_H 9 #define FMTABLEIMP_H 10 11 #include "digitlst.h" 12 13 U_NAMESPACE_BEGIN 14 15 /** 16 * @internal 17 */ 18 struct FmtStackData { 19 DigitList stackDecimalNum; // 128 20 //CharString stackDecimalStr; // 64 21 // ----- 22 // 192 total 23 }; 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; 33 34 U_NAMESPACE_END 35 36 #endif 37