Commit Graph

22115 Commits

Author SHA1 Message Date
Markus Scherer
fba8cecffa ICU-21236 better document UniqueCharStrings 2020-09-23 16:06:37 -07:00
Jeff Genovy
6a78e67995 ICU-21249 BRS68RC: Fix ICU4C Samples.
- Changes for TRUE/FALSE macros.
- Samples: Add casts
- Samples: Clean up ufortune and ugrep vcxproj files.
- Set codepage to UTF-8 in samplecheck.bat
2020-09-23 14:52:07 -07:00
Hugo van der Merwe
81d43a2092 ICU-20568 Fix "1 foot 12 inches" behaviour
See #1337
2020-09-23 08:10:22 +02:00
Peter Edberg
3d8ae5eb6d ICU-20590 Ensure time format consistency for SHORT vs j patterns if no locale data 2020-09-22 22:50:36 -07:00
Shane F. Carr
6b3a7a64ab ICU-21190 Adding PluralRules select for number ranges
See #1309
2020-09-22 15:49:30 -05:00
Frank Tang
12dc3772b1 ICU-21236 Correct Locale canonicalization
See #1254
2020-09-21 19:35:13 -07:00
Shane Carr
3112d9ebb9 ICU-21191 Fixing testtagsguards.sh 2020-09-21 09:38:53 -07:00
Markus Scherer
8dc85529e1 ICU-21249 add hide-draft guards for some @draft ICU 68 API 2020-09-20 21:04:41 -05:00
Hugo van der Merwe
e3bb5e5f07 ICU-20568 Add .unit().usage() support to ICU4J NumberFormatter (2/2)
* Throw UnsupportedOperationException for "unsanctioned units"
* Deal with the parent issue for LongNameMultiplexer
* Fix NullPointerException: UnitConversionHandler.processQuantity must
  call fParent.processQuantity
* toSkeleton not supported for not-built-in units
* Add and use interface
  LongNameMultiplexer.ParentlessMicroPropsGenerator
* Match up C++ and Java unit tests in NumberFormatterApiTest.java
* Permit user-override of precision() for usage(), closes icu-units#95
* Use BogusRounder to propagate mathContext.
* Port C++ change from PR #1322, commit c84ded050a, to Java.
* Test the usage-without-unit error. Document it in
  NumberFormatterSettings.java
* General review and corrections.
2020-09-19 01:31:08 +02:00
gnrunge
5e0cec2c2b ICU-21248 Adds source file check (UTF-8 and absence of BOM) to
Travis Continued Integration.

ICU-21248 Factors in review comments.

ICU-21248 Changes: no more filtering of markdown files, moved the
script to icu/tools/script/ directory, removed BOM from one
README.md file.

ICU-21248 Adjusts path to the icu-file-utf8-check script.

ICU-21248 Extends coverage of UTF-8/BOM check to all of icu/ directory.
2020-09-18 13:17:50 -07:00
gnrunge
10face8140 ICU-21249 Adds !UCONFIG_NO_BREAK_ITERATION around selected test data items.
The corresponding code that implements the feature under test is likewise
enclosed.
2020-09-17 13:22:05 -07:00
Hugo van der Merwe
c84ded050a ICU-20568 Have macrosToMicroGenerator do input unit calculation.
This moves input unit calculation out of UnitConversionHandler making
it simpler and clearer, and localises the "MacroProps interpretation"
work in macrosToMicroGenerator, where it belongs.
2020-09-17 12:11:26 +02:00
Roman Savchenko
5a42118a6f ICU-21280 Correct source bytes counting in UTF8->UTF8 conversion 2020-09-16 17:50:21 -07:00
Hugo van der Merwe
5ed09dc9b8 ICU-20568 Improve MacroProps error handling.
In particular: actually handle Usage memory allocation errors.
Also: correct Scale's error condition.
2020-09-17 01:13:45 +02:00
Peter Edberg
7888b23e87 ICU-21249 integrate CLDR release-38-alpha2 to ICU trunk 2020-09-16 15:10:05 -07:00
gnrunge
3a55ce096a ICU-21249 Adds #if !UCONFIG_NO_FORMATTING around all code in number_symbolswrapper.cpp.
If UCONFIG_NO_FORMATTING is set to 1 in uconfig.h nothing in
number_symbolswrapper.cpp compiles. Note, for example, that the entirety
of the included numberformatter.h header file is inclosed in
!UCONFIG_NO_FORMATTING.

ICU-21249 Properly arrange #if !UCONFIG_NO_FORMATTING.
2020-09-16 09:19:03 -07:00
gnrunge
215ca37e4b ICU-21249 Adds #if !UCONFIG_NO_BREAK_ITERATOR to prevent compilation
error (toTitle() not found) when this configuration flag is set.
2020-09-16 09:18:40 -07:00
Hugo van der Merwe
4bcefe1c4b ICU-20568 Cleanup: drop declaration for no longer existing factory. 2020-09-16 12:40:20 +02:00
Shane F. Carr
5a35a31e9a ICU-21021 Changing MeasureUnit::splitToSingleUnits to return std::pair 2020-09-15 20:53:51 -05:00
Shane F. Carr
b41f12065f ICU-21249 Fix TODOs to reference ICU-21284 instead of ICU-20920 2020-09-15 12:27:44 -05:00
Shane F. Carr
74b7882a86 ICU-21249 Remove obsolete TODO for ICU-13591 2020-09-15 12:27:44 -05:00
Shane F. Carr
7111def494 ICU-21249 Fix logKnownIssue for ICU-13574 2020-09-15 12:27:44 -05:00
gnrunge
7bdc26e2a1 ICU-21248 Adds internal header check to Travis Continued Integration.
See #1325
2020-09-15 09:33:08 -07:00
Shane F. Carr
6198151510 ICU-20775 Complete set of toDecimalNumber functions in ICU4C
See #1310
2020-09-14 21:02:59 -05:00
Hugo van der Merwe
a667b279d4 ICU-20568 Correct the numberformatter.h docs for usage() 2020-09-14 20:18:25 +02:00
Jeff Genovy
dd372dc104 ICU-21196 Clarify API docs that input strings must out-live the object in ucoleiter.h and usearch.h 2020-09-14 11:14:12 -07:00
Peter Edberg
74c66351d8 ICU-20651 add setContext/getContext for [U]DateIntervalFormat 2020-09-11 20:12:44 -07:00
gnrunge
1baf0ea9b9 ICU-21249 Fix common/uniquecharstr.h to pass the internal header check: include uassert.h needed. 2020-09-10 15:09:09 -07:00
Markus Scherer
a18df7ba28 ICU-21267 stop using FALSE & TRUE macros in most library-internal headers 2020-09-10 13:55:46 -07:00
Hugo van der Merwe
e3123c83a4 ICU-20568 Support smart units / unit contexts / preferences
Explore Usage-related error codes, address icu-units/icu#36.
PR: https://github.com/icu-units/icu/pull/56
Commit: d5d7fdccfef887bb1af180bba3e2a0286dc32135

Implement Precision handling in UsagePrefsHandler::processQuantity
PR: https://github.com/icu-units/icu/pull/61
Commit: 16547f32986600a46e4adf20a6870c1708dd1c75

Support Mixed Units in NumberFormatter when using usage()
PR: https://github.com/icu-units/icu/pull/52
Commit: cc5a12202133855e15ffba889acffc10aad2d46b

For MixedUnits, use the correct ListFormatter styles.
PR: https://github.com/icu-units/icu/pull/66
Commit: 77bb747002d36626386f18e45c68c44b276cf575

Read the CLDR testData test files from the new location.
PR: https://github.com/icu-units/icu/pull/68
Commit: 6eb992e2b3c0bbe4870b554a5aa855b3636566d4

Fix double-precision maths in unit conversions
PR: https://github.com/icu-units/icu/pull/71
Commit: 78e88fbddef0f6817654d58c9c5dfeb6606324b9

Support .unit(MIXED_UNIT) without .usage(...).
PR: https://github.com/icu-units/icu/pull/72
Commit: 56ac7959375b8c9363ff022185165e52490c6c00

