summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/siunitx/siunitx-number.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-07-26 03:00:50 +0000
committerNorbert Preining <norbert@preining.info>2023-07-26 03:00:50 +0000
commitcd61ef4a2d1994eb5729fcec4bfcf1fb1682f21d (patch)
tree9398dfb1919cec07283c0a559edf17de12e61924 /macros/latex/contrib/siunitx/siunitx-number.dtx
parentbe53973de38a7aa9a3a0a8c70fd92bdf893c1a35 (diff)
CTAN sync 202307260300
Diffstat (limited to 'macros/latex/contrib/siunitx/siunitx-number.dtx')
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx39
1 files changed, 18 insertions, 21 deletions
diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index 0b51a9cd1c..8bc0a2dd71 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/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}