diff options
author | Karl Berry <karl@freefriends.org> | 2023-07-25 19:34:11 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-07-25 19:34:11 +0000 |
commit | aa1fbdb9535e9887b1fa63d62fdbdbec5ad7bc0f (patch) | |
tree | 7ba199bc0a987298216ec86c82e28a51a348c599 /Master/texmf-dist/source/latex/siunitx/siunitx-number.dtx | |
parent | 2ab313d95b3ce814b2d5a6a262207c5306f8715b (diff) |
siunitx (25jul23)
git-svn-id: svn://tug.org/texlive/trunk@67730 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/siunitx/siunitx-number.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/siunitx/siunitx-number.dtx | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/Master/texmf-dist/source/latex/siunitx/siunitx-number.dtx b/Master/texmf-dist/source/latex/siunitx/siunitx-number.dtx index 0b51a9cd1c0..8bc0a2dd718 100644 --- a/Master/texmf-dist/source/latex/siunitx/siunitx-number.dtx +++ b/Master/texmf-dist/source/latex/siunitx/siunitx-number.dtx @@ -2619,7 +2619,8 @@ % } % \begin{macro}[EXP]{\@@_round_auxiv:nnN, \@@_round_auxv:nnN} % \begin{macro}[EXP]{\@@_round_auxvi:nN} -% \begin{macro}[EXP]{\@@_round_auxvii:nnN, \@@_round_auxviii:nnN} +% \begin{macro}[EXP]{\@@_round_auxvii:nnTF} +% \begin{macro}[EXP]{\@@_round_auxviii:nnN, \@@_round_auxix:nnN} % \begin{macro}[EXP]{\@@_round_final_integer:nnw, \@@_round_final_decimal:nnw} % \begin{macro}[EXP]{\@@_round_final_signicant:n} % \begin{macro}[EXP]{\@@_round_final_signicant:N} @@ -2731,37 +2732,32 @@ \@@_round_auxvi:nnN {#1} { } #2 \q_recursion_tail \q_recursion_stop } - \bool_lazy_or:nnTF - { \int_compare_p:nNn { 0 \tl_head:n {#1} } < 5 } - { - \bool_lazy_all_p:n - { - { \l_@@_round_half_even_bool } - { ! \int_if_odd_p:n {#3} } - { \@@_round_if_half_p:n {#1} } - } - } + \@@_round_auxvii:nnTF {#1} {#3} { \@@_round_final_decimal:nnw } - { \@@_round_auxvii:nnN } + { \@@_round_auxviii:nnN } {#2} { } #3 } \cs_new:Npn \@@_round_auxvi:nnN #1#2#3 { \quark_if_recursion_tail_stop_do:Nn #3 { { 0 } { } } + \@@_round_auxvii:nnTF {#1} {#3} + { \@@_round_final_integer:nnw } + { \@@_round_auxix:nnN } + { } {#2} #3 + } +\cs_new:Npn \@@_round_auxvii:nnTF #1#2 + { \bool_lazy_or:nnTF { \int_compare_p:nNn { 0 \tl_head:n {#1} } < 5 } { \bool_lazy_all_p:n { { \l_@@_round_half_even_bool } - { ! \int_if_odd_p:n {#3} } + { ! \int_if_odd_p:n {#2} } { \@@_round_if_half_p:n {#1} } } } - { \@@_round_final_integer:nnw } - { \@@_round_auxviii:nnN } - { } {#2} #3 } % \end{macrocode} % The main rounding routines. These are only every called when there is @@ -2771,7 +2767,7 @@ % where a zero is rounded up: that automatically means a need to trim % the other end. % \begin{macrocode} -\cs_new:Npn \@@_round_auxvii:nnN #1#2#3 +\cs_new:Npn \@@_round_auxviii:nnN #1#2#3 { \quark_if_recursion_tail_stop_do:Nn #3 { @@ -2782,12 +2778,12 @@ { \@@_round_truncate:n {#2} } } { - \@@_round_auxviii:nnN {#2} { } #1 + \@@_round_auxix:nnN {#2} { } #1 \q_recursion_tail \q_recursion_stop } } \int_compare:nNnTF {#3} = 9 - { \@@_round_auxvii:nnN {#1} { 0 #2 } } + { \@@_round_auxviii:nnN {#1} { 0 #2 } } { \int_compare:nNnTF {#3} = 0 { @@ -2810,7 +2806,7 @@ } } } -\cs_new:Npn \@@_round_auxviii:nnN #1#2#3 +\cs_new:Npn \@@_round_auxix:nnN #1#2#3 { \quark_if_recursion_tail_stop_do:Nn #3 { @@ -2830,7 +2826,7 @@ } } \int_compare:nNnTF {#3} = 9 - { \@@_round_auxviii:nnN {#1} { 0 #2 } } + { \@@_round_auxix:nnN {#1} { 0 #2 } } { \@@_round_final:fn { \int_eval:n { #3 + 1 } } @@ -2985,6 +2981,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % % \begin{macro}[EXP]{\@@_round_if_half_p:n} % \begin{macro}[EXP]{\@@_round_if_half:N} |