12#include "../utility/utility.hpp"
13#include "../i18n/i18n.hpp"
14#include "../macros.hpp"
22namespace hi {
inline namespace v1 {
84 return static_cast<plurality_mask>(std::to_underlying(lhs) | std::to_underlying(rhs));
96 hi_axiom(
not to_bool((1 << std::to_underlying(value)) & ~std::to_underlying(mask)));
110 hilet
value_as_mask = (1 << (std::to_underlying(value) + 1)) - 1;
131 unsigned long long n = 0;
135 unsigned long long f = 0;
139 unsigned long long t = 0;
169[[
nodiscard]]
constexpr plurality cardinal_plural_cebuano(plural_operand
op)
noexcept
185[[
nodiscard]]
constexpr plurality cardinal_plural_central_atlas_tamazight(plural_operand
op)
noexcept
198[[
nodiscard]]
constexpr plurality cardinal_plural_icelandic(plural_operand
op)
noexcept
211[[
nodiscard]]
constexpr plurality cardinal_plural_akan(plural_operand
op)
noexcept
214 if (
op.n == 0
or op.n == 1) {
224[[
nodiscard]]
constexpr plurality cardinal_plural_afrikaans(plural_operand
op)
noexcept
237[[
nodiscard]]
constexpr plurality cardinal_plural_latvian(plural_operand
op)
noexcept
242 (
op.n % 100 >= 11
and op.n % 100 <= 19)
or
243 (
op.v == 2
and op.f % 100 >= 11
and op.f % 100 <= 19)) {
248 (
op.v != 2
and op.f % 10 == 1)) {
258[[
nodiscard]]
constexpr plurality cardinal_plural_colognian(plural_operand
op)
noexcept
263 }
else if (
op.n == 1) {
273[[
nodiscard]]
constexpr plurality cardinal_plural_inari_sami(plural_operand
op)
noexcept
278 }
else if (
op.n == 2) {
288[[
nodiscard]]
constexpr plurality cardinal_plural_belarusian(plural_operand
op)
noexcept
291 if (
op.n % 10 == 1
and op.n % 100 != 11) {
298 (
op.n % 100 >= 11
and op.n % 100 <= 14)) {
308[[
nodiscard]]
constexpr plurality cardinal_plural_polish(plural_operand
op)
noexcept
319 (
op.v == 0
and op.n % 100 >= 12
and op.n % 100 <= 14)) {
329[[
nodiscard]]
constexpr plurality cardinal_plural_lithuanian(plural_operand
op)
noexcept
336 }
else if (
op.f != 0) {
346[[
nodiscard]]
constexpr plurality cardinal_plural_bosnian(plural_operand
op)
noexcept
352 (
op.f % 10 == 1
and op.f % 100 != 11)) {
366[[
nodiscard]]
constexpr plurality cardinal_plural_tachelhit(plural_operand
op)
noexcept
369 if (
op.i == 0
or op.n == 1) {
371 }
else if (
op.n >= 2
and op.n <= 10) {
381[[
nodiscard]]
constexpr plurality cardinal_plural_moldavian(plural_operand
op)
noexcept
391 (
op.n % 100 >= 2
and op.n % 100 <= 19)) {
401[[
nodiscard]]
constexpr plurality cardinal_plural_czech(plural_operand
op)
noexcept
410 }
else if (
op.v != 0) {
420[[
nodiscard]]
constexpr plurality cardinal_plural_manx(plural_operand
op)
noexcept
425 if (
op.v == 0
and op.n % 10 == 1) {
427 }
else if (
op.v == 0
and op.n % 10 == 2) {
429 }
else if (
op.v == 0
and (
430 op.n % 100 == 0
or op.n % 100 == 20
or op.n % 100 == 40
or op.n % 100 == 60
or op.n % 100 == 80)) {
432 }
else if (
op.v != 0) {
442[[
nodiscard]]
constexpr plurality cardinal_plural_scottish_gaelic(plural_operand
op)
noexcept
445 if (
op.n == 1
or op.n == 11) {
447 }
else if (
op.n == 2
or op.n == 12) {
459[[
nodiscard]]
constexpr plurality cardinal_plural_breton(plural_operand
op)
noexcept
462 if (
op.n % 10 == 1
and op.n % 100 != 11
and op.n % 100 != 71
and op.n % 100 != 91) {
464 }
else if (
op.n % 10 == 2
and op.n % 100 != 12
and op.n % 100 != 72
and op.n % 100 != 92) {
470 not (
op.n % 100 >= 90
and op.n % 100 <= 99))) {
472 }
else if (
op.n != 0
and op.n % 1'000'000 == 0) {
482[[
nodiscard]]
constexpr plurality cardinal_plural_lower_sorbian(plural_operand
op)
noexcept
497 (
op.f % 100 >= 3
and op.f % 100 <= 4)) {
507[[
nodiscard]]
constexpr plurality cardinal_plural_hebrew(plural_operand
op)
noexcept
514 }
else if (
op.n == 2
and op.v == 0) {
526[[
nodiscard]]
constexpr plurality cardinal_plural_maltese(plural_operand
op)
noexcept
531 }
else if (
op.n == 0
or (
op.n % 100 >= 2
and op.n % 100 <= 10)) {
533 }
else if (
op.n % 100 >= 11
and op.n % 100 <= 19) {
543[[
nodiscard]]
constexpr plurality cardinal_plural_irish(plural_operand
op)
noexcept
548 }
else if (
op.n == 2) {
550 }
else if (
op.n >= 3
and op.n <= 6) {
552 }
else if (
op.n >= 7
and op.n <= 10) {
562[[
nodiscard]]
constexpr plurality cardinal_plural_arabic(plural_operand
op)
noexcept
567 }
else if (
op.n == 1) {
569 }
else if (
op.n == 2) {
571 }
else if (
op.n % 100 >= 3
and op.n % 100 <= 10) {
573 }
else if (
op.n % 100 >= 11
and op.n % 100 <= 99) {
586[[
nodiscard]]
constexpr plurality cardinal_plural_welsh(plural_operand
op)
noexcept
591 }
else if (
op.n == 1) {
593 }
else if (
op.n == 2) {
595 }
else if (
op.n == 3) {
597 }
else if (
op.n == 6) {
610[[
nodiscard]]
constexpr plurality cardinal_plural_cornish(plural_operand
op)
noexcept
615 }
else if (
op.n == 1) {
623 (
op.n % 1'000 == 0
and (
624 (
op.n % 100'000 >= 1'000
and op.n % 100'000 <= 20'000)
or
625 op.n % 100'000 == 40'000
or
626 op.n % 100'000 == 60'000
or
627 op.n % 100'000 == 80'000))
or
628 (
op.n != 0
and op.n % 1'000'000 == 100'000)) {
637 }
else if (
op.n != 1
and (
656using cardinal_plural_fptr = plurality (*)(plural_operand);
671 r[iso_639{
"ceb"}.intrinsic()] = cardinal_plural_cebuano;
672 r[iso_639{
"fil"}.intrinsic()] = cardinal_plural_cebuano;
673 r[iso_639{
"tl"}.intrinsic()] = cardinal_plural_cebuano;
676 r[iso_639{
"tzm"}.intrinsic()] = cardinal_plural_central_atlas_tamazight;
679 r[iso_639{
"is"}.intrinsic()] = cardinal_plural_icelandic;
680 r[iso_639{
"mk"}.intrinsic()] = cardinal_plural_icelandic;
683 r[iso_639{
"ak"}.intrinsic()] = cardinal_plural_akan;
684 r[iso_639{
"am"}.intrinsic()] = cardinal_plural_akan;
685 r[iso_639{
"hy"}.intrinsic()] = cardinal_plural_akan;
686 r[iso_639{
"as"}.intrinsic()] = cardinal_plural_akan;
687 r[iso_639{
"bn"}.intrinsic()] = cardinal_plural_akan;
688 r[iso_639{
"bh"}.intrinsic()] = cardinal_plural_akan;
689 r[iso_639{
"fr"}.intrinsic()] = cardinal_plural_akan;
690 r[iso_639{
"ff"}.intrinsic()] = cardinal_plural_akan;
692 r[iso_639{
"gu"}.intrinsic()] = cardinal_plural_akan;
693 r[iso_639{
"guw"}.intrinsic()] = cardinal_plural_akan;
694 r[iso_639{
"hi"}.intrinsic()] = cardinal_plural_akan;
695 r[iso_639{
"kab"}.intrinsic()] = cardinal_plural_akan;
696 r[iso_639{
"kn"}.intrinsic()] = cardinal_plural_akan;
697 r[iso_639{
"ln"}.intrinsic()] = cardinal_plural_akan;
698 r[iso_639{
"mg"}.intrinsic()] = cardinal_plural_akan;
699 r[iso_639{
"nso"}.intrinsic()] = cardinal_plural_akan;
701 r[iso_639{
"fa"}.intrinsic()] = cardinal_plural_akan;
702 r[iso_639{
"pt"}.intrinsic()] = cardinal_plural_akan;
703 r[iso_639{
"pa"}.intrinsic()] = cardinal_plural_akan;
704 r[iso_639{
"si"}.intrinsic()] = cardinal_plural_akan;
705 r[iso_639{
"ti"}.intrinsic()] = cardinal_plural_akan;
706 r[iso_639{
"wa"}.intrinsic()] = cardinal_plural_akan;
707 r[iso_639{
"zu"}.intrinsic()] = cardinal_plural_akan;
710 r[iso_639{
"af"}.intrinsic()] = cardinal_plural_afrikaans;
711 r[iso_639{
"sq"}.intrinsic()] = cardinal_plural_afrikaans;
712 r[iso_639{
"an"}.intrinsic()] = cardinal_plural_afrikaans;
713 r[iso_639{
"ast"}.intrinsic()] = cardinal_plural_afrikaans;
714 r[iso_639{
"asa"}.intrinsic()] = cardinal_plural_afrikaans;
715 r[iso_639{
"az"}.intrinsic()] = cardinal_plural_afrikaans;
716 r[iso_639{
"eu"}.intrinsic()] = cardinal_plural_afrikaans;
718 r[iso_639{
"bem"}.intrinsic()] = cardinal_plural_afrikaans;
719 r[iso_639{
"bez"}.intrinsic()] = cardinal_plural_afrikaans;
720 r[iso_639{
"brx"}.intrinsic()] = cardinal_plural_afrikaans;
721 r[iso_639{
"bg"}.intrinsic()] = cardinal_plural_afrikaans;
722 r[iso_639{
"ca"}.intrinsic()] = cardinal_plural_afrikaans;
723 r[iso_639{
"ckb"}.intrinsic()] = cardinal_plural_afrikaans;
724 r[iso_639{
"ce"}.intrinsic()] = cardinal_plural_afrikaans;
726 r[iso_639{
"chr"}.intrinsic()] = cardinal_plural_afrikaans;
727 r[iso_639{
"cgg"}.intrinsic()] = cardinal_plural_afrikaans;
728 r[iso_639{
"da"}.intrinsic()] = cardinal_plural_afrikaans;
729 r[iso_639{
"dv"}.intrinsic()] = cardinal_plural_afrikaans;
730 r[iso_639{
"nl"}.intrinsic()] = cardinal_plural_afrikaans;
731 r[iso_639{
"en"}.intrinsic()] = cardinal_plural_afrikaans;
732 r[iso_639{
"eo"}.intrinsic()] = cardinal_plural_afrikaans;
733 r[iso_639{
"et"}.intrinsic()] = cardinal_plural_afrikaans;
736 r[iso_639{
"ee"}.intrinsic()] = cardinal_plural_afrikaans;
737 r[iso_639{
"fo"}.intrinsic()] = cardinal_plural_afrikaans;
738 r[iso_639{
"fi"}.intrinsic()] = cardinal_plural_afrikaans;
739 r[iso_639{
"fur"}.intrinsic()] = cardinal_plural_afrikaans;
740 r[iso_639{
"gl"}.intrinsic()] = cardinal_plural_afrikaans;
741 r[iso_639{
"lg"}.intrinsic()] = cardinal_plural_afrikaans;
743 r[iso_639{
"ka"}.intrinsic()] = cardinal_plural_afrikaans;
744 r[iso_639{
"de"}.intrinsic()] = cardinal_plural_afrikaans;
745 r[iso_639{
"el"}.intrinsic()] = cardinal_plural_afrikaans;
746 r[iso_639{
"ha"}.intrinsic()] = cardinal_plural_afrikaans;
747 r[iso_639{
"haw"}.intrinsic()] = cardinal_plural_afrikaans;
748 r[iso_639{
"hu"}.intrinsic()] = cardinal_plural_afrikaans;
749 r[iso_639{
"io"}.intrinsic()] = cardinal_plural_afrikaans;
750 r[iso_639{
"ia"}.intrinsic()] = cardinal_plural_afrikaans;
752 r[iso_639{
"it"}.intrinsic()] = cardinal_plural_afrikaans;
753 r[iso_639{
"kaj"}.intrinsic()] = cardinal_plural_afrikaans;
754 r[iso_639{
"kkj"}.intrinsic()] = cardinal_plural_afrikaans;
755 r[iso_639{
"kl"}.intrinsic()] = cardinal_plural_afrikaans;
756 r[iso_639{
"ks"}.intrinsic()] = cardinal_plural_afrikaans;
757 r[iso_639{
"kk"}.intrinsic()] = cardinal_plural_afrikaans;
758 r[iso_639{
"ku"}.intrinsic()] = cardinal_plural_afrikaans;
759 r[iso_639{
"ky"}.intrinsic()] = cardinal_plural_afrikaans;
761 r[iso_639{
"lb"}.intrinsic()] = cardinal_plural_afrikaans;
762 r[iso_639{
"jmc"}.intrinsic()] = cardinal_plural_afrikaans;
763 r[iso_639{
"ml"}.intrinsic()] = cardinal_plural_afrikaans;
764 r[iso_639{
"mr"}.intrinsic()] = cardinal_plural_afrikaans;
765 r[iso_639{
"mas"}.intrinsic()] = cardinal_plural_afrikaans;
766 r[iso_639{
"mgo"}.intrinsic()] = cardinal_plural_afrikaans;
767 r[iso_639{
"mn"}.intrinsic()] = cardinal_plural_afrikaans;
769 r[iso_639{
"nah"}.intrinsic()] = cardinal_plural_afrikaans;
770 r[iso_639{
"ne"}.intrinsic()] = cardinal_plural_afrikaans;
771 r[iso_639{
"nnh"}.intrinsic()] = cardinal_plural_afrikaans;
772 r[iso_639{
"jgo"}.intrinsic()] = cardinal_plural_afrikaans;
773 r[iso_639{
"ns"}.intrinsic()] = cardinal_plural_afrikaans;
774 r[iso_639{
"no"}.intrinsic()] = cardinal_plural_afrikaans;
776 r[iso_639{
"nb"}.intrinsic()] = cardinal_plural_afrikaans;
777 r[iso_639{
"nn"}.intrinsic()] = cardinal_plural_afrikaans;
778 r[iso_639{
"ny"}.intrinsic()] = cardinal_plural_afrikaans;
779 r[iso_639{
"nyn"}.intrinsic()] = cardinal_plural_afrikaans;
780 r[iso_639{
"or"}.intrinsic()] = cardinal_plural_afrikaans;
781 r[iso_639{
"om"}.intrinsic()] = cardinal_plural_afrikaans;
783 r[iso_639{
"os"}.intrinsic()] = cardinal_plural_afrikaans;
784 r[iso_639{
"pap"}.intrinsic()] = cardinal_plural_afrikaans;
785 r[iso_639{
"ps"}.intrinsic()] = cardinal_plural_afrikaans;
786 r[iso_639{
"rm"}.intrinsic()] = cardinal_plural_afrikaans;
787 r[iso_639{
"rof"}.intrinsic()] = cardinal_plural_afrikaans;
788 r[iso_639{
"rwk"}.intrinsic()] = cardinal_plural_afrikaans;
789 r[iso_639{
"ssy"}.intrinsic()] = cardinal_plural_afrikaans;
790 r[iso_639{
"saq"}.intrinsic()] = cardinal_plural_afrikaans;
792 r[iso_639{
"sc"}.intrinsic()] = cardinal_plural_afrikaans;
793 r[iso_639{
"seh"}.intrinsic()] = cardinal_plural_afrikaans;
794 r[iso_639{
"ksb"}.intrinsic()] = cardinal_plural_afrikaans;
795 r[iso_639{
"sn"}.intrinsic()] = cardinal_plural_afrikaans;
796 r[iso_639{
"scn"}.intrinsic()] = cardinal_plural_afrikaans;
797 r[iso_639{
"sd"}.intrinsic()] = cardinal_plural_afrikaans;
798 r[iso_639{
"xog"}.intrinsic()] = cardinal_plural_afrikaans;
799 r[iso_639{
"so"}.intrinsic()] = cardinal_plural_afrikaans;
801 r[iso_639{
"nr"}.intrinsic()] = cardinal_plural_afrikaans;
802 r[iso_639{
"sdh"}.intrinsic()] = cardinal_plural_afrikaans;
803 r[iso_639{
"st"}.intrinsic()] = cardinal_plural_afrikaans;
804 r[iso_639{
"es"}.intrinsic()] = cardinal_plural_afrikaans;
805 r[iso_639{
"sw"}.intrinsic()] = cardinal_plural_afrikaans;
807 r[iso_639{
"ss"}.intrinsic()] = cardinal_plural_afrikaans;
808 r[iso_639{
"sv"}.intrinsic()] = cardinal_plural_afrikaans;
809 r[iso_639{
"gsw"}.intrinsic()] = cardinal_plural_afrikaans;
810 r[iso_639{
"syr"}.intrinsic()] = cardinal_plural_afrikaans;
811 r[iso_639{
"ta"}.intrinsic()] = cardinal_plural_afrikaans;
812 r[iso_639{
"te"}.intrinsic()] = cardinal_plural_afrikaans;
813 r[iso_639{
"teo"}.intrinsic()] = cardinal_plural_afrikaans;
814 r[iso_639{
"tig"}.intrinsic()] = cardinal_plural_afrikaans;
816 r[iso_639{
"ts"}.intrinsic()] = cardinal_plural_afrikaans;
817 r[iso_639{
"tn"}.intrinsic()] = cardinal_plural_afrikaans;
818 r[iso_639{
"tr"}.intrinsic()] = cardinal_plural_afrikaans;
819 r[iso_639{
"tk"}.intrinsic()] = cardinal_plural_afrikaans;
820 r[iso_639{
"kcg"}.intrinsic()] = cardinal_plural_afrikaans;
821 r[iso_639{
"ur"}.intrinsic()] = cardinal_plural_afrikaans;
822 r[iso_639{
"ug"}.intrinsic()] = cardinal_plural_afrikaans;
823 r[iso_639{
"uz"}.intrinsic()] = cardinal_plural_afrikaans;
824 r[iso_639{
"ve"}.intrinsic()] = cardinal_plural_afrikaans;
826 r[iso_639{
"vo"}.intrinsic()] = cardinal_plural_afrikaans;
827 r[iso_639{
"vun"}.intrinsic()] = cardinal_plural_afrikaans;
828 r[iso_639{
"wae"}.intrinsic()] = cardinal_plural_afrikaans;
829 r[iso_639{
"fy"}.intrinsic()] = cardinal_plural_afrikaans;
830 r[iso_639{
"xh"}.intrinsic()] = cardinal_plural_afrikaans;
831 r[iso_639{
"ji"}.intrinsic()] = cardinal_plural_afrikaans;
832 r[iso_639{
"yi"}.intrinsic()] = cardinal_plural_afrikaans;
835 r[iso_639{
"lv"}.intrinsic()] = cardinal_plural_latvian;
836 r[iso_639{
"prg"}.intrinsic()] = cardinal_plural_latvian;
839 r[iso_639{
"ksh"}.intrinsic()] = cardinal_plural_colognian;
840 r[iso_639{
"lag"}.intrinsic()] = cardinal_plural_colognian;
843 r[iso_639{
"smn"}.intrinsic()] = cardinal_plural_inari_sami;
844 r[iso_639{
"iu"}.intrinsic()] = cardinal_plural_inari_sami;
845 r[iso_639{
"smj"}.intrinsic()] = cardinal_plural_inari_sami;
846 r[iso_639{
"naq"}.intrinsic()] = cardinal_plural_inari_sami;
847 r[iso_639{
"se"}.intrinsic()] = cardinal_plural_inari_sami;
849 r[iso_639{
"smi"}.intrinsic()] = cardinal_plural_inari_sami;
850 r[iso_639{
"sms"}.intrinsic()] = cardinal_plural_inari_sami;
851 r[iso_639{
"sma"}.intrinsic()] = cardinal_plural_inari_sami;
854 r[iso_639{
"be"}.intrinsic()] = cardinal_plural_belarusian;
855 r[iso_639{
"ru"}.intrinsic()] = cardinal_plural_belarusian;
856 r[iso_639{
"uk"}.intrinsic()] = cardinal_plural_belarusian;
859 r[iso_639{
"pl"}.intrinsic()] = cardinal_plural_polish;
862 r[iso_639{
"lt"}.intrinsic()] = cardinal_plural_lithuanian;
865 r[iso_639{
"bs"}.intrinsic()] = cardinal_plural_bosnian;
866 r[iso_639{
"hr"}.intrinsic()] = cardinal_plural_bosnian;
867 r[iso_639{
"sr"}.intrinsic()] = cardinal_plural_bosnian;
868 r[iso_639{
"sh"}.intrinsic()] = cardinal_plural_bosnian;
871 r[iso_639{
"shi"}.intrinsic()] = cardinal_plural_tachelhit;
874 r[iso_639{
"mo"}.intrinsic()] = cardinal_plural_moldavian;
875 r[iso_639{
"ro"}.intrinsic()] = cardinal_plural_moldavian;
878 r[iso_639{
"cs"}.intrinsic()] = cardinal_plural_czech;
879 r[iso_639{
"sk"}.intrinsic()] = cardinal_plural_czech;
882 r[iso_639{
"gv"}.intrinsic()] = cardinal_plural_manx;
885 r[iso_639{
"gd"}.intrinsic()] = cardinal_plural_scottish_gaelic;
888 r[iso_639{
"br"}.intrinsic()] = cardinal_plural_breton;
891 r[iso_639{
"dsb"}.intrinsic()] = cardinal_plural_lower_sorbian;
892 r[iso_639{
"sl"}.intrinsic()] = cardinal_plural_lower_sorbian;
893 r[iso_639{
"hsb"}.intrinsic()] = cardinal_plural_lower_sorbian;
896 r[iso_639{
"he"}.intrinsic()] = cardinal_plural_hebrew;
899 r[iso_639{
"mt"}.intrinsic()] = cardinal_plural_maltese;
902 r[iso_639{
"ga"}.intrinsic()] = cardinal_plural_irish;
905 r[iso_639{
"ar"}.intrinsic()] = cardinal_plural_arabic;
906 r[iso_639{
"ars"}.intrinsic()] = cardinal_plural_arabic;
909 r[iso_639{
"cy"}.intrinsic()] = cardinal_plural_welsh;
912 r[iso_639{
"kw"}.intrinsic()] = cardinal_plural_cornish;
917constexpr auto cardinal_plural_table = cardinal_plural_table_init();
932 return cardinal_plural_afrikaans(detail::plural_operand(n));
937 return detail::cardinal_plural_table[
language_index](detail::plural_operand(n));
@ other
The gui_event does not have associated data.
DOXYGEN BUG.
Definition algorithm.hpp:16
geometry/margins.hpp
Definition lookahead_iterator.hpp:5
plurality_value
The plurality value of a cardinal or ordinal number.
Definition unicode_plural.hpp:26
@ other
Any other number, every language will have at least this.
@ few
The number is part of few, and this means something in the current language.
@ many
The number is part of many, and this means something in the current language.
@ two
The number was two, and this means something in the current language.
@ zero
The number was zero, and this means something in the current language.
@ one
The number was one, and this means something in the current language.
plurality_mask
A mask of plurality values that this language supports.
Definition unicode_plural.hpp:54
@ other
Any other number, every language will have at least this.
@ few
The number is part of few, and this means something in the current language.
@ many
The number is part of many, and this means something in the current language.
@ two
The number was two, and this means something in the current language.
@ zero
The number was zero, and this means something in the current language.
@ one
The number was one, and this means something in the current language.
constexpr plurality cardinal_plural(language_tag language, std::integral auto n) noexcept
Get plural information of a number in a given language.
Definition unicode_plural.hpp:927
constexpr Out narrow_cast(In const &rhs) noexcept
Cast numeric values without loss of precision.
Definition cast.hpp:377
The IETF BCP 47 language tag.
Definition language_tag_intf.hpp:28
Plurality of a number.
Definition unicode_plural.hpp:89
constexpr size_t index(size_t n) const noexcept
Get an index to select between translations.
Definition unicode_plural.hpp:106
The operand for the unicode-plural rules.
Definition unicode_plural.hpp:128
uint8_t i
Number of digits in the value.
Definition unicode_plural.hpp:143
unsigned long long f
Visible fraction digits with trailing zeros.
Definition unicode_plural.hpp:135
uint8_t c
Compact decimal exponent value.
Definition unicode_plural.hpp:155
unsigned long long t
Visible fraction digits without trailing zeros.
Definition unicode_plural.hpp:139
uint8_t w
Number of visible fraction digits without trailing zeros.
Definition unicode_plural.hpp:151
uint8_t v
Number of visible fraction digits with trailing zeros.
Definition unicode_plural.hpp:147
unsigned long long n
Absolute value.
Definition unicode_plural.hpp:131