X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/f3c0d7a59d99c2a94c6b8822291f0e42be3773c9..249c4c5ea9376c24572daf9c2effa7484a282f14:/icuSources/i18n/nfrs.h diff --git a/icuSources/i18n/nfrs.h b/icuSources/i18n/nfrs.h index 3705e6b5..9a3438a3 100644 --- a/icuSources/i18n/nfrs.h +++ b/icuSources/i18n/nfrs.h @@ -62,7 +62,7 @@ public: void format(int64_t number, UnicodeString& toAppendTo, int32_t pos, int32_t recursionCount, UErrorCode& status) const; void format(double number, UnicodeString& toAppendTo, int32_t pos, int32_t recursionCount, UErrorCode& status) const; - UBool parse(const UnicodeString& text, ParsePosition& pos, double upperBound, Formattable& result, UBool lenient=FALSE) const; + UBool parse(const UnicodeString& text, ParsePosition& pos, double upperBound, uint32_t nonNumericalExecutedRuleMask, Formattable& result, UBool lenient=FALSE) const; void appendRules(UnicodeString& result) const; // toString @@ -95,7 +95,9 @@ private: int64_t util64_fromDouble(double d); // raise radix to the power exponent, only non-negative exponents -int64_t util64_pow(int32_t radix, uint16_t exponent); +// Arithmetic is performed in unsigned space since overflow in +// signed space is undefined behavior. +uint64_t util64_pow(uint32_t radix, uint16_t exponent); // convert n to digit string in buffer, return length of string uint32_t util64_tou(int64_t n, UChar* buffer, uint32_t buflen, uint32_t radix = 10, UBool raw = FALSE); @@ -114,4 +116,3 @@ U_NAMESPACE_END // NFRS_H #endif -