Commit Graph

5394 Commits

Author SHA1 Message Date
Jeff Genovy
600afe90c4 ICU-13749 Prevent double-free of mzMappings in ZoneMeta::createMetazoneMappings.
X-SVN-Rev: 41310
2018-05-02 20:40:07 +00:00
Jeff Genovy
275580806f ICU-13739 ICU4C does not report Out-of-Memory when iterating over the TZEnumeration.
X-SVN-Rev: 41309
2018-05-02 19:55:58 +00:00
Jeff Genovy
2d5e369e78 ICU-13725 Fix last remaining C4251 warnings/errors by bringing back the CurrencyPluralInfoWrapper.
X-SVN-Rev: 41308
2018-05-02 08:18:00 +00:00
Jeff Genovy
6a5349eaae ICU-13725 Fix more of the C4251 warnings.
X-SVN-Rev: 41307
2018-05-02 07:51:55 +00:00
Jeff Genovy
f5082ad3a7 ICU-13725 Fix many of the C4251 warnings by DLL-exporting explicit template instantiations.
X-SVN-Rev: 41306
2018-05-02 06:49:00 +00:00
Shane Carr
b840d51ed9 ICU-13716 Adding default return values after U_ASSERT(FALSE) to silence compiler warnings in non-debug builds.
X-SVN-Rev: 41305
2018-05-02 04:29:25 +00:00
Shane Carr
3d0bf4b9c7 ICU-13644 Replying to review feedback. Changing enum methods on NumberFormatter to take by value instead of const reference.
X-SVN-Rev: 41304
2018-05-02 03:49:35 +00:00
Shane Carr
215417117e ICU-13437 Adding error codes to NumberFormatter terminal methods.
X-SVN-Rev: 41296
2018-04-30 21:07:35 +00:00
Shane Carr
c9680037cc ICU-12572 Fixing signed overflow in decimalquantity.
X-SVN-Rev: 41293
2018-04-28 07:38:41 +00:00
Shane Carr
b20f7f3543 ICU-13725 Adding comments referencing ticket 13580.
X-SVN-Rev: 41291
2018-04-28 06:59:09 +00:00
Shane Carr
6545bac22d ICU-12931 Adding internal visibility ifdef around format(DecimalQuantity) methods in numfmt.h and decimfmt.h
X-SVN-Rev: 41285
2018-04-28 02:38:55 +00:00
Shane Carr
d5253cfcae ICU-13725 Responding to small code review comments.
X-SVN-Rev: 41283
2018-04-27 08:02:40 +00:00
Shane Carr
c13e7785c2 ICU-13725 Fixing NumberFormatter std::move test failure on MSVC.
X-SVN-Rev: 41282
2018-04-26 03:38:17 +00:00
Shane Carr
e77603e3c3 ICU-13725 Fixing various number test failures in MSVC.
X-SVN-Rev: 41281
2018-04-26 01:33:59 +00:00
Shane Carr
acbdeaf98e ICU-13725 Fixing field reference in compactdecimalformat.cpp, broken by previous commit.
X-SVN-Rev: 41280
2018-04-26 00:17:30 +00:00
Shane Carr
18bfb67a60 ICU-13725 Moving all DecimalFormat fields to an implementation class, eliminating many MSVC warnings.
X-SVN-Rev: 41279
2018-04-25 23:57:10 +00:00
Shane Carr
18ffd64c69 ICU-13725 Additional MSVC compatibility fixes.
X-SVN-Rev: 41278
2018-04-25 21:51:16 +00:00
Andy Heninger
9ba0aa2345 ICU-13634 Fix Macintosh build breakage.
X-SVN-Rev: 41277
2018-04-25 21:04:19 +00:00
Andy Heninger
72ae3d7d54 ICU-13634 Fix Macintosh build error - missing include.
X-SVN-Rev: 41276
2018-04-25 04:09:09 +00:00
Andy Heninger
5e2a40b4ce ICU-13634 Fix Macintosh build error - missing include.
X-SVN-Rev: 41275
2018-04-25 03:50:39 +00:00
Andy Heninger
09249d176b ICU-13634 Fix Macintosh build error - missing include.
X-SVN-Rev: 41274
2018-04-25 03:38:04 +00:00
Shane Carr
a256316990 ICU-13725 Additional MSVC compatibility fixes.
X-SVN-Rev: 41272
2018-04-25 00:39:22 +00:00
Shane Carr
a7bcbfc07c ICU-13725 Assorted minor changes to number formatting code for MSVC compatibility
X-SVN-Rev: 41271
2018-04-24 22:24:11 +00:00
Shane Carr
629238d3a1 ICU-13634 Fixing assorted build errors.
X-SVN-Rev: 41268
2018-04-24 01:25:05 +00:00
Shane Carr
faa2897561 ICU-13634 Changes from pre-merge code light-review.
X-SVN-Rev: 41267
2018-04-24 01:19:44 +00:00
Shane Carr
607a60bc3b ICU-13393 Removing the UPRV_INCOMPLETE_CPP11_SUPPORT flag since the number formatting code is no longer isolated from the rest of ICU.
X-SVN-Rev: 41266
2018-04-23 23:02:26 +00:00
Shane Carr
8fab60c93b ICU-13634 Syncing MSVC build files with Makefiles.
X-SVN-Rev: 41265
2018-04-23 22:48:52 +00:00
Shane Carr
b2be6b57a9 ICU-13597 Adding comments about thread safety to UNumberFormatter.h
X-SVN-Rev: 41264
2018-04-23 22:42:51 +00:00
Shane Carr
328730604b ICU-13634 Fixing grouping size fallback in fast path.
X-SVN-Rev: 41262
2018-04-23 21:16:24 +00:00
Shane Carr
f7dddad5c0 ICU-13634 Removing superfluous abstraction "CharSequence" and "UnicodeStringCharSequence" from ICU4C number code.
X-SVN-Rev: 41260
2018-04-21 09:08:53 +00:00
Shane Carr
be466ddec0 ICU-13634 Porting some minor ICU4C performance enhancements to Java.
X-SVN-Rev: 41259
2018-04-21 08:55:58 +00:00
Shane Carr
e59eb48314 ICU-13634 Refactoring getPrefixSuffix methods. In ICU4C, the pattern modifier is now accessed directly. In ICU4J, they use the same detour through the pipeline code path as before with a TODO to improve to be closer to ICU4C. In addition, in both ICU4C and ICU4J, getPrefixSuffix now uses the compiled formatter when available.
X-SVN-Rev: 41258
2018-04-21 08:01:19 +00:00
Shane Carr
f412770e9d ICU-13634 A few more DecimalFormat optimizations.
X-SVN-Rev: 41257
2018-04-21 06:00:56 +00:00
Shane Carr
2cd9b1196d ICU-13634 Merging trunk to branch
X-SVN-Rev: 41256
2018-04-21 02:30:42 +00:00
Shane Carr
5aa92f0bf6 ICU-13521 Re-generating constants in measunit.cpp once more from the latest data on trunk.
X-SVN-Rev: 41255
2018-04-21 02:30:13 +00:00
Shane Carr
912f97dace ICU-13634 Merging trunk to branch
X-SVN-Rev: 41254
2018-04-21 02:18:33 +00:00
Shane Carr
1897f0cd56 ICU-13521 Re-generating constants in measunit.cpp from the code generation tool.
X-SVN-Rev: 41253
2018-04-21 02:09:53 +00:00
Shane Carr
f0aadfe714 ICU-13634 Fixing lazy-compute call site and other minor changes.
X-SVN-Rev: 41252
2018-04-20 01:32:53 +00:00
Shane Carr
ad116997ae ICU-13634 Optimizing and adding a basic fastpath for small ints. Greatly increases the performance of DateFormat.
X-SVN-Rev: 41251
2018-04-19 09:29:39 +00:00
Shane Carr
d682d1dbb1 ICU-13700 Fixing typo in APIdoc.
X-SVN-Rev: 41250
2018-04-19 02:41:33 +00:00
Shane Carr
f164bc1498 ICU-13634 Adding TODO comment in CurrencyUnit constructor.
X-SVN-Rev: 41249
2018-04-19 01:16:47 +00:00
Shane Carr
f11ca0d363 ICU-13634 Fixing address sanitizer issue involving backwards-compatible UChar* behavior in CurrencyUnit constructor. The string passed to the constructor need not be NUL-terminated.
X-SVN-Rev: 41248
2018-04-19 01:13:17 +00:00
Shane Carr
2e41837217 ICU-13700 APIDoc tweaks for getMultiplierScale/setMultiplierScale.
X-SVN-Rev: 41247
2018-04-19 00:14:17 +00:00
Shane Carr
1aa5185a36 ICU-13700 Renaming new getter/setter to magnitudeScale.
X-SVN-Rev: 41246
2018-04-18 23:55:55 +00:00
Shane Carr
55080e2804 ICU-13634 Fixing some clang sanitizer issues, including one potentially serious one deep inside DecimalQuantity.
X-SVN-Rev: 41245
2018-04-18 10:52:36 +00:00
Shane Carr
efa58f5d80 ICU-13597 Revising UNumberFormatter according to feedback: (1) adds LocalPointer; (2) makes buffer export behavior consistent; (3) removes const from unumf_closeResult; and (4) improves API docs.
X-SVN-Rev: 41244
2018-04-18 09:42:05 +00:00
Shane Carr
f97d1f09ab ICU-13634 Fixing cintltst sementation fault: reset UInitOnce mechanisms in number code after u_cleanup.
X-SVN-Rev: 41242
2018-04-18 09:03:42 +00:00
Shane Carr
49876dffda ICU-13634 Assorted minor fixes. cnumtst is passing.
X-SVN-Rev: 41240
2018-04-18 06:03:29 +00:00
Shane Carr
3c9b343282 ICU-13634 Adding "formatFailIfMoreThanMaxDigits" property to C++ NumberFormatter. Changing getSecondaryGroupingSize() for backwards compatibility. Other assorted test changes.
X-SVN-Rev: 41239
2018-04-18 03:59:39 +00:00
Shane Carr
b4573e4661 ICU-13634 Minor test expectation updates and status variable fixes. intltest format should be mostly working now.
X-SVN-Rev: 41238
2018-04-17 10:58:41 +00:00
Shane Carr
597e3287fc ICU-13135 Fixing and optimizing PluralFormat call site into NumberFormat in order to execute the formatting pipeline only once.
X-SVN-Rev: 41237
2018-04-17 10:18:42 +00:00
Shane Carr
12b34e7c9e ICU-13634 A variety of mostly minor changes to fix assorted unit test failures in ICU4C plus a few in ICU4J.
X-SVN-Rev: 41236
2018-04-17 08:05:20 +00:00
Shane Carr
d6c6fa0404 ICU-13634 DecimalQuantity work: Fixing integer overflow behavior in toLong and toFractionLong methods. Adding test for maxInt/maxFrac behavior in toScientificString and related methods. Updating a few test expectations in IntlTestDecimalFormatAPI::TestFixedDecimal, which is now passing.
X-SVN-Rev: 41235
2018-04-17 01:36:18 +00:00
Shane Carr
02c492db8a ICU-13700 Adding DecimalFormat "scale" getter/setter and implementation in the new number formatting pipeline.
X-SVN-Rev: 41232
2018-04-14 09:49:12 +00:00
Shane Carr
ce846b6b34 ICU-13678 Renaming Multiplier to Scale.
X-SVN-Rev: 41231
2018-04-14 09:45:39 +00:00
Shane Carr
e0df2775ea ICU-13634 Centralizing data loading for pattern strings.
X-SVN-Rev: 41230
2018-04-14 08:10:45 +00:00
Shane Carr
cbae6dfbaa ICU-13634 Adding groupingUsed as an explicit property in the property bag; see also ICU-13442 .
X-SVN-Rev: 41229
2018-04-14 07:15:19 +00:00
Shane Carr
cd3b2c7d41 ICU-13634 Updating Java test expectations with new behavior for fallback currency display. Other minor ICU4J test updates. All ICU4J tests are passing.
X-SVN-Rev: 41228
2018-04-14 06:17:39 +00:00
Shane Carr
79f4944ecd ICU-13634 Refactoring new percentage parsing code.
X-SVN-Rev: 41227
2018-04-14 05:54:53 +00:00
Shane Carr
354afa4e79 ICU-13697 Adding data-loading logic for parseLenients sets in CLDR. Ties the sets in with number and currency parsing in ICU4C and ICU4J.
X-SVN-Rev: 41223
2018-04-12 10:59:37 +00:00
Shane Carr
af0f8e62e4 ICU-13634 In accordance with ICU-TC meeting, changing percent parsing behavior to be closer to that of ICU 60.
X-SVN-Rev: 41222
2018-04-12 06:49:24 +00:00
Shane Carr
6c1714870f ICU-13634 Updating test expectations for strict currency position in strict mode. Other minor changes. All but one test is now passing in numfmtst.cpp.
X-SVN-Rev: 41220
2018-04-12 05:15:19 +00:00
Shane Carr
5f57f04466 ICU-13634 Updating test expectations for the default currency long name.
X-SVN-Rev: 41218
2018-04-12 04:04:23 +00:00
Shane Carr
a9e8f6d135 ICU-13634 Fixing affix overrides when using CurrencyPluralInfo.
X-SVN-Rev: 41217
2018-04-11 23:14:06 +00:00
Shane Carr
2c6bf0d77e ICU-13634 Refactoring affix-getting code to avoid the need to save the micro-props. Other assorted minor changes.
X-SVN-Rev: 41216
2018-04-11 11:10:52 +00:00
Shane Carr
cd92fa2c88 ICU-13634 Changing DecimalQuantity#toNumberString() to be DecimalQuantity#toScientificString() with slightly friendlier output syntax for better compatibility. More currency tweaks.
X-SVN-Rev: 41215
2018-04-11 05:52:58 +00:00
Shane Carr
a901b5c04a ICU-13634 Fixing more assorted currency parsing issues.
X-SVN-Rev: 41214
2018-04-11 02:18:13 +00:00
Shane Carr
b9925e084e ICU-13634 Fixing various issues in order to make currencies round-trip in strict mode.
X-SVN-Rev: 41212
2018-04-07 11:10:08 +00:00
Shane Carr
06485f3b6b ICU-13634 Fixing CurrencyPluralInfo support in formatting, allowing for currency long names to be formatted.
X-SVN-Rev: 41211
2018-04-07 08:49:11 +00:00
Jeff Genovy
764c02430e ICU-13672 Fix Windows build break on UWP.
X-SVN-Rev: 41208
2018-04-06 21:59:27 +00:00
Markus Scherer
813b76c636 ICU-13630 Unicode 11 beta (data from apr03); merged from branches/markus/uni11
X-SVN-Rev: 41206
2018-04-06 18:42:58 +00:00
Shane Carr
73f93a457a ICU-13634 Fixing DecimalQuantity call sites, first written in r41063, r41064, and r41098. RNBF test is passing again.
X-SVN-Rev: 41204
2018-04-06 09:35:16 +00:00
Shane Carr
96bf6508ef ICU-13672 Replacing % and / with std::div in toNumberString function.
X-SVN-Rev: 41200
2018-04-05 22:00:10 +00:00
Shane Carr
fe0725cd2a ICU-13678 Changing Multiplier to use decNumber instead of double, in order to fix some unit tests. Refactored call sites to use a common DecNum wrapper class with constructors for string, double, and BCD.
X-SVN-Rev: 41198
2018-04-05 21:54:04 +00:00
Shane Carr
a2a7982216 ICU-13678 Adding multiplier to skeleton string syntax.
X-SVN-Rev: 41193
2018-04-04 01:26:18 +00:00
Shane Carr
8ea876aadb ICU-13678 Cleaning up multiplier implementation and adding public API.
X-SVN-Rev: 41188
2018-04-03 04:38:16 +00:00
Shane Carr
921355c6f0 ICU-13634 Refactoring the two separate currency matchers into a single unified CombinedCurrencyMatcher. Allows for easy implementation of currency spacing (included in this changeset) and possibly other currency-related parsing features in the future.
X-SVN-Rev: 41181
2018-03-31 05:18:51 +00:00
Shane Carr
7f9de6f1db ICU-13634 Fixing resolution of negative and percent signs in parsing; adding custom sign support to ScientificMatcher; and other minor fixes.
X-SVN-Rev: 41180
2018-03-31 03:10:44 +00:00
Shane Carr
db9c74b3f4 ICU-13634 More assorted number formatting/parsing fixes.
X-SVN-Rev: 41179
2018-03-30 10:37:24 +00:00
Shane Carr
8d8f846755 ICU-13634 Fixing significant digit display on zero when minInt is zero.
X-SVN-Rev: 41178
2018-03-30 08:21:06 +00:00
Shane Carr
02669ad1bc ICU-13634 Fixes for NumberFormatTest/TestExponential.
X-SVN-Rev: 41177
2018-03-30 07:22:24 +00:00
Shane Carr
af4435133a ICU-13634 Merging trunk to branch
X-SVN-Rev: 41176
2018-03-30 07:17:11 +00:00
Shane Carr
888f884f3c ICU-13672 Enabling double_conversion StringToDoubleConverter and using it in DecimalQuantity's toDouble() function.
X-SVN-Rev: 41175
2018-03-30 07:12:25 +00:00
Shane Carr
e5bda1eb0e ICU-13634 Various fixes to fix remaining compatibility issues in data-driven test. Includes fix for a memory sanitizer issue.
X-SVN-Rev: 41174
2018-03-30 04:28:53 +00:00
Shane Carr
a5096d3075 ICU-8610 Small fixes to API docs for C++ number skeletons.
X-SVN-Rev: 41169
2018-03-29 00:47:26 +00:00
Shane Carr
2ede84ce47 ICU-13597 Fixing safety of toUnicodeString() readonly aliases by moving that behavior to a new method, toTempUnicodeString().
X-SVN-Rev: 41164
2018-03-28 03:42:12 +00:00
Shane Carr
1b4670fd29 ICU-13634 Merging trunk to branch
X-SVN-Rev: 41162
2018-03-28 01:08:47 +00:00
Shane Carr
aa88b7a590 ICU-13597 Reverting formatting changes to unicode/numberformatter.h introduced by r41156
X-SVN-Rev: 41161
2018-03-28 00:39:28 +00:00
Shane Carr
7d4b54dfc3 ICU-13597 Small API tweaks.
X-SVN-Rev: 41160
2018-03-27 06:07:17 +00:00
Shane Carr
395463d7a7 ICU-13597 Adding support for field positions to the NumberFormatter C API.
X-SVN-Rev: 41159
2018-03-27 05:36:04 +00:00
Shane Carr
46c4709a94 ICU-13597 Bug fix: fraction digits were being marked as the INTEGER field in ICU4C.
X-SVN-Rev: 41158
2018-03-27 05:34:22 +00:00
Shane Carr
3a55650b8c ICU-13597 Adding initial C API for NumberFormatter. Not yet fully featured.
X-SVN-Rev: 41156
2018-03-27 01:58:26 +00:00
Shane Carr
3574a63853 ICU-8610 API test is passing with the skeletons in C++. :)
X-SVN-Rev: 41154
2018-03-24 08:06:34 +00:00
Shane Carr
a8f2471248 ICU-8610 Adding tests for number skeletons in C++. Adding error code handling to the setToDecNumber setter on DecimalQuantity. Refactoring char-to-uchar conversion in skeleton implementation code.
X-SVN-Rev: 41152
2018-03-24 05:46:28 +00:00
Shane Carr
7da9e75441 ICU-8610 C++ number skeleton code is building. Testing is next.
X-SVN-Rev: 41144
2018-03-23 10:07:38 +00:00
Shane Carr
52c665a2bd ICU-8610 More general progress in C++; generation code is largely implemented. Probably not building yet.
X-SVN-Rev: 41143
2018-03-23 07:51:52 +00:00
Shane Carr
d8f2d8ce6e ICU-8610 Dirty commit of C++ work so far. Probably does not build.
X-SVN-Rev: 41142
2018-03-23 06:46:19 +00:00
Shane Carr
23d76d8863 ICU-13634 Adding integer overflow logic to ICU4C number pipeline in places where it is in ICU4J.
X-SVN-Rev: 41136
2018-03-23 00:56:16 +00:00
Shane Carr
e3180662e2 ICU-13634 Parsing wrapper is working; data-driven file is updated and passing. The C++ and Java implementations have almost identical behavior according to the data-driven test file, with the only differences seeming to involve overflow and extremely large numbers.
X-SVN-Rev: 41134
2018-03-21 09:48:55 +00:00
Shane Carr
0b6e991bb0 ICU-13634 C and J, removing the obsolete "optimize" parameter for NumberParserImpl.
X-SVN-Rev: 41132
2018-03-21 06:33:37 +00:00