X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/46f4442e9a5a4f3b98b7c1083586332f6a8a99a4..1546d4af2ed1219a41ef4170bf188f2ab91442e6:/icuSources/data/misc/plurals.txt diff --git a/icuSources/data/misc/plurals.txt b/icuSources/data/misc/plurals.txt index f9228021..4d8e7010 100644 --- a/icuSources/data/misc/plurals.txt +++ b/icuSources/data/misc/plurals.txt @@ -1,188 +1,920 @@ -// *************************************************************************** -// * -// * Copyright (C) 2008 International Business Machines -// * Corporation and others. All Rights Reserved. -// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java -// * Source File:/plurals.xml -// * -// *************************************************************************** -plurals:table(nofallback){ - locales{ - af{"set2"} - am{"set3"} - ar{"set1"} - az{""} - be{"set9"} - bg{"set2"} - bh{"set3"} - bn{"set2"} - bo{""} - bs{"set9"} - ca{"set2"} - cs{"set10"} - cy{"set15"} - da{"set2"} - de{"set2"} - dz{""} - el{"set2"} - en{"set2"} - eo{"set2"} - es{"set2"} - et{"set2"} - eu{"set2"} - fa{""} - fi{"set2"} - fil{"set3"} - fo{"set2"} - fr{"set4"} - fur{"set2"} - fy{"set2"} - ga{"set6"} - gl{"set2"} - gu{"set2"} - guw{"set3"} - ha{"set2"} - he{"set2"} - hi{"set3"} - hr{"set9"} - hu{""} - id{""} - is{"set2"} - it{"set2"} - iw{"set2"} - ja{""} - jv{""} - ka{""} - km{""} - kn{""} - ko{""} - ku{"set2"} - lb{"set2"} - ln{"set3"} - lt{"set8"} - lv{"set5"} - mg{"set3"} - mk{"set14"} - ml{"set2"} - mn{"set2"} - mo{"set7"} - mr{"set2"} - ms{""} - mt{"set13"} - my{""} - nah{"set2"} - nb{"set2"} - ne{"set2"} - nl{"set2"} - nn{"set2"} - no{"set2"} - nso{"set3"} - om{"set2"} - or{"set2"} - pa{"set2"} - pap{"set2"} - pl{"set11"} - ps{"set2"} - pt{"set3"} - pt_PT{"set2"} - ro{"set7"} - ru{"set9"} - se{"set6"} - sh{"set9"} - sk{"set10"} - sl{"set12"} - sma{"set6"} - smi{"set6"} - smj{"set6"} - smn{"set6"} - sms{"set6"} - so{"set2"} - sq{"set2"} - sr{"set9"} - sv{"set2"} - sw{"set2"} - ta{"set2"} - te{"set2"} - th{""} - ti{"set3"} - tk{"set2"} - tl{"set3"} - to{""} - tr{""} - uk{"set9"} - ur{"set2"} - vi{""} - wa{"set3"} - yo{""} - zh{""} - zu{"set2"} - } - rules{ - set1{ - few{"n mod 100 in 3..10"} - many{"n mod 100 in 11..99"} - one{"n is 1"} - two{"n is 2"} - zero{"n is 0"} - } - set10{ - few{"n in 2..4"} - one{"n is 1"} - } - set11{ - few{ - "n mod 10 in 2..4 and n mod 100 not in 12..14 and n mod 100 not in 22" - "..24" - } - one{"n is 1"} - } - set12{ - few{"n mod 100 in 3..4"} - one{"n mod 100 is 1"} - two{"n mod 100 is 2"} - } - set13{ - few{"n is 0 or n mod 100 in 2..10"} - many{"n mod 100 in 11..19"} - one{"n is 1"} - } - set14{ - one{"n mod 10 is 1"} - } - set15{ - many{"n is 8 or n is 11"} - one{"n is 1"} - two{"n is 2"} - } - set2{ - one{"n is 1"} - } - set3{ - one{"n in 0..1"} - } - set4{ - one{"n within 0..2 and n is not 2"} - } - set5{ - one{"n mod 10 is 1 and n mod 100 is not 11"} - zero{"n is 0"} - } - set6{ - one{"n is 1"} - two{"n is 2"} - } - set7{ - few{"n is 0 OR n is not 1 AND n mod 100 in 1..19"} - one{"n is 1"} - } - set8{ - few{"n mod 10 in 2..9 and n mod 100 not in 11..19"} - one{"n mod 10 is 1 and n mod 100 not in 11..19"} - } - set9{ - few{"n mod 10 in 2..4 and n mod 100 not in 12..14"} - many{"n mod 10 is 0 or n mod 10 in 5..9 or n mod 100 in 11..14"} - one{"n mod 10 is 1 and n mod 100 is not 11"} - } - } -} +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html#License +plurals:table(nofallback){ + locales{ + af{"set8"} + ak{"set6"} + am{"set1"} + ar{"set33"} + ars{"set33"} + as{"set1"} + asa{"set8"} + ast{"set4"} + az{"set8"} + be{"set26"} + bem{"set8"} + bez{"set8"} + bg{"set8"} + bh{"set6"} + bm{"set0"} + bn{"set1"} + bo{"set0"} + br{"set30"} + brx{"set8"} + bs{"set19"} + ca{"set4"} + ce{"set8"} + cgg{"set8"} + chr{"set8"} + ckb{"set8"} + cs{"set24"} + cy{"set34"} + da{"set9"} + de{"set4"} + dsb{"set22"} + dv{"set8"} + dz{"set0"} + ee{"set8"} + el{"set8"} + en{"set4"} + eo{"set8"} + es{"set8"} + et{"set4"} + eu{"set8"} + fa{"set1"} + ff{"set2"} + fi{"set4"} + fil{"set12"} + fo{"set8"} + fr{"set2"} + fur{"set8"} + fy{"set4"} + ga{"set31"} + gd{"set20"} + gl{"set4"} + gsw{"set8"} + gu{"set1"} + guw{"set6"} + gv{"set32"} + ha{"set8"} + haw{"set8"} + he{"set23"} + hi{"set1"} + hr{"set19"} + hsb{"set22"} + hu{"set8"} + hy{"set2"} + id{"set0"} + ig{"set0"} + ii{"set0"} + in{"set0"} + io{"set4"} + is{"set10"} + it{"set4"} + iu{"set16"} + iw{"set23"} + ja{"set0"} + jbo{"set0"} + jgo{"set8"} + ji{"set4"} + jmc{"set8"} + jv{"set0"} + jw{"set0"} + ka{"set8"} + kab{"set2"} + kaj{"set8"} + kcg{"set8"} + kde{"set0"} + kea{"set0"} + kk{"set8"} + kkj{"set8"} + kl{"set8"} + km{"set0"} + kn{"set1"} + ko{"set0"} + ks{"set8"} + ksb{"set8"} + ksh{"set15"} + ku{"set8"} + kw{"set16"} + ky{"set8"} + lag{"set14"} + lb{"set8"} + lg{"set8"} + lkt{"set0"} + ln{"set6"} + lo{"set0"} + lt{"set27"} + lv{"set13"} + mas{"set8"} + mg{"set6"} + mgo{"set8"} + mk{"set11"} + ml{"set8"} + mn{"set8"} + mo{"set18"} + mr{"set1"} + ms{"set0"} + mt{"set28"} + my{"set0"} + nah{"set8"} + naq{"set16"} + nb{"set8"} + nd{"set8"} + ne{"set8"} + nl{"set4"} + nn{"set8"} + nnh{"set8"} + no{"set8"} + nqo{"set0"} + nr{"set8"} + nso{"set6"} + ny{"set8"} + nyn{"set8"} + om{"set8"} + or{"set8"} + os{"set8"} + pa{"set6"} + pap{"set8"} + pl{"set25"} + prg{"set13"} + ps{"set8"} + pt{"set3"} + pt_PT{"set4"} + rm{"set8"} + ro{"set18"} + rof{"set8"} + root{"set0"} + ru{"set29"} + rwk{"set8"} + sah{"set0"} + saq{"set8"} + scn{"set4"} + sd{"set8"} + sdh{"set8"} + se{"set16"} + seh{"set8"} + ses{"set0"} + sg{"set0"} + sh{"set19"} + shi{"set17"} + si{"set5"} + sk{"set24"} + sl{"set21"} + sma{"set16"} + smi{"set16"} + smj{"set16"} + smn{"set16"} + sms{"set16"} + sn{"set8"} + so{"set8"} + sq{"set8"} + sr{"set19"} + ss{"set8"} + ssy{"set8"} + st{"set8"} + sv{"set4"} + sw{"set4"} + syr{"set8"} + ta{"set8"} + te{"set8"} + teo{"set8"} + th{"set0"} + ti{"set6"} + tig{"set8"} + tk{"set8"} + tl{"set12"} + tn{"set8"} + to{"set0"} + tr{"set8"} + ts{"set8"} + tzm{"set7"} + ug{"set8"} + uk{"set29"} + ur{"set4"} + uz{"set8"} + ve{"set8"} + vi{"set0"} + vo{"set8"} + vun{"set8"} + wa{"set6"} + wae{"set8"} + wo{"set0"} + wuu{"set0"} + xh{"set8"} + xog{"set8"} + yi{"set4"} + yo{"set0"} + yue{"set0"} + zh{"set0"} + zu{"set1"} + } + locales_ordinals{ + af{"set35"} + am{"set35"} + ar{"set35"} + as{"set53"} + az{"set51"} + be{"set40"} + bg{"set35"} + bn{"set53"} + bs{"set35"} + ca{"set49"} + ce{"set35"} + cs{"set35"} + cy{"set55"} + da{"set35"} + de{"set35"} + dsb{"set35"} + el{"set35"} + en{"set47"} + es{"set35"} + et{"set35"} + eu{"set35"} + fa{"set35"} + fi{"set35"} + fil{"set37"} + fr{"set37"} + fy{"set35"} + ga{"set37"} + gl{"set35"} + gsw{"set35"} + gu{"set52"} + he{"set35"} + hi{"set52"} + hr{"set35"} + hsb{"set35"} + hu{"set38"} + hy{"set37"} + id{"set35"} + in{"set35"} + is{"set35"} + it{"set44"} + iw{"set35"} + ja{"set35"} + ka{"set45"} + kk{"set43"} + km{"set35"} + kn{"set35"} + ko{"set35"} + ky{"set35"} + lo{"set37"} + lt{"set35"} + lv{"set35"} + mk{"set50"} + ml{"set35"} + mn{"set35"} + mo{"set37"} + mr{"set48"} + ms{"set37"} + my{"set35"} + nb{"set35"} + ne{"set39"} + nl{"set35"} + or{"set54"} + pa{"set35"} + pl{"set35"} + prg{"set35"} + ps{"set35"} + pt{"set35"} + ro{"set37"} + root{"set35"} + ru{"set35"} + scn{"set44"} + sd{"set35"} + sh{"set35"} + si{"set35"} + sk{"set35"} + sl{"set35"} + sq{"set46"} + sr{"set35"} + sv{"set36"} + sw{"set35"} + ta{"set35"} + te{"set35"} + th{"set35"} + tk{"set42"} + tl{"set37"} + tr{"set35"} + uk{"set41"} + ur{"set35"} + uz{"set35"} + vi{"set37"} + yue{"set35"} + zh{"set35"} + zu{"set35"} + } + rules{ + set0{ + other{ + " @integer 0~15, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1." + "5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + set1{ + one{"i = 0 or n = 1 @integer 0, 1 @decimal 0.0~1.0, 0.00~0.04"} + other{ + " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 1.1~2." + "6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + set10{ + one{ + "t = 0 and i % 10 = 1 and i % 100 != 11 or t != 0 @integer 1, 21, 31," + " 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1~1.6, 10.1, 100.1, 100" + "0.1, …" + } + other{ + " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" + ", 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 100.0, 1000.0, 10000.0, 1" + "00000.0, 1000000.0, …" + } + } + set11{ + one{ + "v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != " + "11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1" + ", 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …" + } + other{ + " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" + ", 0.2~1.0, 1.2~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000." + "0, …" + } + } + set12{ + one{ + "v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 1" + "0 != 4,6,9 @integer 0~3, 5, 7, 8, 10~13, 15, 17, 18, 20, 21, 100, 10" + "00, 10000, 100000, 1000000, … @decimal 0.0~0.3, 0.5, 0.7, 0.8, 1.0~1" + ".3, 1.5, 1.7, 1.8, 2.0, 2.1, 10.0, 100.0, 1000.0, 10000.0, 100000.0," + " 1000000.0, …" + } + other{ + " @integer 4, 6, 9, 14, 16, 19, 24, 26, 104, 1004, … @decimal 0.4, 0." + "6, 0.9, 1.4, 1.6, 1.9, 2.4, 2.6, 10.4, 100.4, 1000.4, …" + } + } + set13{ + one{ + "n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != " + "11 or v != 2 and f % 10 = 1 @integer 1, 21, 31, 41, 51, 61, 71, 81, " + "101, 1001, … @decimal 0.1, 1.0, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 1" + "0.1, 100.1, 1000.1, …" + } + other{ + " @integer 2~9, 22~29, 102, 1002, … @decimal 0.2~0.9, 1.2~1.9, 10.2, " + "100.2, 1000.2, …" + } + zero{ + "n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19 @intege" + "r 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, … @de" + "cimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, 1000.0, " + "10000.0, 100000.0, 1000000.0, …" + } + } + set14{ + one{"i = 0,1 and n != 0 @integer 1 @decimal 0.1~1.6"} + other{ + " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3." + "5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + zero{"n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000"} + } + set15{ + one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} + other{ + " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0." + "9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + zero{"n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000"} + } + set16{ + one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} + other{ + " @integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" + "~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + two{"n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000"} + } + set17{ + few{ + "n = 2..10 @integer 2~10 @decimal 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, " + "9.0, 10.0, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00" + } + one{"i = 0 or n = 1 @integer 0, 1 @decimal 0.0~1.0, 0.00~0.04"} + other{ + " @integer 11~26, 100, 1000, 10000, 100000, 1000000, … @decimal 1.1~1" + ".9, 2.1~2.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + set18{ + few{ + "v != 0 or n = 0 or n != 1 and n % 100 = 1..19 @integer 0, 2~16, 101," + " 1001, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1" + "000000.0, …" + } + one{"i = 1 and v = 0 @integer 1"} + other{" @integer 20~35, 100, 1000, 10000, 100000, 1000000, …"} + } + set19{ + few{ + "v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f" + " % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, " + "1002, … @decimal 0.2~0.4, 1.2~1.4, 2.2~2.4, 3.2~3.4, 4.2~4.4, 5.2, 1" + "0.2, 100.2, 1000.2, …" + } + one{ + "v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != " + "11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1" + ", 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …" + } + other{ + " @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" + ", 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0," + " 1000000.0, …" + } + } + set2{ + one{"i = 0,1 @integer 0, 1 @decimal 0.0~1.5"} + other{ + " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3." + "5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + set20{ + few{ + "n = 3..10,13..19 @integer 3~10, 13~19 @decimal 3.0, 4.0, 5.0, 6.0, 7" + ".0, 8.0, 9.0, 10.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 3.00" + } + one{ + "n = 1,11 @integer 1, 11 @decimal 1.0, 11.0, 1.00, 11.00, 1.000, 11.0" + "00, 1.0000" + } + other{ + " @integer 0, 20~34, 100, 1000, 10000, 100000, 1000000, … @decimal 0." + "0~0.9, 1.1~1.6, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + two{ + "n = 2,12 @integer 2, 12 @decimal 2.0, 12.0, 2.00, 12.00, 2.000, 12.0" + "00, 2.0000" + } + } + set21{ + few{ + "v = 0 and i % 100 = 3..4 or v != 0 @integer 3, 4, 103, 104, 203, 204" + ", 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, … @decimal" + " 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + one{ + "v = 0 and i % 100 = 1 @integer 1, 101, 201, 301, 401, 501, 601, 701," + " 1001, …" + } + other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"} + two{ + "v = 0 and i % 100 = 2 @integer 2, 102, 202, 302, 402, 502, 602, 702," + " 1002, …" + } + } + set22{ + few{ + "v = 0 and i % 100 = 3..4 or f % 100 = 3..4 @integer 3, 4, 103, 104, " + "203, 204, 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, … " + "@decimal 0.3, 0.4, 1.3, 1.4, 2.3, 2.4, 3.3, 3.4, 4.3, 4.4, 5.3, 5.4," + " 6.3, 6.4, 7.3, 7.4, 10.3, 100.3, 1000.3, …" + } + one{ + "v = 0 and i % 100 = 1 or f % 100 = 1 @integer 1, 101, 201, 301, 401," + " 501, 601, 701, 1001, … @decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, " + "7.1, 10.1, 100.1, 1000.1, …" + } + other{ + " @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" + ", 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0," + " 1000000.0, …" + } + two{ + "v = 0 and i % 100 = 2 or f % 100 = 2 @integer 2, 102, 202, 302, 402," + " 502, 602, 702, 1002, … @decimal 0.2, 1.2, 2.2, 3.2, 4.2, 5.2, 6.2, " + "7.2, 10.2, 100.2, 1000.2, …" + } + } + set23{ + many{ + "v = 0 and n != 0..10 and n % 10 = 0 @integer 20, 30, 40, 50, 60, 70," + " 80, 90, 100, 1000, 10000, 100000, 1000000, …" + } + one{"i = 1 and v = 0 @integer 1"} + other{ + " @integer 0, 3~17, 101, 1001, … @decimal 0.0~1.5, 10.0, 100.0, 1000." + "0, 10000.0, 100000.0, 1000000.0, …" + } + two{"i = 2 and v = 0 @integer 2"} + } + set24{ + few{"i = 2..4 and v = 0 @integer 2~4"} + many{ + "v != 0 @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1" + "000000.0, …" + } + one{"i = 1 and v = 0 @integer 1"} + other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"} + } + set25{ + few{ + "v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 3" + "2~34, 42~44, 52~54, 62, 102, 1002, …" + } + many{ + "v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v =" + " 0 and i % 100 = 12..14 @integer 0, 5~19, 100, 1000, 10000, 100000, " + "1000000, …" + } + one{"i = 1 and v = 0 @integer 1"} + other{ + " @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000" + ".0, …" + } + } + set26{ + few{ + "n % 10 = 2..4 and n % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~4" + "4, 52~54, 62, 102, 1002, … @decimal 2.0, 3.0, 4.0, 22.0, 23.0, 24.0," + " 32.0, 33.0, 102.0, 1002.0, …" + } + many{ + "n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14 @integer 0, 5~19, 10" + "0, 1000, 10000, 100000, 1000000, … @decimal 0.0, 5.0, 6.0, 7.0, 8.0," + " 9.0, 10.0, 11.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + one{ + "n % 10 = 1 and n % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81," + " 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, 81.0" + ", 101.0, 1001.0, …" + } + other{" @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …"} + } + set27{ + few{ + "n % 10 = 2..9 and n % 100 != 11..19 @integer 2~9, 22~29, 102, 1002, " + "… @decimal 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 22.0, 102.0, 1002" + ".0, …" + } + many{"f != 0 @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …"} + one{ + "n % 10 = 1 and n % 100 != 11..19 @integer 1, 21, 31, 41, 51, 61, 71," + " 81, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, " + "81.0, 101.0, 1001.0, …" + } + other{ + " @integer 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 100000" + "0, … @decimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, " + "1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + set28{ + few{ + "n = 0 or n % 100 = 2..10 @integer 0, 2~10, 102~107, 1002, … @decimal" + " 0.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 102.0, 1002.0, …" + } + many{ + "n % 100 = 11..19 @integer 11~19, 111~117, 1011, … @decimal 11.0, 12." + "0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …" + } + one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} + other{ + " @integer 20~35, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0" + ".9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + set29{ + few{ + "v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 3" + "2~34, 42~44, 52~54, 62, 102, 1002, …" + } + many{ + "v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100" + " = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …" + } + one{ + "v = 0 and i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 6" + "1, 71, 81, 101, 1001, …" + } + other{ + " @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000" + ".0, …" + } + } + set3{ + one{"i = 0..1 @integer 0, 1 @decimal 0.0~1.5"} + other{ + " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3." + "5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + set30{ + few{ + "n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99 @integer 3, 4, 9" + ", 23, 24, 29, 33, 34, 39, 43, 44, 49, 103, 1003, … @decimal 3.0, 4.0" + ", 9.0, 23.0, 24.0, 29.0, 33.0, 34.0, 103.0, 1003.0, …" + } + many{ + "n != 0 and n % 1000000 = 0 @integer 1000000, … @decimal 1000000.0, 1" + "000000.00, 1000000.000, …" + } + one{ + "n % 10 = 1 and n % 100 != 11,71,91 @integer 1, 21, 31, 41, 51, 61, 8" + "1, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 81.0, 10" + "1.0, 1001.0, …" + } + other{ + " @integer 0, 5~8, 10~20, 100, 1000, 10000, 100000, … @decimal 0.0~0." + "9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, …" + } + two{ + "n % 10 = 2 and n % 100 != 12,72,92 @integer 2, 22, 32, 42, 52, 62, 8" + "2, 102, 1002, … @decimal 2.0, 22.0, 32.0, 42.0, 52.0, 62.0, 82.0, 10" + "2.0, 1002.0, …" + } + } + set31{ + few{ + "n = 3..6 @integer 3~6 @decimal 3.0, 4.0, 5.0, 6.0, 3.00, 4.00, 5.00," + " 6.00, 3.000, 4.000, 5.000, 6.000, 3.0000, 4.0000, 5.0000, 6.0000" + } + many{ + "n = 7..10 @integer 7~10 @decimal 7.0, 8.0, 9.0, 10.0, 7.00, 8.00, 9." + "00, 10.00, 7.000, 8.000, 9.000, 10.000, 7.0000, 8.0000, 9.0000, 10.0" + "000" + } + one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} + other{ + " @integer 0, 11~25, 100, 1000, 10000, 100000, 1000000, … @decimal 0." + "0~0.9, 1.1~1.6, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + two{"n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000"} + } + set32{ + few{ + "v = 0 and i % 100 = 0,20,40,60,80 @integer 0, 20, 40, 60, 80, 100, 1" + "20, 140, 1000, 10000, 100000, 1000000, …" + } + many{ + "v != 0 @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1" + "000000.0, …" + } + one{ + "v = 0 and i % 10 = 1 @integer 1, 11, 21, 31, 41, 51, 61, 71, 101, 10" + "01, …" + } + other{" @integer 3~10, 13~19, 23, 103, 1003, …"} + two{ + "v = 0 and i % 10 = 2 @integer 2, 12, 22, 32, 42, 52, 62, 72, 102, 10" + "02, …" + } + } + set33{ + few{ + "n % 100 = 3..10 @integer 3~10, 103~110, 1003, … @decimal 3.0, 4.0, 5" + ".0, 6.0, 7.0, 8.0, 9.0, 10.0, 103.0, 1003.0, …" + } + many{ + "n % 100 = 11..99 @integer 11~26, 111, 1011, … @decimal 11.0, 12.0, 1" + "3.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …" + } + one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} + other{ + " @integer 100~102, 200~202, 300~302, 400~402, 500~502, 600, 1000, 10" + "000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000" + ".0, 10000.0, 100000.0, 1000000.0, …" + } + two{"n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000"} + zero{"n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000"} + } + set34{ + few{"n = 3 @integer 3 @decimal 3.0, 3.00, 3.000, 3.0000"} + many{"n = 6 @integer 6 @decimal 6.0, 6.00, 6.000, 6.0000"} + one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} + other{ + " @integer 4, 5, 7~20, 100, 1000, 10000, 100000, 1000000, … @decimal " + "0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0," + " …" + } + two{"n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000"} + zero{"n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000"} + } + set35{ + other{" @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"} + } + set36{ + one{ + "n % 10 = 1,2 and n % 100 != 11,12 @integer 1, 2, 21, 22, 31, 32, 41," + " 42, 51, 52, 61, 62, 71, 72, 81, 82, 101, 1001, …" + } + other{" @integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, …"} + } + set37{ + one{"n = 1 @integer 1"} + other{" @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …"} + } + set38{ + one{"n = 1,5 @integer 1, 5"} + other{" @integer 0, 2~4, 6~17, 100, 1000, 10000, 100000, 1000000, …"} + } + set39{ + one{"n = 1..4 @integer 1~4"} + other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"} + } + set4{ + one{"i = 1 and v = 0 @integer 1"} + other{ + " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" + "~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + set40{ + few{ + "n % 10 = 2,3 and n % 100 != 12,13 @integer 2, 3, 22, 23, 32, 33, 42," + " 43, 52, 53, 62, 63, 72, 73, 82, 83, 102, 1002, …" + } + other{" @integer 0, 1, 4~17, 100, 1000, 10000, 100000, 1000000, …"} + } + set41{ + few{ + "n % 10 = 3 and n % 100 != 13 @integer 3, 23, 33, 43, 53, 63, 73, 83," + " 103, 1003, …" + } + other{" @integer 0~2, 4~16, 100, 1000, 10000, 100000, 1000000, …"} + } + set42{ + few{ + "n % 10 = 6,9 or n = 10 @integer 6, 9, 10, 16, 19, 26, 29, 36, 39, 10" + "6, 1006, …" + } + other{ + " @integer 0~5, 7, 8, 11~15, 17, 18, 20, 100, 1000, 10000, 100000, 10" + "00000, …" + } + } + set43{ + many{ + "n % 10 = 6 or n % 10 = 9 or n % 10 = 0 and n != 0 @integer 6, 9, 10," + " 16, 19, 20, 26, 29, 30, 36, 39, 40, 100, 1000, 10000, 100000, 10000" + "00, …" + } + other{" @integer 0~5, 7, 8, 11~15, 17, 18, 21, 101, 1001, …"} + } + set44{ + many{"n = 11,8,80,800 @integer 8, 11, 80, 800"} + other{" @integer 0~7, 9, 10, 12~17, 100, 1000, 10000, 100000, 1000000, …"} + } + set45{ + many{"i = 0 or i % 100 = 2..20,40,60,80 @integer 0, 2~16, 102, 1002, …"} + one{"i = 1 @integer 1"} + other{" @integer 21~36, 100, 1000, 10000, 100000, 1000000, …"} + } + set46{ + many{ + "n % 10 = 4 and n % 100 != 14 @integer 4, 24, 34, 44, 54, 64, 74, 84," + " 104, 1004, …" + } + one{"n = 1 @integer 1"} + other{" @integer 0, 2, 3, 5~17, 100, 1000, 10000, 100000, 1000000, …"} + } + set47{ + few{ + "n % 10 = 3 and n % 100 != 13 @integer 3, 23, 33, 43, 53, 63, 73, 83," + " 103, 1003, …" + } + one{ + "n % 10 = 1 and n % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81," + " 101, 1001, …" + } + other{" @integer 0, 4~18, 100, 1000, 10000, 100000, 1000000, …"} + two{ + "n % 10 = 2 and n % 100 != 12 @integer 2, 22, 32, 42, 52, 62, 72, 82," + " 102, 1002, …" + } + } + set48{ + few{"n = 4 @integer 4"} + one{"n = 1 @integer 1"} + other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"} + two{"n = 2,3 @integer 2, 3"} + } + set49{ + few{"n = 4 @integer 4"} + one{"n = 1,3 @integer 1, 3"} + other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"} + two{"n = 2 @integer 2"} + } + set5{ + one{ + "n = 0,1 or i = 0 and f = 1 @integer 0, 1 @decimal 0.0, 0.1, 1.0, 0.0" + "0, 0.01, 1.00, 0.000, 0.001, 1.000, 0.0000, 0.0001, 1.0000" + } + other{ + " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.2~0." + "9, 1.1~1.8, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + set50{ + many{ + "i % 10 = 7,8 and i % 100 != 17,18 @integer 7, 8, 27, 28, 37, 38, 47," + " 48, 57, 58, 67, 68, 77, 78, 87, 88, 107, 1007, …" + } + one{ + "i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81," + " 101, 1001, …" + } + other{" @integer 0, 3~6, 9~19, 100, 1000, 10000, 100000, 1000000, …"} + two{ + "i % 10 = 2 and i % 100 != 12 @integer 2, 22, 32, 42, 52, 62, 72, 82," + " 102, 1002, …" + } + } + set51{ + few{ + "i % 10 = 3,4 or i % 1000 = 100,200,300,400,500,600,700,800,900 @inte" + "ger 3, 4, 13, 14, 23, 24, 33, 34, 43, 44, 53, 54, 63, 64, 73, 74, 10" + "0, 1003, …" + } + many{ + "i = 0 or i % 10 = 6 or i % 100 = 40,60,90 @integer 0, 6, 16, 26, 36," + " 40, 46, 56, 106, 1006, …" + } + one{ + "i % 10 = 1,2,5,7,8 or i % 100 = 20,50,70,80 @integer 1, 2, 5, 7, 8, " + "11, 12, 15, 17, 18, 20~22, 25, 101, 1001, …" + } + other{ + " @integer 9, 10, 19, 29, 30, 39, 49, 59, 69, 79, 109, 1000, 10000, 1" + "00000, 1000000, …" + } + } + set52{ + few{"n = 4 @integer 4"} + many{"n = 6 @integer 6"} + one{"n = 1 @integer 1"} + other{" @integer 0, 5, 7~20, 100, 1000, 10000, 100000, 1000000, …"} + two{"n = 2,3 @integer 2, 3"} + } + set53{ + few{"n = 4 @integer 4"} + many{"n = 6 @integer 6"} + one{"n = 1,5,7,8,9,10 @integer 1, 5, 7~10"} + other{" @integer 0, 11~25, 100, 1000, 10000, 100000, 1000000, …"} + two{"n = 2,3 @integer 2, 3"} + } + set54{ + few{"n = 4 @integer 4"} + many{"n = 6 @integer 6"} + one{"n = 1,5,7..9 @integer 1, 5, 7~9"} + other{" @integer 0, 10~24, 100, 1000, 10000, 100000, 1000000, …"} + two{"n = 2,3 @integer 2, 3"} + } + set55{ + few{"n = 3,4 @integer 3, 4"} + many{"n = 5,6 @integer 5, 6"} + one{"n = 1 @integer 1"} + other{" @integer 10~25, 100, 1000, 10000, 100000, 1000000, …"} + two{"n = 2 @integer 2"} + zero{"n = 0,7,8,9 @integer 0, 7~9"} + } + set6{ + one{ + "n = 0..1 @integer 0, 1 @decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, " + "0.0000, 1.0000" + } + other{ + " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0." + "9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + set7{ + one{ + "n = 0..1 or n = 11..99 @integer 0, 1, 11~24 @decimal 0.0, 1.0, 11.0," + " 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 2" + "3.0, 24.0" + } + other{ + " @integer 2~10, 100~106, 1000, 10000, 100000, 1000000, … @decimal 0." + "1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + set8{ + one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} + other{ + " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" + "~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + set9{ + one{"n = 1 or t != 0 and i = 0,1 @integer 1 @decimal 0.1~1.6"} + other{ + " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" + ", 2.0~3.4, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" + } + } + } +}