mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-10 07:39:16 +00:00
ICU-22540 Add new CLDR units ronto, ronna, quecto, and quetta
This commit is contained in:
parent
a7c7d8f214
commit
1bb711ad20
5 changed files with 82 additions and 0 deletions
|
@ -102,6 +102,8 @@ const struct UnitPrefixStrings {
|
|||
UMeasurePrefix value;
|
||||
} gUnitPrefixStrings[] = {
|
||||
// SI prefixes
|
||||
{ "quetta", UMEASURE_PREFIX_QUETTA },
|
||||
{ "ronna", UMEASURE_PREFIX_RONNA },
|
||||
{ "yotta", UMEASURE_PREFIX_YOTTA },
|
||||
{ "zetta", UMEASURE_PREFIX_ZETTA },
|
||||
{ "exa", UMEASURE_PREFIX_EXA },
|
||||
|
@ -122,6 +124,8 @@ const struct UnitPrefixStrings {
|
|||
{ "atto", UMEASURE_PREFIX_ATTO },
|
||||
{ "zepto", UMEASURE_PREFIX_ZEPTO },
|
||||
{ "yocto", UMEASURE_PREFIX_YOCTO },
|
||||
{ "ronto", UMEASURE_PREFIX_RONTO },
|
||||
{ "quecto", UMEASURE_PREFIX_QUECTO },
|
||||
// Binary prefixes
|
||||
{ "yobi", UMEASURE_PREFIX_YOBI },
|
||||
{ "zebi", UMEASURE_PREFIX_ZEBI },
|
||||
|
|
|
@ -107,13 +107,34 @@ typedef enum UMeasurePrefix {
|
|||
*/
|
||||
UMEASURE_PREFIX_YOTTA = UMEASURE_PREFIX_ONE + 24,
|
||||
|
||||
#ifndef U_HIDE_DRAFT_API
|
||||
/**
|
||||
* SI prefix: ronna, 10^27.
|
||||
*
|
||||
* @draft ICU 75
|
||||
*/
|
||||
UMEASURE_PREFIX_RONNA = UMEASURE_PREFIX_ONE + 27,
|
||||
|
||||
/**
|
||||
* SI prefix: quetta, 10^30.
|
||||
*
|
||||
* @draft ICU 75
|
||||
*/
|
||||
UMEASURE_PREFIX_QUETTA = UMEASURE_PREFIX_ONE + 30,
|
||||
#endif /* U_HIDE_DRAFT_API */
|
||||
|
||||
#ifndef U_HIDE_INTERNAL_API
|
||||
/**
|
||||
* ICU use only.
|
||||
* Used to determine the set of base-10 SI prefixes.
|
||||
* @internal
|
||||
*/
|
||||
#ifndef U_HIDE_DRAFT_API
|
||||
UMEASURE_PREFIX_INTERNAL_MAX_SI = UMEASURE_PREFIX_QUETTA,
|
||||
#else /* U_HIDE_DRAFT_API */
|
||||
UMEASURE_PREFIX_INTERNAL_MAX_SI = UMEASURE_PREFIX_YOTTA,
|
||||
#endif /* U_HIDE_DRAFT_API */
|
||||
|
||||
#endif /* U_HIDE_INTERNAL_API */
|
||||
|
||||
/**
|
||||
|
@ -249,13 +270,34 @@ typedef enum UMeasurePrefix {
|
|||
*/
|
||||
UMEASURE_PREFIX_YOCTO = UMEASURE_PREFIX_ONE + -24,
|
||||
|
||||
#ifndef U_HIDE_DRAFT_API
|
||||
/**
|
||||
* SI prefix: ronto, 10^-27.
|
||||
*
|
||||
* @draft ICU 75
|
||||
*/
|
||||
UMEASURE_PREFIX_RONTO = UMEASURE_PREFIX_ONE + -27,
|
||||
|
||||
/**
|
||||
* SI prefix: quecto, 10^-30.
|
||||
*
|
||||
* @draft ICU 75
|
||||
*/
|
||||
UMEASURE_PREFIX_QUECTO = UMEASURE_PREFIX_ONE + -30,
|
||||
#endif /* U_HIDE_DRAFT_API */
|
||||
|
||||
#ifndef U_HIDE_INTERNAL_API
|
||||
/**
|
||||
* ICU use only.
|
||||
* Used to determine the set of base-10 SI prefixes.
|
||||
* @internal
|
||||
*/
|
||||
#ifndef U_HIDE_DRAFT_API
|
||||
UMEASURE_PREFIX_INTERNAL_MIN_SI = UMEASURE_PREFIX_QUECTO,
|
||||
#else /* U_HIDE_DRAFT_API */
|
||||
UMEASURE_PREFIX_INTERNAL_MIN_SI = UMEASURE_PREFIX_YOCTO,
|
||||
#endif /* U_HIDE_DRAFT_API */
|
||||
|
||||
#endif // U_HIDE_INTERNAL_API
|
||||
|
||||
// Cannot conditionalize the following with #ifndef U_HIDE_INTERNAL_API,
|
||||
|
|
|
@ -5743,6 +5743,8 @@ void MeasureFormatTest::TestPrefixes() {
|
|||
int32_t expectedBase;
|
||||
int32_t expectedPower;
|
||||
} cases[] = {
|
||||
{UMEASURE_PREFIX_QUECTO, 10, -30},
|
||||
{UMEASURE_PREFIX_RONTO, 10, -27},
|
||||
{UMEASURE_PREFIX_YOCTO, 10, -24},
|
||||
{UMEASURE_PREFIX_ZEPTO, 10, -21},
|
||||
{UMEASURE_PREFIX_ATTO, 10, -18},
|
||||
|
@ -5764,6 +5766,8 @@ void MeasureFormatTest::TestPrefixes() {
|
|||
{UMEASURE_PREFIX_EXA, 10, 18},
|
||||
{UMEASURE_PREFIX_ZETTA, 10, 21},
|
||||
{UMEASURE_PREFIX_YOTTA, 10, 24},
|
||||
{UMEASURE_PREFIX_RONNA, 10, 27},
|
||||
{UMEASURE_PREFIX_QUETTA, 10, 30},
|
||||
{UMEASURE_PREFIX_KIBI, 1024, 1},
|
||||
{UMEASURE_PREFIX_MEBI, 1024, 2},
|
||||
{UMEASURE_PREFIX_GIBI, 1024, 3},
|
||||
|
|
|
@ -4623,6 +4623,8 @@ public class MeasureUnitTest extends CoreTestFmwk {
|
|||
}
|
||||
|
||||
TestCase cases[] = {
|
||||
new TestCase(MeasureUnit.MeasurePrefix.QUECTO, 10, -30),
|
||||
new TestCase(MeasureUnit.MeasurePrefix.RONTO, 10, -27),
|
||||
new TestCase(MeasureUnit.MeasurePrefix.YOCTO, 10, -24),
|
||||
new TestCase(MeasureUnit.MeasurePrefix.ZEPTO, 10, -21),
|
||||
new TestCase(MeasureUnit.MeasurePrefix.ATTO, 10, -18),
|
||||
|
@ -4644,6 +4646,8 @@ public class MeasureUnitTest extends CoreTestFmwk {
|
|||
new TestCase(MeasureUnit.MeasurePrefix.EXA, 10, 18),
|
||||
new TestCase(MeasureUnit.MeasurePrefix.ZETTA, 10, 21),
|
||||
new TestCase(MeasureUnit.MeasurePrefix.YOTTA, 10, 24),
|
||||
new TestCase(MeasureUnit.MeasurePrefix.RONNA, 10, 27),
|
||||
new TestCase(MeasureUnit.MeasurePrefix.QUETTA, 10, 30),
|
||||
new TestCase(MeasureUnit.MeasurePrefix.KIBI, 1024, 1),
|
||||
new TestCase(MeasureUnit.MeasurePrefix.MEBI, 1024, 2),
|
||||
new TestCase(MeasureUnit.MeasurePrefix.GIBI, 1024, 3),
|
||||
|
|
|
@ -118,6 +118,20 @@ public class MeasureUnit implements Serializable {
|
|||
*/
|
||||
public enum MeasurePrefix {
|
||||
|
||||
/**
|
||||
* SI prefix: quetta, 10^30.
|
||||
*
|
||||
* @draft ICU 75
|
||||
*/
|
||||
QUETTA(30, "quetta", 10),
|
||||
|
||||
/**
|
||||
* SI prefix: ronna, 10^27.
|
||||
*
|
||||
* @draft ICU 75
|
||||
*/
|
||||
RONNA(27, "ronna", 10),
|
||||
|
||||
/**
|
||||
* SI prefix: yotta, 10^24.
|
||||
*
|
||||
|
@ -265,6 +279,20 @@ public class MeasureUnit implements Serializable {
|
|||
*/
|
||||
YOCTO(-24, "yocto", 10),
|
||||
|
||||
/**
|
||||
* SI prefix: ronto, 10^-27.
|
||||
*
|
||||
* @draft ICU 75
|
||||
*/
|
||||
RONTO(-27, "ronto", 10),
|
||||
|
||||
/**
|
||||
* SI prefix: quecto, 10^-30.
|
||||
*
|
||||
* @draft ICU 75
|
||||
*/
|
||||
QUECTO(-30, "quecto", 10),
|
||||
|
||||
/**
|
||||
* IEC binary prefix: kibi, 1024^1.
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue