2017-01-20 00:20:31 +00:00
|
|
|
// © 2016 and later: Unicode, Inc. and others.
|
2016-06-15 18:58:17 +00:00
|
|
|
// License & terms of use: http://www.unicode.org/copyright.html
|
2012-11-29 01:09:50 +00:00
|
|
|
/*
|
|
|
|
*******************************************************************************
|
2016-05-31 21:45:07 +00:00
|
|
|
* Copyright (C) 2010-2014, International Business Machines Corporation and *
|
|
|
|
* others. All Rights Reserved. *
|
2012-11-29 01:09:50 +00:00
|
|
|
*******************************************************************************
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef FMTABLEIMP_H
|
|
|
|
#define FMTABLEIMP_H
|
|
|
|
|
2014-12-18 22:46:45 +00:00
|
|
|
#include "digitlst.h"
|
|
|
|
|
2017-03-27 16:14:45 +00:00
|
|
|
#if !UCONFIG_NO_FORMATTING
|
|
|
|
|
2014-12-18 22:46:45 +00:00
|
|
|
U_NAMESPACE_BEGIN
|
2012-11-29 01:09:50 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @internal
|
|
|
|
*/
|
|
|
|
struct FmtStackData {
|
|
|
|
DigitList stackDecimalNum; // 128
|
|
|
|
//CharString stackDecimalStr; // 64
|
|
|
|
// -----
|
|
|
|
// 192 total
|
|
|
|
};
|
|
|
|
|
2014-12-18 22:46:45 +00:00
|
|
|
/**
|
|
|
|
* 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;
|
2012-11-29 01:09:50 +00:00
|
|
|
|
2014-12-18 22:46:45 +00:00
|
|
|
U_NAMESPACE_END
|
2012-11-29 01:09:50 +00:00
|
|
|
|
2017-03-27 16:14:45 +00:00
|
|
|
#endif // #if !UCONFIG_NO_FORMATTING
|
2012-11-29 01:09:50 +00:00
|
|
|
#endif
|