More commits:
- Reorder numbertest_api.cpp tests for consistent order.
- NumberFormatterApiTest: fold unitPipeline() into unitCompoundMeasure()
- Add some 'template class' instantiations for MSVC.
- Make trimField handle all whitespace, improve test messages
- Drop templated 'appendAll': it requires copy constructor
- Add protected MaybeStackArray::copyFrom()
- Add TODO(icu-units#67) and commented-out test case: use kUndefinedField for now
- Provide correct output order for units like "inch-and-foot"
- MSVC: export MaybeStackVector<MeasureUnit>
- Code review feedback: dependencies.txt and doc comments
- Consistent naming for code files: units_*
2020-09-10 22:39:18 +02:00
younies
1b853904cd ICU-20568 Use Impl libraries, add precision UnitsRouter#route output
Add precision to the output of UnitsRouter#route
PR: https://github.com/icu-units/icu/pull/10
Commit: 030bda3ec86a02b190a83798a7c9be530a335067

Use `Impl` libraries for all internal libraries
PR: https://github.com/icu-units/icu/pull/15
Commit: cc786cfb3bee3c72e78a928da8b9a6fd58f31b04

Sort the units in ComplexUnitConverter
PR: https://github.com/icu-units/icu/pull/6
Commit: f65b181c4447bb4eb9eef5dc20ea1b296d053ffa
2020-09-10 22:39:18 +02:00
Hugo van der Merwe
7ed2a2d233 ICU-20568 Implement Usage "Glue Code" and skeleton support. Tests.
CLDR-13488: Samples of intermediate source/data/misc/units.txt
PR: https://github.com/icu-units/icu/pull/5
Commit: 08132e7a3388e055590e5ba60ba37c9b5a87b900

Unit test improvements (the rest of PR already upstreamed).
PR: https://github.com/sffc/icu/pull/40
Commit: e92a2fcffbbcb92868954f28e3366568e6b3cc7c

Use namespace ::icu::units::impl for units-related code.
PR: https://github.com/icu-units/icu/pull/16
Commit: 57b35a8a93e751aa73a190e63da494d24fd67bef

Export addSingleFactorConstant in header file
PR: https://github.com/icu-units/icu/pull/17
Commit: f357b5558ebc2f0aab53886492beae7f17d9c3cc

Fix MeasureUnit identifiers to be spec-compliant.
PR: https://github.com/icu-units/icu/pull/18
Commit: 69c087154b871b53fdba978bfa1b1ba4c4e71594

Cleanup: IWYU headers (with some exceptions), SigNum -> Signum
PR: https://github.com/icu-units/icu/pull/19
Commit: 1c29a6bcc74c113a7d51b008a93cd7986437c841

Test that addSingleFactorConstant knowns all unitConstants.
PR: https://github.com/icu-units/icu/pull/20
Commit: 6c0c3bb64080354ea109d1356b98ac7a3a97f443

Add Unit Usage support to Number Skeletons.
PR: https://github.com/icu-units/icu/pull/33
Commit: 3cf23222ca8c7fa394e3ed37ec8333f5e86c6807

Fix some compiler warnings
PR: https://github.com/icu-units/icu/pull/43
Commit: be11edb0bd70a6857ea24e7427725b803263481d
2020-09-10 22:39:18 +02:00
younies
72056d4df2 ICU-20568 UnitsRouter, ComplexUnitConverter, numberformatter.h
add usage to number formatter settings header
PR: https://github.com/sffc/icu/pull/23
Commit: 6d78a95d6dbe0ef946624e7253f57d414168c77a

Implementation of UnitsRouter and ComplexUnitConverter.
PR: https://github.com/sffc/icu/pull/30
Commit: 1ae7190d1950377d5fdab822bb65eb67a8891104
2020-09-10 22:39:18 +02:00
Hugo van der Merwe
65bbf92f78 ICU-20568 getPreferencesFor() and getUnitCategory()
UnitPreferences class in unitsdata.cpp
PR: https://github.com/sffc/icu/pull/42
Commit: 24494d985e1eeb60e5daa450e26f7f0c3437a246

Add getUnitCategory()
PR: https://github.com/sffc/icu/pull/43
Commit: d406b915c4985e541b0d4cd8c324bcfdb0b7f194

Support usage component dropping, and more
PR: https://github.com/sffc/icu/pull/45
Commit: 6b14d7f1a0fa16fc6f80ca4fc87f17a8c687cb28

Add six more unit tests for getPreferencesFor.
PR: https://github.com/sffc/icu/pull/46
Commit: 5e4f8d4fe490ab82682ba233e0e6d38e8bf570a0

Change getPreferencesFor parameters from char* to StringPiece.
PR: https://github.com/sffc/icu/pull/47
Commit: a7ca496f9e60ad22dc9526259873b6f2bf52dd86
2020-09-10 22:39:18 +02:00
younies
cdb028edf5 ICU-20568 Add unit converter.
Add unit converter.
PR: https://github.com/sffc/icu/pull/21
Commit: 9bcc4b698ff4b2afbf321188bceff809a27342f2

add comment about ratesInfo param in UnitConverter
PR: https://github.com/icu-units/icu/pull/55
Commit: cbed63622771dfc3b3e3c44346f1e530f1b86b65
2020-09-10 22:39:18 +02:00
Hugo van der Merwe
4d07e3b10f ICU-20568 testConversions: test convertibility of unitsTest.txt test cases.
PR: https://github.com/sffc/icu/pull/39
Commit: 3202693e542e300e235096557777d4892548d676
2020-09-10 22:39:18 +02:00
younies
c49cb73509 ICU-20568 Check convertible units
PR: https://github.com/sffc/icu/pull/32
Commit: 3bf35258f42f8aca893f6ebfb9a019c2e1ee5563
2020-09-10 22:39:18 +02:00
Hugo van der Merwe
cf46b4136e ICU-20568 unitsdata.cpp/.h and associated tests
Read unitsTest.txt, prepare to run unit tests.
PR: https://github.com/sffc/icu/pull/20
Commit: 9f65f41f183ded57efdf4f7c0cdf56c02e441024

No-op/cosmetic: reformat with clang-format ident:4 line-length:105.
PR: https://github.com/sffc/icu/pull/25
Commit: 4be0a2bc55fc3567f790a53cc988abd4c3508419

Parse unitPreferencesTest.txt preparing to run data-driven tests
PR: https://github.com/sffc/icu/pull/26
Commit: 9e021f9b6fbee06283ef4c45dbfe5c7b3abd2dbf

Improve test output: no more fprintfs.
PR: https://github.com/sffc/icu/pull/34
Commit: 12a5289238d68e3aa184727d7d7af55d386613c7

Update to latest CLDR test files: b7a23f3f41 CLDR-13587.
PR: https://github.com/sffc/icu/pull/33
Commit: 44e9afb32187529a4599548c42f70c7deb3e46bf

Add unitsdata.cpp, getConversionRatesInfo, and unit tests.
PR: https://github.com/sffc/icu/pull/31
Commit: ca34233e0804c1175f210e5557bb984da2eab244

Update unitsTest.txt and unitPreferencesTest.txt from current CLDR master
PR: https://github.com/sffc/icu/pull/41
Commit: be7f69941ddf4373e9d66149e95f5b8345d7de5d
2020-09-10 22:39:18 +02:00
younies
adcc646e51 ICU-20568 Skeleton for Testing Units
PR: https://github.com/sffc/icu/pull/6
Commit: 9b3ca66937c40044055bf9a8e13db57bcdc75fec
2020-09-10 22:39:18 +02:00
Jeff Genovy
9a220a7381 ICU-21272 Add Windows ARM64 Debug build to CI build configuration. 2020-09-10 12:22:19 -07:00
Markus Scherer
18c4a69f80 ICU-9961 replace U_DRAFT/U_STABLE/U_INTERNAL with U_CAPI 2020-09-10 11:23:44 -07:00
shaobero
e25390f469 ICU-21272 Making changes in makedata.mak to fix Debug cross-build for ARM & ARM64 2020-09-10 10:10:08 -07:00
Frank Tang
35dfdf1d02 ICU-21043 Fix calendar problems
This PR fixes
ICU-21043 Erroneous date display in indian calendar of all dates prior to 0001-01-01.
ICU-21044 Hebrew Calendar calculation is incorrect when the year < 1
ICU-21045 Erroneous date display in islamic and islamic-rgsa calendars of all dates prior to 0622-07-18.
ICU-21046 Erroneous date display in islamic-umalqura calendar of all dates prior to  -195366-07-23.

The problem in the indiancal.cpp is
* ICU-21043 the gregorian/julain convesion is wrong. Swith to use
i18n/gregoimp.h fix the problem.

The problem in the hebrwcal.cpp is
* ICU-21044 Use ClockMath::floorDivid to replace x / y for x maybe <  0
also need to fix incorrect value in test file

The problem in the islamcal.cpp:
* ICU-21045: The math of % negative number for year and month is wrong.
* ICU-21046: Not use int64_t methods and caused int32_t overflow while the year is a
huge negative number. Cast to int64_t to force using the int64_t version
for the math fix the problem.

Also add tests to exhaust test 8000 years for all calendar. In quick
mode, only test 2.5 years.

Switch to 0-based month. fix TZ for test.
2020-09-10 00:21:18 -07:00
gnrunge
9e85ba5690 ICU-21268 Adds NULL string checks to assert statements to prevent
segmentation faults when unit tests run without ICU data.

ICU-21268 Fix value type: char* is not ompatible with u'..' value.
2020-09-09 17:50:45 -07:00
Markus Scherer
c3fe7e09d8 ICU-21267 stop defining & using FALSE & TRUE macros in public headers
See #1282
2020-09-09 15:13:56 -07:00
Peter Edberg
ad043349ed ICU-21106 avoid buffer overflow in u_fopen_u, fix WIN32_API fclose(NULL) 2020-09-09 00:21:15 -07:00
gnrunge
b6ff1393d5 ICU-21268 Add error checks to avoid segmentation faults if tests run with stubdata only.
ICU-21268 Use 'nullptr' instead of NULL when checking for pointer value.

ICU-21268: Fixes error message.

ICU-21268 Style fixes (space before '{').
2020-09-08 18:22:29 -07:00
Jeff Genovy
2361a3258b ICU-21264 Re-enable optimizations for various functions on MSVC for VS2019 and above. 2020-09-08 18:05:02 -07:00
Jeff Genovy
941fddc19d ICU-21108 Add build using VS2015 toolset, fix job names. 2020-09-08 13:58:38 -07:00
Jeff Genovy
ef4913316f ICU-21271 Fix valgrind failure in dtptngen.cpp 2020-09-08 13:52:53 -07:00