]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/i18n/fmtableimp.h
ICU-62123.0.1.tar.gz
[apple/icu.git] / icuSources / i18n / fmtableimp.h
index db7aa3e9e2ebbf062894b6e9f8b408ab81465a9c..12cea9a4409131fcc0aca5cac432aacd8b6ba185 100644 (file)
@@ -1,6 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
 /*
 *******************************************************************************
-* Copyright (C) 2010-2012, International Business Machines Corporation and    *
+* Copyright (C) 2010-2014, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */
@@ -8,6 +10,11 @@
 #ifndef FMTABLEIMP_H
 #define FMTABLEIMP_H
 
+#include "digitlst.h"
+
+#if !UCONFIG_NO_FORMATTING
+
+U_NAMESPACE_BEGIN
 
 /**
  * @internal
@@ -19,6 +26,16 @@ struct FmtStackData {
   //                         192 total
 };
 
+/** 
+ * Maximum int64_t value that can be stored in a double without chancing losing precision.
+ *   IEEE doubles have 53 bits of mantissa, 10 bits exponent, 1 bit sign.
+ *   IBM Mainframes have 56 bits of mantissa, 7 bits of base 16 exponent, 1 bit sign.
+ * Define this constant to the smallest value from those for supported platforms.
+ * @internal
+ */
+static const int64_t MAX_INT64_IN_DOUBLE = 0x001FFFFFFFFFFFFFLL;
 
+U_NAMESPACE_END
 
+#endif // #if !UCONFIG_NO_FORMATTING
 #endif