16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/*
26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org********************************************************************************
36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*   Copyright (C) 2012, International Business Machines
46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*   Corporation and others.  All Rights Reserved.
56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org********************************************************************************/
66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef DCFMTIMP_H
86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define DCFMTIMP_H
96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "unicode/utypes.h"
116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#if UCONFIG_FORMAT_FASTPATHS_49
146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_NAMESPACE_BEGIN
166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenum EDecimalFormatFastpathStatus {
186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org  kFastpathNO = 0,
196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org  kFastpathYES = 1,
206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org  kFastpathUNKNOWN = 2 /* not yet set */
216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org};
226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Must be smaller than DecimalFormat::fReserved
256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct DecimalFormatInternal {
276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org  uint8_t    fFastFormatStatus;
286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org  uint8_t    fFastParseStatus;
296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifdef FMT_DEBUG
316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org  void dump() const {
326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    printf("DecimalFormatInternal: fFastFormatStatus=%c, fFastParseStatus=%c\n",
336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org           "NY?"[(int)fFastFormatStatus&3],
346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org           "NY?"[(int)fFastParseStatus&3]
356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org           );
366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org  }
376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org};
396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_NAMESPACE_END
436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
47