Imported Upstream version 58.1
[platform/upstream/icu.git] / source / i18n / fmtableimp.h
1 // Copyright (C) 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *******************************************************************************
5 * Copyright (C) 2010-2014, International Business Machines Corporation and    *
6 * others. All Rights Reserved.                                                *
7 *******************************************************************************
8 */
9
10 #ifndef FMTABLEIMP_H
11 #define FMTABLEIMP_H
12
13 #include "digitlst.h"
14
15 U_NAMESPACE_BEGIN
16
17 /**
18  * @internal
19  */
20 struct FmtStackData {
21   DigitList stackDecimalNum;   // 128
22   //CharString stackDecimalStr;  // 64
23   //                         -----
24   //                         192 total
25 };
26
27 /** 
28  * Maximum int64_t value that can be stored in a double without chancing losing precision.
29  *   IEEE doubles have 53 bits of mantissa, 10 bits exponent, 1 bit sign.
30  *   IBM Mainframes have 56 bits of mantissa, 7 bits of base 16 exponent, 1 bit sign.
31  * Define this constant to the smallest value from those for supported platforms.
32  * @internal
33  */
34 static const int64_t MAX_INT64_IN_DOUBLE = 0x001FFFFFFFFFFFFFLL;
35
36 U_NAMESPACE_END
37
38 #endif