1103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/*
2103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius********************************************************************************
3103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius*   Copyright (C) 2012, International Business Machines
4103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius*   Corporation and others.  All Rights Reserved.
5103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius********************************************************************************/
6103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
7103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifndef DCFMTIMP_H
8103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#define DCFMTIMP_H
9103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
10103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#include "unicode/utypes.h"
11103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
12103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
13103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#if UCONFIG_FORMAT_FASTPATHS_49
14103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
15103e9ffba2cba345d0078eb8b8db33249f81840aCraig CorneliusU_NAMESPACE_BEGIN
16103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
17103e9ffba2cba345d0078eb8b8db33249f81840aCraig Corneliusenum EDecimalFormatFastpathStatus {
18103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius  kFastpathNO = 0,
19103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius  kFastpathYES = 1,
20103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius  kFastpathUNKNOWN = 2 /* not yet set */
21103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius};
22103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
23103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
24103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Must be smaller than DecimalFormat::fReserved
25103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
26103e9ffba2cba345d0078eb8b8db33249f81840aCraig Corneliusstruct DecimalFormatInternal {
2754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius  uint8_t    fFastFormatStatus;
2854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius  uint8_t    fFastParseStatus;
29103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
30103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifdef FMT_DEBUG
31103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius  void dump() const {
3254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    printf("DecimalFormatInternal: fFastFormatStatus=%c, fFastParseStatus=%c\n",
3354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius           "NY?"[(int)fFastFormatStatus&3],
3454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius           "NY?"[(int)fFastParseStatus&3]
3554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius           );
36103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius  }
37103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
38103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius};
39103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
40103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
41103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
42103e9ffba2cba345d0078eb8b8db33249f81840aCraig CorneliusU_NAMESPACE_END
43103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
44103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
45103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
46103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
47