Commit Graph

40 Commits

Author SHA1 Message Date
George Rhoten
e3e7183663 ICU-11818 Implement PluralRules in fractional RBNF
X-SVN-Rev: 37823
2015-08-26 10:42:17 +00:00
George Rhoten
e097e1b9ee ICU-8223 Add rule syntax for NaN, infinity and alternate decimal points.
Other issues addressed:
* Some performance enhancements were added for good measure. Creating new RuleBasedNumberFormat objects can take a long time due to all the rule parsing. This was ported from ICU4J.
* I fixed a potential infinite recursion problem when RuleBasedNumberFormat used NumberFormat.createInstance, which could occasionally depend on creating RuleBasedNumberFormat for itself, which was bad. This was ported from ICU4J.
* I fixed a potential memory leak due to lazy initialization of some RBNF data members in a multithreaded environment, which is fine in Java, but it's not okay in C++. We no longer cast away const due to this, which is good.
* There were some compiler warnings and errors found while trying to debug this code on my machine. I fixed those too.

X-SVN-Rev: 37810
2015-08-25 16:55:52 +00:00
George Rhoten
e7b812f712 ICU-11564 Improve the thread safety of RBNF.
The recursion count is now a method argument instead of a data member.
Setting the DecimalFormatSymbols no longer reparses the rules, but it just sets a new version of DecimalFormatSymbols instead.

X-SVN-Rev: 37387
2015-04-23 16:13:46 +00:00
George Rhoten
e79ae82c7d ICU-11064 The approved ICU syntax has )$ being the end of the plural rule substitution.
X-SVN-Rev: 36208
2014-08-20 18:52:57 +00:00
George Rhoten
912521e5cf ICU-11064 Fix a roundtripping problem when the fractional part is non-zero.
X-SVN-Rev: 36203
2014-08-19 17:13:07 +00:00
George Rhoten
eda8266715 ICU-11064 Add syntax for PluralFormat in RBNF
X-SVN-Rev: 36197
2014-08-18 20:47:36 +00:00
Markus Scherer
e977c057a9 ICU-9101 merge branches/markus/collv2@35225 into the trunk
X-SVN-Rev: 35227
2014-02-25 21:21:49 +00:00
Markus Scherer
2201fb816c ICU-7877 optionally explicit UnicodeString constructors, and make them explicit inside ICU
X-SVN-Rev: 30293
2011-07-07 18:46:19 +00:00
Markus Scherer
9774441e40 ICU-8491 remove uprv_isRuleWhiteSpace(c)
X-SVN-Rev: 29900
2011-04-26 06:39:29 +00:00
Michael Ow
fdf0256d94 ICU-6132 Add null pointer check in prefixLength and allIgnorable.
X-SVN-Rev: 23273
2008-01-20 01:39:16 +00:00
Michael Ow
fa02813466 ICU-6132 Revert changes to nfrule causing test failures on ICC.
X-SVN-Rev: 23218
2008-01-13 19:10:05 +00:00
Michael Ow
0df22a86c7 ICU-6132 Add status parameter to prefixLength and to check for memory allocation failure and check memory allocation failure in other pparts of nfrule.
X-SVN-Rev: 23214
2008-01-11 23:20:03 +00:00
George Rhoten
5dee33ea3e ICU-4707 Fix some compiler warnings about unused variables.
X-SVN-Rev: 19118
2006-02-09 08:59:20 +00:00
Doug Felt
ce736f9da4 ICU-4630 port missing ICU4J changes for Hebrew to ICU4C
X-SVN-Rev: 18171
2005-07-08 00:16:47 +00:00
George Rhoten
dc0129ceea ICU-4330 HP-UX has a C++ name mangling bug when the namespace version
changed from 3.3 to 3.4. This runtime linker can work with this change.

X-SVN-Rev: 17888
2005-06-14 17:14:30 +00:00
George Rhoten
e69fca9d5f ICU-4078 Fix for AIX with Visual Age 5 compiler, and make sure that the
disentanglement is correct by putting all the UnicodeSet virtual functions are
in one file. Also move some of the rule whitespace handling into better
locations.

X-SVN-Rev: 16519
2004-10-15 22:56:26 +00:00
Eric Mader
abefef5844 ICU-3770 Updated copyright notices for ICU 3.0
X-SVN-Rev: 15411
2004-05-19 20:42:44 +00:00
Doug Felt
46f8a7fa55 ICU-2509 improve rbnf error handling
X-SVN-Rev: 14919
2004-04-09 19:58:58 +00:00
Doug Felt
c37337d00c ICU-1722 rbnf can't handle small numbers
X-SVN-Rev: 14738
2004-03-24 00:40:49 +00:00
Eric Mader
a7def2c37f ICU-3473 Update copyright notices for ICU 2.8.
X-SVN-Rev: 14193
2003-12-19 21:29:27 +00:00
Vladimir Weinstein
7b3687a7e8 ICU-2974 don't use new char[x] inside library, but uprv_malloc
X-SVN-Rev: 12384
2003-06-09 21:22:08 +00:00
Markus Scherer
39711260d3 ICU-2244 change internal classes to inherit UMemory, not UObject
X-SVN-Rev: 9965
2002-10-04 17:46:52 +00:00
Markus Scherer
3d38617bdc ICU-2248 modularize icu, allow parts to not be built
X-SVN-Rev: 9900
2002-09-20 01:54:48 +00:00
Doug Felt
f0566b427e ICU-1997 uprv_isRuleWhiteSpace
X-SVN-Rev: 9527
2002-08-01 22:43:21 +00:00
GCL Shanghai
2fab4a8cb7 ICU-1953 backout buffer overflow changes
X-SVN-Rev: 9070
2002-07-09 12:47:45 +00:00
GCL Shanghai
6348e12895 ICU-1953 test for buffer overflows
X-SVN-Rev: 9044
2002-07-06 10:58:51 +00:00
GCL Shanghai
b89c229c6e ICU-1953 change comments style and check 0/NULL
X-SVN-Rev: 8993
2002-07-02 15:10:30 +00:00
GCL Shanghai
1e188eca35 ICU-1953 Test for NULL after each uprv_malloc() or new
X-SVN-Rev: 8980
2002-06-29 09:31:05 +00:00
Markus Scherer
11948b52df ICU-1962 change UObject: RTTI pure virtual, remove other boilerplate for now
X-SVN-Rev: 8977
2002-06-29 00:04:16 +00:00
Doug Felt
f3acab9495 ICU-1766 Make RBNF in ICU4C use 64-bit ints
(still need to remove llong.h, llong.cpp and commented-out code)

X-SVN-Rev: 8008
2002-03-14 00:28:22 +00:00
George Rhoten
41ffc2ef36 ICU-1733 Integrate some of the easier (and non-redundent) changes from Lotus.
X-SVN-Rev: 7802
2002-02-28 01:42:40 +00:00
George Rhoten
859edb1416 ICU-1567 This should fix some of the AIX 4.3/Visual Age 5 preprocessor problems
X-SVN-Rev: 7187
2001-11-30 00:06:13 +00:00
Doug Felt
3ce10fb69c ICU-104 added test for llong, removed #ifdef used to bump code coverage
X-SVN-Rev: 7184
2001-11-29 23:47:52 +00:00
George Rhoten
3901e4ff74 ICU-1028 Fixed ASCII vs EBCDIC problem.
X-SVN-Rev: 6476
2001-10-29 17:26:01 +00:00
Doug Felt
cd6ed9ad09 ICU-1295 fix lenient parse error for " fifty-7"
X-SVN-Rev: 6410
2001-10-24 00:47:46 +00:00
George Rhoten
e15e833b00 ICU-392 cleaning code for proper exports in libraries/urename.h generation
X-SVN-Rev: 6384
2001-10-23 00:38:12 +00:00
George Rhoten
eb10c7d510 ICU-900 Fixed some compiler warnings
X-SVN-Rev: 6211
2001-10-12 17:47:17 +00:00
George Rhoten
1aa7e6714d ICU-1271 Be more friendly to non-IEEE754 platforms and use the putil.h functions.
X-SVN-Rev: 6198
2001-10-11 21:41:11 +00:00
George Rhoten
8b98d84982 ICU-1271 Remove static initialization, remove tabs, add copyright header, conform closer to ICU coding guidelines...
X-SVN-Rev: 6184
2001-10-11 16:56:24 +00:00
Doug Felt
7258dac736 ICU-1271 Port RuleBasedNumberFormat to ICU
X-SVN-Rev: 6172
2001-10-10 21:43:11 +00:00