number_types = integer_types + (float,)
+
+
+#
+# Use cdecimal when available
+#
+from decimal import (Decimal as _dec,
+ InvalidOperation as _invop,
+ ROUND_HALF_EVEN as _RHE)
+try:
+ from cdecimal import (Decimal as _cdec,
+ InvalidOperation as _cinvop,
+ ROUND_HALF_EVEN as _CRHE)
+ Decimal = _cdec
+ InvalidOperation = (_invop, _cinvop)
+ ROUND_HALF_EVEN = _CRHE
+except ImportError:
+ Decimal = _dec
+ InvalidOperation = _invop
+ ROUND_HALF_EVEN = _RHE
# - http://www.unicode.org/reports/tr35/ (Appendix G.6)
import re
from datetime import date as date_, datetime as datetime_
-from decimal import Decimal, InvalidOperation, ROUND_HALF_EVEN
from babel.core import default_locale, Locale, get_global
-from babel._compat import range_type
+from babel._compat import range_type, Decimal, InvalidOperation, ROUND_HALF_EVEN
LC_NUMERIC = default_locale('LC_NUMERIC')