Commit graph

17 commits

Author SHA1 Message Date
Fredrik Roubert
0178a07a26 ICU-22793 Clang-Tidy: google-readability-casting
https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google/readability-casting.html
2024-07-04 22:32:12 +02:00
Markus Scherer
2864379937 ICU-21833 replace U_NOEXCEPT with C++11 standard noexcept 2023-03-01 15:24:34 -08:00
Frank Yung-Fong Tang
80414a247b ICU-22224 Enable UBSAN and fix breakage
See #2324
2023-02-27 17:31:49 -08:00
Younies Mahmoud
dbfe830108 ICU-22122 Support Locale Tags (ms, mu and rg)
See #2182
2022-09-20 16:51:24 -07:00
Peter Edberg
e69f337f3c ICU-21669 UPRV_UNREACHABLE > UPRV_UNREACHABLE_EXIT/ASSERT, update usages 2021-09-14 15:22:52 -07:00
Markus Scherer
46720c4120 ICU-21559 more guards for self-assignment 2021-03-30 12:19:11 -07:00
Hugo van der Merwe
1dbe70ac18 ICU-21123 Support unit inflections in ICU4C
See #1574
2021-02-17 23:36:40 +01:00
younies
b594f4b2a9 ICU-21349 Enhance Supporting Mixed Unit (such as "inch-and-foot")
See #1363
2021-01-20 17:50:36 +01:00
younies
c07264a363 ICU-21349 Make appendSingleUnit behaviour in C++ comply with Java
See #1486
2020-12-01 01:42:17 +04:00
Hugo van der Merwe
81d43a2092 ICU-20568 Fix "1 foot 12 inches" behaviour
See #1337
2020-09-23 08:10:22 +02: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
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
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
Shane F. Carr
5a35a31e9a ICU-21021 Changing MeasureUnit::splitToSingleUnits to return std::pair 2020-09-15 20:53:51 -05: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: d5d7fdccfe

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

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

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

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

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: 030bda3ec8

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

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: 08132e7a33

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

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

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

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

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

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

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

Fix some compiler warnings
PR: https://github.com/icu-units/icu/pull/43
Commit: be11edb0bd
2020-09-10 22:39:18 +02:00