summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev/l3kernel/expl3-code.tex')
-rw-r--r--Master/texmf-dist/tex/latex-dev/l3kernel/expl3-code.tex2400
1 files changed, 1326 insertions, 1074 deletions
diff --git a/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-code.tex
index 95f3f5f447d..8d95f514b00 100644
--- a/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex-dev/l3kernel/expl3-code.tex
@@ -62,7 +62,7 @@
%% l3legacy.dtx (with options: `package')
%% l3deprecation.dtx (with options: `package')
%%
-%% Copyright (C) 1990-2024 The LaTeX Project
+%% Copyright (C) 1990-2025 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -75,7 +75,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2024-09-10}%
+\def\ExplFileDate{2025-01-18}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -716,7 +716,6 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_primitive:NN \pdfoutline \tex_pdfoutline:D
\__kernel_primitive:NN \pdfoutput \tex_pdfoutput:D
\__kernel_primitive:NN \pdfpageattr \tex_pdfpageattr:D
- \__kernel_primitive:NN \pdfpagesattr \tex_pdfpagesattr:D
\__kernel_primitive:NN \pdfpagebox \tex_pdfpagebox:D
\__kernel_primitive:NN \pdfpageref \tex_pdfpageref:D
\__kernel_primitive:NN \pdfpageresources \tex_pdfpageresources:D
@@ -1313,13 +1312,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_primitive:NN \ybaselineshift \tex_ybaselineshift:D
\__kernel_primitive:NN \yoko \tex_yoko:D
\__kernel_primitive:NN \vfi \tex_vfi:D
- \__kernel_primitive:NN \currentcjktoken \tex_currentcjktoken:D
\__kernel_primitive:NN \disablecjktoken \tex_disablecjktoken:D
\__kernel_primitive:NN \enablecjktoken \tex_enablecjktoken:D
\__kernel_primitive:NN \forcecjktoken \tex_forcecjktoken:D
\__kernel_primitive:NN \kchar \tex_kchar:D
\__kernel_primitive:NN \kchardef \tex_kchardef:D
- \__kernel_primitive:NN \kuten \tex_kuten:D
\__kernel_primitive:NN \uptexrevision \tex_uptexrevision:D
\__kernel_primitive:NN \uptexversion \tex_uptexversion:D
\__kernel_primitive:NN \odelcode \tex_odelcode:D
@@ -3076,13 +3073,23 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__cs_generate_variant:w #2 \s__cs_mark {#3} {#4} {#5}
}
\cs_new_protected:Npn \__cs_generate_variant_p_form:nnn #1#2
- { \cs_generate_variant:cn { #1 _p : #2 } }
+ { \__cs_generate_variant_check:nn { #1 _p : #2 } }
\cs_new_protected:Npn \__cs_generate_variant_T_form:nnn #1#2
- { \cs_generate_variant:cn { #1 : #2 T } }
+ { \__cs_generate_variant_check:nn { #1 : #2 T } }
\cs_new_protected:Npn \__cs_generate_variant_F_form:nnn #1#2
- { \cs_generate_variant:cn { #1 : #2 F } }
+ { \__cs_generate_variant_check:nn { #1 : #2 F } }
\cs_new_protected:Npn \__cs_generate_variant_TF_form:nnn #1#2
- { \cs_generate_variant:cn { #1 : #2 TF } }
+ { \__cs_generate_variant_check:nn { #1 : #2 TF } }
+\cs_new_protected:Npn \__cs_generate_variant_check:nn #1#2
+ {
+ \cs_if_exist:cTF {#1}
+ { \cs_generate_variant:cn {#1} {#2} }
+ {
+ \msg_error:nne
+ { kernel } { conditional-base-undefined }
+ { \token_to_str:c {#1} }
+ }
+ }
\cs_new_protected:Npn \exp_args_generate:n #1
{
\exp_args:No \clist_map_inline:nn { \tl_to_str:n {#1} }
@@ -3476,7 +3483,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_chk_if_free_cs:N #1
\cs_gset_nopar:Npe #1 { \__kernel_exp_not:w {#2} }
}
-\cs_generate_variant:Nn \tl_const:Nn { Ne , c , ce }
+\cs_generate_variant:Nn \tl_const:Nn { NV , Ne , c , cV , ce }
\cs_generate_variant:Nn \tl_const:Nn { Nx , cx }
\cs_new_protected:Npn \tl_clear:N #1
{ \tex_let:D #1 = ~ \c_empty_tl }
@@ -3867,6 +3874,37 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__tl_replace_next_aux:w { \__tl_replace_next:w { } { } }
\cs_new_eq:NN \__tl_replace_wrap:w ?
\cs_new_eq:NN \__tl_replace_next:w ?
+\cs_new_protected:Npn \tl_regex_replace_once:Nnn #1#2#3
+ { \regex_replace_once:nnN {#2} {#3} #1 }
+\cs_generate_variant:Nn \tl_regex_replace_once:Nnn { c }
+\cs_new_protected:Npn \tl_regex_replace_once:NNn #1#2#3
+ { \regex_replace_once:NnN #2 {#3} #1 }
+\cs_generate_variant:Nn \tl_regex_replace_once:NNn { c }
+\cs_new_protected:Npn \tl_regex_replace_all:Nnn #1#2#3
+ { \regex_replace_all:nnN {#2} {#3} #1 }
+\cs_generate_variant:Nn \tl_regex_replace_all:Nnn { c }
+\cs_new_protected:Npn \tl_regex_replace_all:NNn #1#2#3
+ { \regex_replace_all:NnN #2 {#3} #1 }
+\cs_generate_variant:Nn \tl_regex_replace_all:NNn { c }
+\group_begin:
+ \cs_set_protected:Npn \__tl_tmp:w #1#2#3
+ {
+ \cs_new_protected:cpe { tl_regex_greplace_ #1 :N #2 n } ##1##2##3
+ {
+ \group_begin:
+ \tl_set_eq:NN \exp_not:N \l__tl_internal_a_tl ##1
+ \exp_not:c { regex_replace_ #1 :Nn #2 }
+ #3 {##2} {##3} \exp_not:N \l__tl_internal_a_tl
+ \tl_gset_eq:NN ##1 \exp_not:N \l__tl_internal_a_tl
+ \group_end:
+ }
+ \cs_generate_variant:cn { tl_regex_greplace_ #1 :N #2 n } { c }
+ }
+ \__tl_tmp:w { once } n { }
+ \__tl_tmp:w { once } N \use:n
+ \__tl_tmp:w { all } n { }
+ \__tl_tmp:w { all } N \use:n
+\group_end:
\cs_new_protected:Npn \tl_remove_once:Nn #1#2
{ \tl_replace_once:Nnn #1 {#2} { } }
\cs_new_protected:Npn \tl_gremove_once:Nn #1#2
@@ -4019,6 +4057,20 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_return_false:
\fi:
}
+\prg_new_protected_conditional:Npnn \tl_if_regex_match:nn #1#2 { TF , T , F }
+ {
+ \regex_match:nnTF {#2} {#1}
+ \prg_return_true: \prg_return_false:
+ }
+\prg_generate_conditional_variant:Nnn \tl_if_regex_match:nn
+ { V } { TF , T , F }
+\prg_new_protected_conditional:Npnn \tl_if_regex_match:nN #1#2 { TF , T , F }
+ {
+ \regex_match:nNTF {#2} #1
+ \prg_return_true: \prg_return_false:
+ }
+\prg_generate_conditional_variant:Nnn \tl_if_regex_match:nN
+ { V } { TF , T , F }
\cs_new:Npn \tl_map_function:nN #1#2
{
\__tl_map_function:Nnnnnnnnn #2 #1
@@ -5622,6 +5674,45 @@ Type H <return> for immediate help}\def~{\errmessage{%
#1 #2 { #3 }
\__seq_pop_item_def:
}
+\cs_new_protected:Npn \seq_set_regex_extract_once:Nnn #1#2#3
+ { \regex_extract_once:nnN {#2} {#3} #1 }
+\cs_generate_variant:Nn \seq_set_regex_extract_once:Nnn { c }
+\cs_new_protected:Npn \seq_set_regex_extract_once:NNn #1#2#3
+ { \regex_extract_once:NnN #2 {#3} #1 }
+\cs_generate_variant:Nn \seq_set_regex_extract_once:NNn { c }
+\cs_new_protected:Npn \seq_set_regex_extract_all:Nnn #1#2#3
+ { \regex_extract_all:nnN {#2} {#3} #1 }
+\cs_generate_variant:Nn \seq_set_regex_extract_all:Nnn { c }
+\cs_new_protected:Npn \seq_set_regex_extract_all:NNn #1#2#3
+ { \regex_extract_all:NnN #2 {#3} #1 }
+\cs_generate_variant:Nn \seq_set_regex_extract_all:NNn { c }
+\cs_new_protected:Npn \seq_set_regex_split:Nnn #1#2#3
+ { \regex_split:nnN {#2} {#3} #1 }
+\cs_generate_variant:Nn \seq_set_regex_split:Nnn { c }
+\cs_new_protected:Npn \seq_set_regex_split:NNn #1#2#3
+ { \regex_split:NnN #2 {#3} #1 }
+\cs_generate_variant:Nn \seq_set_regex_split:NNn { c }
+\group_begin:
+ \cs_set_protected:Npn \__seq_tmp:w #1#2#3
+ {
+ \cs_new_protected:cpe { seq_gset_regex_ #1 :N #2 n } ##1##2##3
+ {
+ \group_begin:
+ \seq_set_eq:NN \exp_not:N \l__seq_tmp_seq ##1
+ \exp_not:c { regex_ #1 :Nn #2 }
+ #3 {##2} {##3} \exp_not:N \l__seq_tmp_seq
+ \seq_gset_eq:NN ##1 \exp_not:N \l__seq_tmp_seq
+ \group_end:
+ }
+ \cs_generate_variant:cn { seq_gset_regex_ #1 :N #2 n } { c }
+ }
+ \__seq_tmp:w { extract_once } n { }
+ \__seq_tmp:w { extract_once } N \use:n
+ \__seq_tmp:w { extract_all } n { }
+ \__seq_tmp:w { extract_all } N \use:n
+ \__seq_tmp:w { split } n { }
+ \__seq_tmp:w { split } N \use:n
+\group_end:
\cs_new_protected:Npn \seq_concat:NNN #1#2#3
{ \tl_set:Nf #1 { \exp_after:wN \use_i:nn \exp_after:wN #2 #3 } }
\cs_new_protected:Npn \seq_gconcat:NNN #1#2#3
@@ -5662,20 +5753,20 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_generate_variant:Nn \seq_gput_right:Nn { NV , Nv , Ne , No , Nx }
\cs_generate_variant:Nn \seq_gput_right:Nn { c , cV , cv , ce , co , cx }
\cs_new:Npn \__seq_wrap_item:n #1 { \exp_not:n { \__seq_item:n {#1} } }
-\seq_new:N \l__seq_remove_seq
+\seq_new:N \l__seq_tmp_seq
\cs_new_protected:Npn \seq_remove_duplicates:N
{ \__seq_remove_duplicates:NN \seq_set_eq:NN }
\cs_new_protected:Npn \seq_gremove_duplicates:N
{ \__seq_remove_duplicates:NN \seq_gset_eq:NN }
\cs_new_protected:Npn \__seq_remove_duplicates:NN #1#2
{
- \seq_clear:N \l__seq_remove_seq
+ \seq_clear:N \l__seq_tmp_seq
\seq_map_inline:Nn #2
{
- \seq_if_in:NnF \l__seq_remove_seq {##1}
- { \seq_put_right:Nn \l__seq_remove_seq {##1} }
+ \seq_if_in:NnF \l__seq_tmp_seq {##1}
+ { \seq_put_right:Nn \l__seq_tmp_seq {##1} }
}
- #1 #2 \l__seq_remove_seq
+ #1 #2 \l__seq_tmp_seq
}
\cs_generate_variant:Nn \seq_remove_duplicates:N { c }
\cs_generate_variant:Nn \seq_gremove_duplicates:N { c }
@@ -6298,13 +6389,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \int_eval:n #1
{ \tex_the:D \__int_eval:w #1 \__int_eval_end: }
\cs_new:Npn \int_eval:w { \tex_the:D \__int_eval:w }
+\cs_new_eq:NN \__int_sep: \tex_right:D
\cs_new:Npn \int_sign:n #1
{
\int_value:w \exp_after:wN \__int_sign:Nw
- \int_value:w \__int_eval:w #1 \__int_eval_end: ;
+ \int_value:w \__int_eval:w #1 \__int_eval_end: \__int_sep:
\exp_stop_f:
}
-\cs_new:Npn \__int_sign:Nw #1#2 ;
+\cs_new:Npn \__int_sign:Nw #1#2 \__int_sep:
{
\if_meaning:w 0 #1
0
@@ -6323,20 +6415,20 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \int_max:nn #1#2
{
\int_value:w \exp_after:wN \__int_maxmin:wwN
- \int_value:w \__int_eval:w #1 \exp_after:wN ;
- \int_value:w \__int_eval:w #2 ;
+ \int_value:w \__int_eval:w #1 \exp_after:wN \__int_sep:
+ \int_value:w \__int_eval:w #2 \__int_sep:
>
\exp_stop_f:
}
\cs_new:Npn \int_min:nn #1#2
{
\int_value:w \exp_after:wN \__int_maxmin:wwN
- \int_value:w \__int_eval:w #1 \exp_after:wN ;
- \int_value:w \__int_eval:w #2 ;
+ \int_value:w \__int_eval:w #1 \exp_after:wN \__int_sep:
+ \int_value:w \__int_eval:w #2 \__int_sep:
<
\exp_stop_f:
}
-\cs_new:Npn \__int_maxmin:wwN #1 ; #2 ; #3
+\cs_new:Npn \__int_maxmin:wwN #1 \__int_sep: #2 \__int_sep: #3
{
\if_int_compare:w #1 #3 #2 ~
#1
@@ -6348,11 +6440,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\int_value:w \__int_eval:w
\exp_after:wN \__int_div_truncate:NwNw
- \int_value:w \__int_eval:w #1 \exp_after:wN ;
- \int_value:w \__int_eval:w #2 ;
+ \int_value:w \__int_eval:w #1 \exp_after:wN \__int_sep:
+ \int_value:w \__int_eval:w #2 \__int_sep:
\__int_eval_end:
}
-\cs_new:Npn \__int_div_truncate:NwNw #1#2; #3#4;
+\cs_new:Npn \__int_div_truncate:NwNw #1#2 \__int_sep: #3#4 \__int_sep:
{
\if_meaning:w 0 #1
0
@@ -6370,12 +6462,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \int_mod:nn #1#2
{
\int_value:w \__int_eval:w \exp_after:wN \__int_mod:ww
- \int_value:w \__int_eval:w #1 \exp_after:wN ;
- \int_value:w \__int_eval:w #2 ;
+ \int_value:w \__int_eval:w #1 \exp_after:wN \__int_sep:
+ \int_value:w \__int_eval:w #2 \__int_sep:
\__int_eval_end:
}
-\cs_new:Npn \__int_mod:ww #1; #2;
- { #1 - ( \__int_div_truncate:NwNw #1 ; #2 ; ) * #2 }
+\cs_new:Npn \__int_mod:ww #1 \__int_sep: #2 \__int_sep:
+ { #1 - ( \__int_div_truncate:NwNw #1 \__int_sep: #2 \__int_sep: ) * #2 }
\cs_new:Npn \__kernel_int_add:nnn #1#2#3
{
\int_value:w \__int_eval:w #1
@@ -6471,8 +6563,32 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ #1 = \__int_eval:w #2 \__int_eval_end: }
\cs_new_protected:Npn \int_gset:Nn #1#2
{ \tex_global:D #1 = \__int_eval:w #2 \__int_eval_end: }
-\cs_generate_variant:Nn \int_set:Nn { c }
-\cs_generate_variant:Nn \int_gset:Nn { c }
+\cs_generate_variant:Nn \int_set:Nn { NV , c , cV }
+\cs_generate_variant:Nn \int_gset:Nn { NV , c , cV }
+\cs_new_protected:Npn \int_set_regex_count:Nnn #1#2#3
+ { \regex_count:nnN {#2} {#3} #1 }
+\cs_generate_variant:Nn \int_set_regex_count:Nnn { c }
+\cs_new_protected:Npn \int_gset_regex_count:Nnn #1#2#3
+ {
+ \group_begin:
+ \int_set_eq:NN \l__int_internal_a_int #1
+ \regex_count:nnN {#2} {#3} \l__int_internal_a_int
+ \int_gset_eq:NN #1 \l__int_internal_a_int
+ \group_end:
+ }
+\cs_generate_variant:Nn \int_gset_regex_count:Nnn { c }
+\cs_new_protected:Npn \int_set_regex_count:NNn #1#2#3
+ { \regex_count:NnN #2 {#3} #1 }
+\cs_generate_variant:Nn \int_set_regex_count:Nnn { c }
+\cs_new_protected:Npn \int_gset_regex_count:NNn #1#2#3
+ {
+ \group_begin:
+ \int_set_eq:NN \l__int_internal_a_int #1
+ \regex_count:NnN #2 {#3} \l__int_internal_a_int
+ \int_gset_eq:NN #1 \l__int_internal_a_int
+ \group_end:
+ }
+\cs_generate_variant:Nn \int_gset_regex_count:NNn { c }
\cs_new_eq:NN \int_use:N \tex_the:D
\cs_new:Npn \int_use:c #1 { \tex_the:D \cs:w #1 \cs_end: }
\cs_new_protected:Npn \__int_compare_error:
@@ -6663,41 +6779,47 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \int_step_function:nnnN #1#2#3
{
- \exp_after:wN \__int_step:wwwN
- \int_value:w \__int_eval:w #1 \exp_after:wN ;
- \int_value:w \__int_eval:w #2 \exp_after:wN ;
- \int_value:w \__int_eval:w #3 ;
+ \exp_after:wN \__int_step:w
+ \int_value:w \__int_eval:w #1 \exp_after:wN \__int_sep:
+ \int_value:w \__int_eval:w #2 \exp_after:wN \__int_sep:
+ \int_value:w \__int_eval:w #3 \__int_sep:
}
-\cs_new:Npn \__int_step:wwwN #1; #2; #3; #4
+\cs_new:Npn \__int_step:w #1 \__int_sep: #2 \__int_sep: #3 \__int_sep: #4
{
\int_compare:nNnTF {#2} > \c_zero_int
- { \__int_step:NwnnN > }
+ { \__int_step:Nw > }
{
- \int_compare:nNnTF {#2} = \c_zero_int
+ \if_meaning:w 0 #2
+ \exp_after:wN \use_ii:nn
+ \fi:
+ \use_none:n
{
\msg_expandable_error:nnn
{ kernel } { zero-step } {#4}
\prg_break:
}
- { \__int_step:NwnnN < }
+ \__int_step:Nw <
}
- #1 ; {#2} {#3} #4
+ #1 \__int_sep: {#2} {#3} {#4}
\prg_break_point:
}
-\cs_new:Npn \__int_step:NwnnN #1#2 ; #3#4#5
+\cs_new:Npn \__int_step:Nw #1#2 \__int_sep: #3#4#5
{
\if_int_compare:w #2 #1 #4 \exp_stop_f:
\prg_break:n
\fi:
#5 {#2}
- \exp_after:wN \__int_step:NwnnN
+ \exp_after:wN \__int_step:Nw
\exp_after:wN #1
- \int_value:w \__int_eval:w #2 + #3 ; {#3} {#4} #5
+ \int_value:w \__int_eval:w #2 + #3 \__int_sep: {#3} {#4} {#5}
}
\cs_new:Npn \int_step_function:nN
- { \int_step_function:nnnN { 1 } { 1 } }
+ { \int_step_function:nnnN \c_one_int \c_one_int }
\cs_new:Npn \int_step_function:nnN #1
- { \int_step_function:nnnN {#1} { 1 } }
+ { \int_step_function:nnnN {#1} \c_one_int }
+\cs_new_eq:NN \int_step_tokens:nn \int_step_function:nN
+\cs_new_eq:NN \int_step_tokens:nnn \int_step_function:nnN
+\cs_new_eq:NN \int_step_tokens:nnnn \int_step_function:nnnN
\cs_new_protected:Npn \int_step_inline:nn
{ \int_step_inline:nnnn { 1 } { 1 } }
\cs_new_protected:Npn \int_step_inline:nnn #1
@@ -7585,6 +7707,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__sys_const:nn { sys_if_engine_ #1 }
{ \str_if_eq_p:Vn \c_sys_engine_str {#1} }
}
+\__sys_const:nn
+ { sys_if_engine_opentype }
+ { \cs_if_exist_p:N \tex_Umathcode:D }
\group_begin:
\cs_set_eq:NN \lua_now:e \tex_directlua:D
\str_const:Ne \c_sys_engine_exec_str
@@ -8641,6 +8766,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \clist_use:Nn #1#2
{ \clist_use:Nnnn #1 {#2} {#2} {#2} }
\cs_generate_variant:Nn \clist_use:Nn { c }
+\cs_new_eq:NN \clist_use:N \tl_use:N
+\cs_generate_variant:Nn \clist_use:N { c }
\cs_new:Npn \clist_use:nnnn #1#2#3#4
{
\__clist_use:Nw \__clist_use_none_delimit_by_s_stop:w
@@ -9075,7 +9202,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\group_end:
\group_begin:
\char_set_catcode_active:N \*
- \tl_const:Nn \c_catcode_active_tl { \exp_not:N * }
+ \tl_const:Nn \c__token_active_tl { \exp_not:N * }
\group_end:
\prg_new_conditional:Npnn \token_if_group_begin:N #1 { p , T , F , TF }
{
@@ -9133,7 +9260,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\prg_new_conditional:Npnn \token_if_active:N #1 { p , T , F , TF }
{
- \if_catcode:w \exp_not:N #1 \c_catcode_active_tl
+ \if_catcode:w \exp_not:N #1 \c__token_active_tl
\prg_return_true: \else: \prg_return_false: \fi:
}
\prg_new_eq_conditional:NNn \token_if_eq_meaning:NN \cs_if_eq:NN
@@ -9935,7 +10062,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN { \tl_to_str:n {#2} }
}
}
- { \exp_after:wN \__prop_get_linked:w #1 {#2} \use:n { } { } }
+ { \exp_after:wN \__prop_get_linked:w #1 {#2} \exp_not:n { } { } }
}
\cs_new:Npn \__prop_item:nnn #1#2#3
{
@@ -11055,6 +11182,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\msg_new:nnn { kernel } { randint-backward-range }
{ Wrong~order~of~bounds~in~\iow_char:N\\int_rand:nn{#1}{#2}. }
+\msg_new:nnnn { kernel } { conditional-base-undefined }
+ { Undefined~conditional~base~function~'#1'. }
+ {
+ \c__msg_coding_error_text_tl
+ LaTeX~has~been~asked~to~define~a~variant~of~the~conditional~'#1',~
+ but~the~latter~is~not~defined.
+ }
\msg_new:nnnn { kernel } { conditional-form-unknown }
{ Conditional~form~'#1'~for~function~'#2'~unknown. }
{
@@ -12364,6 +12498,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{#3}
}
}
+\cs_new_protected:Npn \file_forget:n #1
+ { \cs_undefine:c { __file_seen_ \file_full_name:n {#1} : } }
\cs_new_protected:Npn \file_get_full_name:nN #1#2
{
\file_get_full_name:nNF {#1} #2
@@ -12953,8 +13089,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ #1 = \__dim_eval:w #2 \__dim_eval_end: \scan_stop: }
\cs_new_protected:Npn \dim_gset:Nn #1#2
{ \tex_global:D #1 = \__dim_eval:w #2 \__dim_eval_end: \scan_stop: }
-\cs_generate_variant:Nn \dim_set:Nn { c }
-\cs_generate_variant:Nn \dim_gset:Nn { c }
+\cs_generate_variant:Nn \dim_set:Nn { NV , c , cV }
+\cs_generate_variant:Nn \dim_gset:Nn { NV , c , cV }
\cs_new_protected:Npn \dim_set_eq:NN #1#2
{ #1 = #2 \scan_stop: }
\cs_generate_variant:Nn \dim_set_eq:NN { c , Nc , cc }
@@ -13380,8 +13516,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ #1 = \tex_glueexpr:D #2 \scan_stop: }
\cs_new_protected:Npn \skip_gset:Nn #1#2
{ \tex_global:D #1 = \tex_glueexpr:D #2 \scan_stop: }
-\cs_generate_variant:Nn \skip_set:Nn { c }
-\cs_generate_variant:Nn \skip_gset:Nn { c }
+\cs_generate_variant:Nn \skip_set:Nn { NV , c , cV }
+\cs_generate_variant:Nn \skip_gset:Nn { NV , c , cV }
\cs_new_protected:Npn \skip_set_eq:NN #1#2 { #1 = #2 }
\cs_generate_variant:Nn \skip_set_eq:NN { c , Nc , cc }
\cs_new_protected:Npn \skip_gset_eq:NN #1#2 { \tex_global:D #1 = #2 }
@@ -13473,8 +13609,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ #1 = \tex_muexpr:D #2 \scan_stop: }
\cs_new_protected:Npn \muskip_gset:Nn #1#2
{ \tex_global:D #1 = \tex_muexpr:D #2 \scan_stop: }
-\cs_generate_variant:Nn \muskip_set:Nn { c }
-\cs_generate_variant:Nn \muskip_gset:Nn { c }
+\cs_generate_variant:Nn \muskip_set:Nn { NV , c , cV }
+\cs_generate_variant:Nn \muskip_gset:Nn { NV , c , cV }
\cs_new_protected:Npn \muskip_set_eq:NN #1#2 { #1 = #2 }
\cs_generate_variant:Nn \muskip_set_eq:NN { c , Nc , cc }
\cs_new_protected:Npn \muskip_gset_eq:NN #1#2 { \tex_global:D #1 = #2 }
@@ -13782,16 +13918,27 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\cs_set_eq:cN {#1} \tex_undefined:D
}
-\cs_new_protected:Npn \keys_define:nn
- { \__keys_define:onn \l__keys_module_str }
-\cs_generate_variant:Nn \keys_define:nn { ne , nx }
-\cs_new_protected:Npn \__keys_define:nnn #1#2#3
+\cs_new_protected:Npn \keys_define:nn #1#2
{
- \str_set:Ne \l__keys_module_str { \__keys_trim_spaces:n {#2} }
- \keyval_parse:NNn \__keys_define:n \__keys_define:nn {#3}
- \str_set:Nn \l__keys_module_str {#1}
+ \use:e
+ {
+ \exp_not:n
+ {
+ \str_set:Ne \l__keys_module_str { \__keys_trim_spaces:n {#1} }
+ \keyval_parse:NNn \__keys_define:n \__keys_define:nn {#2}
+ }
+ \__keys_reset_var:N \l__keys_module_str
+ \__keys_reset_var:N \l__keys_inherit_str
+ \__keys_reset_var:N \l_keys_choice_tl
+ \__keys_reset_var:N \l_keys_key_tl
+ \__keys_reset_var:N \l_keys_key_str
+ \__keys_reset_var:N \l_keys_path_tl
+ \__keys_reset_var:N \l_keys_path_str
+ \__keys_reset_var:N \l_keys_value_tl
+ \int_set:Nn \l_keys_choice_int { \int_use:N \l_keys_choice_int }
+ }
}
-\cs_generate_variant:Nn \__keys_define:nnn { o }
+\cs_generate_variant:Nn \keys_define:nn { ne , nx }
\cs_new_protected:Npn \__keys_define:n #1
{
\bool_set_true:N \l__keys_no_value_bool
@@ -14055,14 +14202,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs:w if#1 \cs_end:
}
}
-\cs_new_protected:Npn \__keys_meta_make:n #1
- {
- \exp_args:NVo \__keys_cmd_set_direct:nn \l_keys_path_str
- {
- \exp_after:wN \__keys_set:nn \exp_after:wN
- { \l__keys_module_str } {#1}
- }
- }
+\cs_new_protected:Npn \__keys_meta_make:n
+ { \exp_args:NV \__keys_meta_make:nn \l__keys_module_str }
\cs_new_protected:Npn \__keys_meta_make:nn #1#2
{
\exp_args:NV \__keys_cmd_set_direct:nn
@@ -14389,33 +14530,34 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__keys_value_requirement:nn { forbidden } {#1} }
\cs_new_protected:cpn { \c__keys_props_root_str .value_required:n } #1
{ \__keys_value_requirement:nn { required } {#1} }
-\cs_new_protected:Npn \__keys_set:nnnnNn
+\cs_new_protected:Npn \__keys_set:nnnnNn #1#2#3#4#5#6
{
- \exp_args:Nooo \__keys_set:nnnnnnnNn
- \l__keys_unused_clist
- \l__keys_selective_clist
- \l__keys_relative_tl
- }
-\cs_new_protected:Npn \__keys_set:nnnnnnnNn #1#2#3#4#5#6#7#8#9
- {
- \clist_clear:N \l__keys_unused_clist
- \clist_set:Ne \l__keys_selective_clist { \tl_to_str:n {#5} }
- \tl_set:Nn \l__keys_relative_tl {#7}
\use:e
{
\exp_not:n
{
- #9
- \__keys_set:nn {#4} {#6}
+ \clist_clear:N \l__keys_unused_clist
+ \clist_set:Ne \l__keys_selective_clist { \tl_to_str:n {#2} }
+ \tl_set:Nn \l__keys_relative_tl {#4}
+ #6
+ \__keys_set:nn {#1} {#3}
+ \clist_set_eq:NN #5 \l__keys_unused_clist
}
\__keys_reset_bool:N \l__keys_only_known_bool
\__keys_reset_bool:N \l__keys_exclude_bool
\__keys_reset_bool:N \l__keys_selective_bool
+ \__keys_reset_var:N \l__keys_unused_clist
+ \__keys_reset_var:N \l__keys_selective_clist
+ \__keys_reset_var:N \l__keys_relative_tl
+ \__keys_reset_var:N \l__keys_inherit_str
+ \__keys_reset_var:N \l_keys_choice_tl
+ \__keys_reset_var:N \l_keys_key_tl
+ \__keys_reset_var:N \l_keys_key_str
+ \__keys_reset_var:N \l_keys_path_tl
+ \__keys_reset_var:N \l_keys_path_str
+ \__keys_reset_var:N \l_keys_value_tl
+ \int_set:Nn \l_keys_choice_int { \int_use:N \l_keys_choice_int }
}
- \clist_set_eq:NN #8 \l__keys_unused_clist
- \__kernel_tl_set:Nx \l__keys_unused_clist { \exp_not:n {#1} }
- \__kernel_tl_set:Nx \l__keys_selective_clist {#2}
- \__kernel_tl_set:Nx \l__keys_relative_tl { \exp_not:n {#3} }
}
\cs_new:Npn \__keys_reset_bool:N #1
{
@@ -14423,6 +14565,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ bool_set_ \bool_if:NTF #1 { true } { false } :N }
\exp_not:N #1
}
+\cs_new:Npn \__keys_reset_var:N #1
+ {
+ \exp_not:n
+ { \__kernel_tl_set:Nx #1 }
+ { \exp_not:N \exp_not:n { \exp_not:o { #1 } } }
+ }
\cs_new_protected:Npn \__keys_set:nn #1#2
{ \exp_args:No \__keys_set:nnn \l__keys_module_str {#1} {#2} }
\cs_new_protected:Npn \__keys_set:nnn #1#2#3
@@ -15226,21 +15374,24 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_eq:NN \__fp_int_eval:w \tex_numexpr:D
\cs_new_eq:NN \__fp_int_eval_end: \scan_stop:
\cs_new_eq:NN \__fp_int_to_roman:w \tex_romannumeral:D
+\cs_new_eq:NN \__fp_sep: \tex_right:D
\cs_new:Npn \__fp_use_none_stop_f:n #1 { \exp_stop_f: }
-\cs_new:Npn \__fp_use_s:n #1 { #1; }
-\cs_new:Npn \__fp_use_s:nn #1#2 { #1#2; }
-\cs_new:Npn \__fp_use_none_until_s:w #1; { }
-\cs_new:Npn \__fp_use_i_until_s:nw #1#2; {#1}
-\cs_new:Npn \__fp_use_ii_until_s:nnw #1#2#3; {#2}
-\cs_new:Npn \__fp_reverse_args:Nww #1 #2; #3; { #1 #3; #2; }
-\cs_new:Npn \__fp_rrot:www #1; #2; #3; { #2; #3; #1; }
-\cs_new:Npn \__fp_use_i:ww #1; #2; { #1; }
-\cs_new:Npn \__fp_use_i:www #1; #2; #3; { #1; }
+\cs_new:Npn \__fp_use_s:n #1 { #1\__fp_sep: }
+\cs_new:Npn \__fp_use_s:nn #1#2 { #1#2\__fp_sep: }
+\cs_new:Npn \__fp_use_none_until_s:w #1\__fp_sep: { }
+\cs_new:Npn \__fp_use_i_until_s:nw #1#2\__fp_sep: {#1}
+\cs_new:Npn \__fp_use_ii_until_s:nnw #1#2#3\__fp_sep: {#2}
+\cs_new:Npn \__fp_reverse_args:Nww #1 #2\__fp_sep: #3\__fp_sep:
+ { #1 #3\__fp_sep: #2\__fp_sep: }
+\cs_new:Npn \__fp_rrot:www #1\__fp_sep: #2\__fp_sep: #3\__fp_sep:
+ { #2\__fp_sep: #3\__fp_sep: #1\__fp_sep: }
+\cs_new:Npn \__fp_use_i:ww #1\__fp_sep: #2\__fp_sep: { #1\__fp_sep: }
+\cs_new:Npn \__fp_use_i:www #1\__fp_sep: #2\__fp_sep: #3\__fp_sep: { #1\__fp_sep: }
\cs_new_protected:Npn \__fp_misused:n #1
{ \msg_error:nne { fp } { misused } { \fp_to_tl:n {#1} } }
\scan_new:N \s__fp
-\cs_new_protected:Npn \__fp_chk:w #1 ;
- { \__fp_misused:n { \s__fp \__fp_chk:w #1 ; } }
+\cs_new_protected:Npn \__fp_chk:w #1 \__fp_sep:
+ { \__fp_misused:n { \s__fp \__fp_chk:w #1 \__fp_sep: } }
\scan_new:N \s__fp_expr_mark
\scan_new:N \s__fp_expr_stop
\scan_new:N \s__fp_mark
@@ -15251,11 +15402,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\scan_new:N \s__fp_overflow
\scan_new:N \s__fp_division
\scan_new:N \s__fp_exact
-\tl_const:Nn \c_zero_fp { \s__fp \__fp_chk:w 0 0 \s__fp_exact ; }
-\tl_const:Nn \c_minus_zero_fp { \s__fp \__fp_chk:w 0 2 \s__fp_exact ; }
-\tl_const:Nn \c_inf_fp { \s__fp \__fp_chk:w 2 0 \s__fp_exact ; }
-\tl_const:Nn \c_minus_inf_fp { \s__fp \__fp_chk:w 2 2 \s__fp_exact ; }
-\tl_const:Nn \c_nan_fp { \s__fp \__fp_chk:w 3 1 \s__fp_exact ; }
+\tl_const:Nn \c_zero_fp { \s__fp \__fp_chk:w 0 0 \s__fp_exact \__fp_sep: }
+\tl_const:Nn \c_minus_zero_fp { \s__fp \__fp_chk:w 0 2 \s__fp_exact \__fp_sep: }
+\tl_const:Nn \c_inf_fp { \s__fp \__fp_chk:w 2 0 \s__fp_exact \__fp_sep: }
+\tl_const:Nn \c_minus_inf_fp { \s__fp \__fp_chk:w 2 2 \s__fp_exact \__fp_sep: }
+\tl_const:Nn \c_nan_fp { \s__fp \__fp_chk:w 3 1 \s__fp_exact \__fp_sep: }
\int_const:Nn \c__fp_prec_int { 16 }
\int_const:Nn \c__fp_half_prec_int { 8 }
\int_const:Nn \c__fp_block_int { 4 }
@@ -15267,12 +15418,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\s__fp \__fp_chk:w 1 0
{ \int_eval:n { \c__fp_max_exponent_int + 1 } }
- {1000} {0000} {0000} {0000} ;
+ {1000} {0000} {0000} {0000} \__fp_sep:
}
\cs_new:Npn \__fp_zero_fp:N #1
- { \s__fp \__fp_chk:w 0 #1 \s__fp_underflow ; }
+ { \s__fp \__fp_chk:w 0 #1 \s__fp_underflow \__fp_sep: }
\cs_new:Npn \__fp_inf_fp:N #1
- { \s__fp \__fp_chk:w 2 #1 \s__fp_overflow ; }
+ { \s__fp \__fp_chk:w 2 #1 \s__fp_overflow \__fp_sep: }
\cs_new:Npn \__fp_exponent:w \s__fp \__fp_chk:w #1
{
\if_meaning:w 1 #1
@@ -15291,7 +15442,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\s__fp { \__fp_use_i_until_s:nw 4 }
\s__fp_stop
}
-\cs_new:Npn \__fp_sanitize:Nw #1 #2;
+\cs_new:Npn \__fp_sanitize:Nw #1 #2\__fp_sep:
{
\if_case:w
\if_int_compare:w #2 > \c__fp_max_exponent_int 1 ~ \else:
@@ -15303,8 +15454,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\s__fp \__fp_chk:w 1 #1 {#2}
}
-\cs_new:Npn \__fp_sanitize:wN #1; #2 { \__fp_sanitize:Nw #2 #1; }
-\cs_new:Npn \__fp_sanitize_zero:w \s__fp \__fp_chk:w #1 #2 #3;
+\cs_new:Npn \__fp_sanitize:wN #1\__fp_sep: #2 { \__fp_sanitize:Nw #2 #1\__fp_sep: }
+\cs_new:Npn \__fp_sanitize_zero:w \s__fp \__fp_chk:w #1 #2 #3\__fp_sep:
{ \c_zero_fp }
\cs_new:Npn \__fp_exp_after_o:w \s__fp \__fp_chk:w #1
{
@@ -15326,52 +15477,52 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \exp:w \exp_end_continue_f:w #1 }
#2
}
-\cs_new:Npn \__fp_exp_after_special:nNNw #1#2#3#4;
+\cs_new:Npn \__fp_exp_after_special:nNNw #1#2#3#4\__fp_sep:
{
\exp_after:wN \s__fp
\exp_after:wN \__fp_chk:w
\exp_after:wN #2
\exp_after:wN #3
\exp_after:wN #4
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
#1
}
-\cs_new:Npn \__fp_exp_after_normal:nNNw #1 1 #2 #3 #4#5#6#7;
+\cs_new:Npn \__fp_exp_after_normal:nNNw #1 1 #2 #3 #4#5#6#7\__fp_sep:
{
\exp_after:wN \__fp_exp_after_normal:Nwwwww
\exp_after:wN #2
- \int_value:w #3 \exp_after:wN ;
- \int_value:w 1 #4 \exp_after:wN ;
- \int_value:w 1 #5 \exp_after:wN ;
- \int_value:w 1 #6 \exp_after:wN ;
- \int_value:w 1 #7 \exp_after:wN ; #1
+ \int_value:w #3 \exp_after:wN \__fp_sep:
+ \int_value:w 1 #4 \exp_after:wN \__fp_sep:
+ \int_value:w 1 #5 \exp_after:wN \__fp_sep:
+ \int_value:w 1 #6 \exp_after:wN \__fp_sep:
+ \int_value:w 1 #7 \exp_after:wN \__fp_sep: #1
}
\cs_new:Npn \__fp_exp_after_normal:Nwwwww
- #1 #2; 1 #3 ; 1 #4 ; 1 #5 ; 1 #6 ;
- { \s__fp \__fp_chk:w 1 #1 {#2} {#3} {#4} {#5} {#6} ; }
+ #1 #2\__fp_sep: 1 #3 \__fp_sep: 1 #4 \__fp_sep: 1 #5 \__fp_sep: 1 #6 \__fp_sep:
+ { \s__fp \__fp_chk:w 1 #1 {#2} {#3} {#4} {#5} {#6} \__fp_sep: }
\scan_new:N \s__fp_tuple
-\cs_new_protected:Npn \__fp_tuple_chk:w #1 ;
- { \__fp_misused:n { \s__fp_tuple \__fp_tuple_chk:w #1 ; } }
+\cs_new_protected:Npn \__fp_tuple_chk:w #1 \__fp_sep:
+ { \__fp_misused:n { \s__fp_tuple \__fp_tuple_chk:w #1 \__fp_sep: } }
\tl_const:Nn \c__fp_empty_tuple_fp
- { \s__fp_tuple \__fp_tuple_chk:w { } ; }
+ { \s__fp_tuple \__fp_tuple_chk:w { } \__fp_sep: }
\cs_new:Npn \__fp_array_count:n #1
- { \__fp_tuple_count:w \s__fp_tuple \__fp_tuple_chk:w {#1} ; }
-\cs_new:Npn \__fp_tuple_count:w \s__fp_tuple \__fp_tuple_chk:w #1 ;
+ { \__fp_tuple_count:w \s__fp_tuple \__fp_tuple_chk:w {#1} \__fp_sep: }
+\cs_new:Npn \__fp_tuple_count:w \s__fp_tuple \__fp_tuple_chk:w #1 \__fp_sep:
{
\int_value:w \__fp_int_eval:w 0
- \__fp_tuple_count_loop:Nw #1 { ? \prg_break: } ;
+ \__fp_tuple_count_loop:Nw #1 { ? \prg_break: } \__fp_sep:
\prg_break_point:
\__fp_int_eval_end:
}
-\cs_new:Npn \__fp_tuple_count_loop:Nw #1#2;
+\cs_new:Npn \__fp_tuple_count_loop:Nw #1#2\__fp_sep:
{ \use_none:n #1 + 1 \__fp_tuple_count_loop:Nw }
\cs_new:Npn \__fp_if_type_fp:NTwFw #1 \s__fp #2 #3 \s__fp_stop {#2}
\cs_new:Npn \__fp_array_if_all_fp:nTF #1
{
- \__fp_array_if_all_fp_loop:w #1 { \s__fp \prg_break: } ;
+ \__fp_array_if_all_fp_loop:w #1 { \s__fp \prg_break: } \__fp_sep:
\prg_break_point: \use_i:nn
}
-\cs_new:Npn \__fp_array_if_all_fp_loop:w #1#2 ;
+\cs_new:Npn \__fp_array_if_all_fp_loop:w #1#2 \__fp_sep:
{
\__fp_if_type_fp:NTwFw
#1 \__fp_array_if_all_fp_loop:w
@@ -15433,7 +15584,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__fp_exp_after_tuple_o:w
{ \__fp_exp_after_tuple_f:nw { \exp_after:wN \exp_stop_f: } }
\cs_new:Npn \__fp_exp_after_tuple_f:nw
- #1 \s__fp_tuple \__fp_tuple_chk:w #2 ;
+ #1 \s__fp_tuple \__fp_tuple_chk:w #2 \__fp_sep:
{
\exp_after:wN \s__fp_tuple
\exp_after:wN \__fp_tuple_chk:w
@@ -15441,7 +15592,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp:w \exp_end_continue_f:w
\__fp_exp_after_array_f:w #2 \s__fp_expr_stop
\exp_after:wN }
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
\exp:w \exp_end_continue_f:w #1
}
\cs_new:Npn \__fp_exp_after_array_f:w
@@ -15449,42 +15600,43 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_const:Nn \c__fp_leading_shift_int { - 5 0000 }
\int_const:Nn \c__fp_middle_shift_int { 5 0000 * 9999 }
\int_const:Nn \c__fp_trailing_shift_int { 5 0000 * 10000 }
-\cs_new:Npn \__fp_pack:NNNNNw #1 #2#3#4#5 #6; { + #1#2#3#4#5 ; {#6} }
+\cs_new:Npn \__fp_pack:NNNNNw #1 #2#3#4#5 #6\__fp_sep:
+ { + #1#2#3#4#5 \__fp_sep: {#6} }
\int_const:Nn \c__fp_big_leading_shift_int { - 15 2374 }
\int_const:Nn \c__fp_big_middle_shift_int { 15 2374 * 9999 }
\int_const:Nn \c__fp_big_trailing_shift_int { 15 2374 * 10000 }
-\cs_new:Npn \__fp_pack_big:NNNNNNw #1#2 #3#4#5#6 #7;
- { + #1#2#3#4#5#6 ; {#7} }
+\cs_new:Npn \__fp_pack_big:NNNNNNw #1#2 #3#4#5#6 #7\__fp_sep:
+ { + #1#2#3#4#5#6 \__fp_sep: {#7} }
\int_const:Nn \c__fp_Bigg_leading_shift_int { - 20 0000 }
\int_const:Nn \c__fp_Bigg_middle_shift_int { 20 0000 * 9999 }
\int_const:Nn \c__fp_Bigg_trailing_shift_int { 20 0000 * 10000 }
-\cs_new:Npn \__fp_pack_Bigg:NNNNNNw #1#2 #3#4#5#6 #7;
- { + #1#2#3#4#5#6 ; {#7} }
-\cs_new:Npn \__fp_pack_twice_four:wNNNNNNNN #1; #2#3#4#5 #6#7#8#9
- { #1 {#2#3#4#5} {#6#7#8#9} ; }
-\cs_new:Npn \__fp_pack_eight:wNNNNNNNN #1; #2#3#4#5 #6#7#8#9
- { #1 {#2#3#4#5#6#7#8#9} ; }
-\cs_new:Npn \__fp_basics_pack_low:NNNNNw #1 #2#3#4#5 #6;
- { + #1 - 1 ; {#2#3#4#5} {#6} ; }
-\cs_new:Npn \__fp_basics_pack_high:NNNNNw #1 #2#3#4#5 #6;
+\cs_new:Npn \__fp_pack_Bigg:NNNNNNw #1#2 #3#4#5#6 #7\__fp_sep:
+ { + #1#2#3#4#5#6 \__fp_sep: {#7} }
+\cs_new:Npn \__fp_pack_twice_four:wNNNNNNNN #1\__fp_sep: #2#3#4#5 #6#7#8#9
+ { #1 {#2#3#4#5} {#6#7#8#9} \__fp_sep: }
+\cs_new:Npn \__fp_pack_eight:wNNNNNNNN #1\__fp_sep: #2#3#4#5 #6#7#8#9
+ { #1 {#2#3#4#5#6#7#8#9} \__fp_sep: }
+\cs_new:Npn \__fp_basics_pack_low:NNNNNw #1 #2#3#4#5 #6\__fp_sep:
+ { + #1 - 1 \__fp_sep: {#2#3#4#5} {#6} \__fp_sep: }
+\cs_new:Npn \__fp_basics_pack_high:NNNNNw #1 #2#3#4#5 #6\__fp_sep:
{
\if_meaning:w 2 #1
\__fp_basics_pack_high_carry:w
\fi:
- ; {#2#3#4#5} {#6}
+ \__fp_sep: {#2#3#4#5} {#6}
}
-\cs_new:Npn \__fp_basics_pack_high_carry:w \fi: ; #1
- { \fi: + 1 ; {1000} }
-\cs_new:Npn \__fp_basics_pack_weird_low:NNNNw #1 #2#3#4 #5;
+\cs_new:Npn \__fp_basics_pack_high_carry:w \fi: \__fp_sep: #1
+ { \fi: + 1 \__fp_sep: {1000} }
+\cs_new:Npn \__fp_basics_pack_weird_low:NNNNw #1 #2#3#4 #5\__fp_sep:
{
\if_meaning:w 2 #1
+ 1
\fi:
\__fp_int_eval_end:
- #2#3#4; {#5} ;
+ #2#3#4\__fp_sep: {#5} \__fp_sep:
}
\cs_new:Npn \__fp_basics_pack_weird_high:NNNNNNNNw
- 1 #1#2#3#4 #5#6#7#8 #9; { ; {#1#2#3#4} {#5#6#7#8} {#9} }
+ 1 #1#2#3#4 #5#6#7#8 #9\__fp_sep: { \__fp_sep: {#1#2#3#4} {#5#6#7#8} {#9} }
\cs_new:Npn \__fp_decimate:nNnnnn #1
{
\cs:w
@@ -15498,17 +15650,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_end:
}
\cs_new:Npn \__fp_decimate_:Nnnnn #1 #2#3#4#5
- { #1 0 {#2#3} {#4#5} ; }
+ { #1 0 {#2#3} {#4#5} \__fp_sep: }
\cs_new:Npn \__fp_decimate_tiny:Nnnnn #1 #2#3#4#5
- { #1 1 { 0000 0000 } { 0000 0000 } 0 #2#3#4#5 ; }
+ { #1 1 { 0000 0000 } { 0000 0000 } 0 #2#3#4#5 \__fp_sep: }
\cs_new:Npn \__fp_tmp:w #1 #2 #3
{
\cs_new:cpn { __fp_decimate_ #1 :Nnnnn } ##1 ##2##3##4##5
{
\exp_after:wN ##1
\int_value:w
- \exp_after:wN \__fp_round_digit:Nw #2 ;
- \__fp_decimate_pack:nnnnnnnnnnw #3 ;
+ \exp_after:wN \__fp_round_digit:Nw #2 \__fp_sep:
+ \__fp_decimate_pack:nnnnnnnnnnw #3 \__fp_sep:
}
}
\__fp_tmp:w {i} {\use_none:nnn #50}{ 0{#2}#3{#4}#5 }
@@ -15532,18 +15684,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__fp_decimate_pack:nnnnnnw #1 #2#3#4#5#6
{ {#1} {#2#3#4#5#6} }
\cs_new:Npn \__fp_case_use:nw #1#2 \fi: #3 \s__fp { \fi: #1 \s__fp }
-\cs_new:Npn \__fp_case_return:nw #1#2 \fi: #3 ; { \fi: #1 }
-\cs_new:Npn \__fp_case_return_o:Nw #1#2 \fi: #3 \s__fp #4 ;
+\cs_new:Npn \__fp_case_return:nw #1#2 \fi: #3 \__fp_sep: { \fi: #1 }
+\cs_new:Npn \__fp_case_return_o:Nw #1#2 \fi: #3 \s__fp #4 \__fp_sep:
{ \fi: \exp_after:wN #1 }
\cs_new:Npn \__fp_case_return_same_o:w #1 \fi: #2 \s__fp
{ \fi: \__fp_exp_after_o:w \s__fp }
-\cs_new:Npn \__fp_case_return_o:Nww #1#2 \fi: #3 \s__fp #4 ; #5 ;
+\cs_new:Npn \__fp_case_return_o:Nww #1#2 \fi: #3 \s__fp #4 \__fp_sep: #5 \__fp_sep:
{ \fi: \exp_after:wN #1 }
-\cs_new:Npn \__fp_case_return_i_o:ww #1 \fi: #2 \s__fp #3 ; \s__fp #4 ;
- { \fi: \__fp_exp_after_o:w \s__fp #3 ; }
-\cs_new:Npn \__fp_case_return_ii_o:ww #1 \fi: #2 \s__fp #3 ;
+\cs_new:Npn \__fp_case_return_i_o:ww
+ #1 \fi: #2 \s__fp #3 \__fp_sep: \s__fp #4 \__fp_sep:
+ { \fi: \__fp_exp_after_o:w \s__fp #3 \__fp_sep: }
+\cs_new:Npn \__fp_case_return_ii_o:ww #1 \fi: #2 \s__fp #3 \__fp_sep:
{ \fi: \__fp_exp_after_o:w }
-\prg_new_conditional:Npnn \__fp_int:w \s__fp \__fp_chk:w #1 #2 #3 #4;
+\prg_new_conditional:Npnn \__fp_int:w \s__fp \__fp_chk:w #1 #2 #3 #4\__fp_sep:
{ TF , T , F , p }
{
\if_case:w #1 \exp_stop_f:
@@ -15562,26 +15715,26 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__fp_small_int:wTF \s__fp \__fp_chk:w #1#2
{
\if_case:w #1 \exp_stop_f:
- \__fp_case_return:nw { \__fp_small_int_true:wTF 0 ; }
+ \__fp_case_return:nw { \__fp_small_int_true:wTF 0 \__fp_sep: }
\or: \exp_after:wN \__fp_small_int_normal:NnwTF
\or:
\__fp_case_return:nw
{
\exp_after:wN \__fp_small_int_true:wTF \int_value:w
- \if_meaning:w 2 #2 - \fi: 1 0000 0000 ;
+ \if_meaning:w 2 #2 - \fi: 1 0000 0000 \__fp_sep:
}
\else: \__fp_case_return:nw \use_ii:nn
\fi:
#2
}
-\cs_new:Npn \__fp_small_int_true:wTF #1; #2#3 { #2 {#1} }
-\cs_new:Npn \__fp_small_int_normal:NnwTF #1#2#3;
+\cs_new:Npn \__fp_small_int_true:wTF #1\__fp_sep: #2#3 { #2 {#1} }
+\cs_new:Npn \__fp_small_int_normal:NnwTF #1#2#3\__fp_sep:
{
\__fp_decimate:nNnnnn { \c__fp_prec_int - #2 }
\__fp_small_int_test:NnnwNw
#3 #1
}
-\cs_new:Npn \__fp_small_int_test:NnnwNw #1#2#3#4; #5
+\cs_new:Npn \__fp_small_int_test:NnnwNw #1#2#3#4\__fp_sep: #5
{
\if_meaning:w 0 #1
\exp_after:wN \__fp_small_int_true:wTF
@@ -15591,7 +15744,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
#3
\fi:
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
\else:
\exp_after:wN \use_ii:nn
\fi:
@@ -15647,19 +15800,21 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \__fp_trap_invalid_operation_set:N #1
{
\exp_args:Nno \use:n
- { \cs_set:Npn \__fp_invalid_operation:nnw ##1##2##3; }
+ { \cs_set:Npn \__fp_invalid_operation:nnw ##1##2##3\__fp_sep: }
{
#1
- \__fp_error:nnfn { invalid } {##2} { \fp_to_tl:n { ##3; } } { }
+ \__fp_error:nnfn { invalid } {##2} { \fp_to_tl:n { ##3\__fp_sep: } } { }
\flag_ensure_raised:N \l_fp_invalid_operation_flag
##1
}
\exp_args:Nno \use:n
- { \cs_set:Npn \__fp_invalid_operation_o:Nww ##1##2; ##3; }
+ { \cs_set:Npn \__fp_invalid_operation_o:Nww ##1##2\__fp_sep: ##3\__fp_sep: }
{
#1
\__fp_error:nffn { invalid-ii }
- { \fp_to_tl:n { ##2; } } { \fp_to_tl:n { ##3; } } {##1}
+ { \fp_to_tl:n { ##2\__fp_sep: } }
+ { \fp_to_tl:n { ##3\__fp_sep: } }
+ {##1}
\flag_ensure_raised:N \l_fp_invalid_operation_flag
\exp_after:wN \c_nan_fp
}
@@ -15681,19 +15836,23 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \__fp_trap_division_by_zero_set:N #1
{
\exp_args:Nno \use:n
- { \cs_set:Npn \__fp_division_by_zero_o:Nnw ##1##2##3; }
+ { \cs_set:Npn \__fp_division_by_zero_o:Nnw ##1##2##3\__fp_sep: }
{
#1
- \__fp_error:nnfn { zero-div } {##2} { \fp_to_tl:n { ##3; } } { }
+ \__fp_error:nnfn { zero-div } {##2} { \fp_to_tl:n { ##3\__fp_sep: } } { }
\flag_ensure_raised:N \l_fp_division_by_zero_flag
\exp_after:wN ##1
}
\exp_args:Nno \use:n
- { \cs_set:Npn \__fp_division_by_zero_o:NNww ##1##2##3; ##4; }
+ {
+ \cs_set:Npn \__fp_division_by_zero_o:NNww ##1##2##3\__fp_sep: ##4\__fp_sep:
+ }
{
#1
\__fp_error:nffn { zero-div-ii }
- { \fp_to_tl:n { ##3; } } { \fp_to_tl:n { ##4; } } {##2}
+ { \fp_to_tl:n { ##3\__fp_sep: } }
+ { \fp_to_tl:n { ##4\__fp_sep: } }
+ {##2}
\flag_ensure_raised:N \l_fp_division_by_zero_flag
\exp_after:wN ##1
}
@@ -15717,23 +15876,23 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \__fp_trap_overflow_set:NnNn #1#2#3#4
{
\exp_args:Nno \use:n
- { \cs_set:cpn { __fp_ #2 :w } \s__fp \__fp_chk:w ##1##2##3; }
+ { \cs_set:cpn { __fp_ #2 :w } \s__fp \__fp_chk:w ##1##2##3\__fp_sep: }
{
#1
\__fp_error:nffn
{ flow \if_meaning:w 1 ##1 -to \fi: }
- { \fp_to_tl:n { \s__fp \__fp_chk:w ##1##2##3; } }
+ { \fp_to_tl:n { \s__fp \__fp_chk:w ##1##2##3\__fp_sep: } }
{ \token_if_eq_meaning:NNF 0 ##2 { - } #4 }
{#2}
\flag_ensure_raised:c { l_fp_#2_flag }
#3 ##2
}
}
-\cs_new:Npn \__fp_invalid_operation:nnw #1#2#3; { }
-\cs_new:Npn \__fp_invalid_operation_o:Nww #1#2; #3; { }
+\cs_new:Npn \__fp_invalid_operation:nnw #1#2#3\__fp_sep: { }
+\cs_new:Npn \__fp_invalid_operation_o:Nww #1#2\__fp_sep: #3\__fp_sep: { }
\cs_new:Npn \__fp_invalid_operation_tl_o:ff #1 #2 { }
-\cs_new:Npn \__fp_division_by_zero_o:Nnw #1#2#3; { }
-\cs_new:Npn \__fp_division_by_zero_o:NNww #1#2#3; #4; { }
+\cs_new:Npn \__fp_division_by_zero_o:Nnw #1#2#3\__fp_sep: { }
+\cs_new:Npn \__fp_division_by_zero_o:NNww #1#2#3\__fp_sep: #4\__fp_sep: { }
\cs_new:Npn \__fp_overflow:w { }
\cs_new:Npn \__fp_underflow:w { }
\fp_trap:nn { invalid_operation } { error }
@@ -15871,7 +16030,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\c_zero_int
}
\cs_new_eq:NN \__fp_round:NNN \__fp_round_to_nearest:NNN
-\cs_new:Npn \__fp_round_s:NNNw #1 #2 #3 #4;
+\cs_new:Npn \__fp_round_s:NNNw #1 #2 #3 #4\__fp_sep:
{
\exp_after:wN \__fp_round:NNN
\exp_after:wN #1
@@ -15885,9 +16044,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\fi:
#3
- ;
+ \__fp_sep:
}
-\cs_new:Npn \__fp_round_digit:Nw #1 #2;
+\cs_new:Npn \__fp_round_digit:Nw #1 #2\__fp_sep:
{
\if_int_odd:w \if_meaning:w 0 #1 1 \else:
\if_meaning:w 5 #1 1 \else:
@@ -15947,7 +16106,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\exp_after:wN \c_nan_fp
}
-\cs_new:Npn \__fp_round:Nwww #1#2 ; #3 ; \s__fp \__fp_chk:w #4#5#6 ; #7 @
+\cs_new:Npn \__fp_round:Nwww
+ #1#2 \__fp_sep: #3 \__fp_sep: \s__fp \__fp_chk:w #4#5#6 \__fp_sep: #7 @
{
\cs_if_eq:NNTF #1 \__fp_round_to_nearest:NNN
{
@@ -15960,7 +16120,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\if_case:w #5 \exp_stop_f: _pinf \or: \else: _ninf \fi: \fi:
:NNN
}
- #2 ; #3 ;
+ #2 \__fp_sep: #3 \__fp_sep:
}
{
\__fp_error:nnnn { num-args } { round () } { 1 } { 3 }
@@ -15984,11 +16144,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
}
-\cs_new:Npn \__fp_round:Nww #1#2 ; #3 ;
+\cs_new:Npn \__fp_round:Nww #1#2 \__fp_sep: #3 \__fp_sep:
{
- \__fp_small_int:wTF #3; { \__fp_round:Nwn #1#2; }
+ \__fp_small_int:wTF #3\__fp_sep: { \__fp_round:Nwn #1#2\__fp_sep: }
{
- \if:w 3 \__fp_kind:w #3 ;
+ \if:w 3 \__fp_kind:w #3 \__fp_sep:
\exp_after:wN \use_i:nn
\else:
\exp_after:wN \use_ii:nn
@@ -15997,11 +16157,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\__fp_invalid_operation_tl_o:ff
{ \__fp_round_name_from_cs:N #1 }
- { \__fp_array_to_clist:n { #2; #3; } }
+ { \__fp_array_to_clist:n { #2\__fp_sep: #3\__fp_sep: } }
}
}
}
-\cs_new:Npn \__fp_round:Nwn #1 \s__fp \__fp_chk:w #2#3#4; #5
+\cs_new:Npn \__fp_round:Nwn #1 \s__fp \__fp_chk:w #2#3#4\__fp_sep: #5
{
\if_meaning:w 1 #2
\exp_after:wN \__fp_round_normal:NwNNnw
@@ -16010,14 +16170,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\exp_after:wN \__fp_exp_after_o:w
\fi:
- \s__fp \__fp_chk:w #2#3#4;
+ \s__fp \__fp_chk:w #2#3#4\__fp_sep:
}
-\cs_new:Npn \__fp_round_normal:NwNNnw #1#2 \s__fp \__fp_chk:w 1#3#4#5;
+\cs_new:Npn \__fp_round_normal:NwNNnw #1#2 \s__fp \__fp_chk:w 1#3#4#5\__fp_sep:
{
\__fp_decimate:nNnnnn { \c__fp_prec_int - #4 - #2 }
\__fp_round_normal:NnnwNNnn #5 #1 #3 {#4} {#2}
}
-\cs_new:Npn \__fp_round_normal:NnnwNNnn #1#2#3#4; #5#6
+\cs_new:Npn \__fp_round_normal:NnnwNNnn #1#2#3#4\__fp_sep: #5#6
{
\exp_after:wN \__fp_round_normal:NNwNnn
\int_value:w \__fp_int_eval:w
@@ -16035,7 +16195,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\use_none:nnnnnnn #3
#1
\__fp_int_eval_end:
- 0000 0000 0000 0000 ; #6
+ 0000 0000 0000 0000 \__fp_sep: #6
}
\cs_new:Npn \__fp_round_pack:Nw #1
{ \if_meaning:w 2 #1 + 1 \fi: \__fp_int_eval_end: }
@@ -16048,14 +16208,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_pack_twice_four:wNNNNNNNN
\__fp_pack_twice_four:wNNNNNNNN
\__fp_round_normal_end:wwNnn
- ; #2
+ \__fp_sep: #2
}
-\cs_new:Npn \__fp_round_normal_end:wwNnn #1;#2;#3#4#5
+\cs_new:Npn \__fp_round_normal_end:wwNnn #1\__fp_sep:#2\__fp_sep:#3#4#5
{
\exp_after:wN \__fp_exp_after_o:w \exp:w \exp_end_continue_f:w
- \__fp_sanitize:Nw #3 #4 ; #1 ;
+ \__fp_sanitize:Nw #3 #4 \__fp_sep: #1 \__fp_sep:
}
-\cs_new:Npn \__fp_round_special:NwwNnn #1#2;#3;#4#5#6
+\cs_new:Npn \__fp_round_special:NwwNnn #1#2\__fp_sep:#3\__fp_sep:#4#5#6
{
\if_meaning:w 0 #1
\__fp_case_return:nw
@@ -16066,12 +16226,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_value:w \__fp_int_eval:w 1
\if_meaning:w 1 #1 -#6 \else: +#5 \fi:
\fi:
- ;
+ \__fp_sep:
}
-\cs_new:Npn \__fp_round_special_aux:Nw #1#2;
+\cs_new:Npn \__fp_round_special_aux:Nw #1#2\__fp_sep:
{
\exp_after:wN \__fp_exp_after_o:w \exp:w \exp_end_continue_f:w
- \__fp_sanitize:Nw #1#2; {1000}{0000}{0000}{0000};
+ \__fp_sanitize:Nw #1#2\__fp_sep: {1000}{0000}{0000}{0000}\__fp_sep:
}
%% File: l3fp-parse.dtx
\int_const:Nn \c__fp_prec_func_int { 16 }
@@ -16091,7 +16251,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_const:Nn \c__fp_prec_end_int { 0 }
\cs_new:Npn \__fp_parse_expand:w #1 { \exp_end_continue_f:w #1 }
\cs_new:Npn \__fp_parse_return_semicolon:w
- #1 \fi: \__fp_parse_expand:w { \fi: ; #1 }
+ #1 \fi: \__fp_parse_expand:w { \fi: \__fp_sep: #1 }
\cs_set_protected:Npn \__fp_tmp:w #1 #2 #3
{
\cs_new:cpn { __fp_parse_digits_ #1 :N } ##1
@@ -16104,14 +16264,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_parse_expand:w
}
}
-\__fp_tmp:w {vii} \__fp_parse_digits_vi:N { 0000000 ; 7 }
-\__fp_tmp:w {vi} \__fp_parse_digits_v:N { 000000 ; 6 }
-\__fp_tmp:w {v} \__fp_parse_digits_iv:N { 00000 ; 5 }
-\__fp_tmp:w {iv} \__fp_parse_digits_iii:N { 0000 ; 4 }
-\__fp_tmp:w {iii} \__fp_parse_digits_ii:N { 000 ; 3 }
-\__fp_tmp:w {ii} \__fp_parse_digits_i:N { 00 ; 2 }
-\__fp_tmp:w {i} \__fp_parse_digits_:N { 0 ; 1 }
-\cs_new:Npn \__fp_parse_digits_:N { ; ; 0 }
+\__fp_tmp:w {vii} \__fp_parse_digits_vi:N { 0000000 \__fp_sep: 7 }
+\__fp_tmp:w {vi} \__fp_parse_digits_v:N { 000000 \__fp_sep: 6 }
+\__fp_tmp:w {v} \__fp_parse_digits_iv:N { 00000 \__fp_sep: 5 }
+\__fp_tmp:w {iv} \__fp_parse_digits_iii:N { 0000 \__fp_sep: 4 }
+\__fp_tmp:w {iii} \__fp_parse_digits_ii:N { 000 \__fp_sep: 3 }
+\__fp_tmp:w {ii} \__fp_parse_digits_i:N { 00 \__fp_sep: 2 }
+\__fp_tmp:w {i} \__fp_parse_digits_:N { 0 \__fp_sep: 1 }
+\cs_new:Npn \__fp_parse_digits_:N { \__fp_sep: \__fp_sep: 0 }
\cs_new:Npn \__fp_parse_one:Nw #1 #2
{
\if_catcode:w \scan_stop: \exp_not:N #2
@@ -16211,26 +16371,26 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_parse_one_register_auxii:wwwNw
}
\exp_not:N \exp_after:wN { \exp_not:N \tex_the:D #1 }
- ; \exp_not:N \__fp_parse_one_register_dim:ww
- \tl_to_str:n { pt } ; \exp_not:N \__fp_parse_one_register_mu:www
- . \tl_to_str:n { pt } ; \exp_not:N \__fp_parse_one_register_int:www
+ \__fp_sep: \exp_not:N \__fp_parse_one_register_dim:ww
+ \tl_to_str:n { pt } \__fp_sep: \exp_not:N \__fp_parse_one_register_mu:www
+ . \tl_to_str:n { pt } \__fp_sep: \exp_not:N \__fp_parse_one_register_int:www
\s__fp_stop
}
\exp_args:Nno \use:nn
{ \cs_new:Npn \__fp_parse_one_register_auxii:wwwNw #1 . #2 }
- { \tl_to_str:n { pt } #3 ; #4#5 \s__fp_stop }
- { #4 #1.#2; }
+ { \tl_to_str:n { pt } #3 \__fp_sep: #4#5 \s__fp_stop }
+ { #4 #1.#2\__fp_sep: }
\exp_args:Nno \use:nn
{ \cs_new:Npn \__fp_parse_one_register_mu:www #1 }
- { \tl_to_str:n { mu } ; #2 ; }
- { \__fp_parse_one_register_dim:ww #1 ; }
-\cs_new:Npn \__fp_parse_one_register_int:www #1; #2.; #3;
+ { \tl_to_str:n { mu } \__fp_sep: #2 \__fp_sep: }
+ { \__fp_parse_one_register_dim:ww #1 \__fp_sep: }
+\cs_new:Npn \__fp_parse_one_register_int:www #1\__fp_sep: #2.\__fp_sep: #3\__fp_sep:
{ \__fp_parse:n { #1 e #3 } }
-\cs_new:Npn \__fp_parse_one_register_dim:ww #1; #2;
+\cs_new:Npn \__fp_parse_one_register_dim:ww #1\__fp_sep: #2\__fp_sep:
{
\exp_after:wN \__fp_from_dim_test:ww
\int_value:w #2 \exp_after:wN ,
- \int_value:w \dim_to_decimal_in_sp:n { #1 pt } ;
+ \int_value:w \dim_to_decimal_in_sp:n { #1 pt } \__fp_sep:
}
\cs_new:Npn \__fp_parse_one_register_special:N #1
{
@@ -16263,11 +16423,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_parse_one_register_wd:Nw
#4 \__fp_parse_expand:w e
}
-\cs_new:Npn \__fp_parse_one_register_wd:Nw #1#2 ;
+\cs_new:Npn \__fp_parse_one_register_wd:Nw #1#2 \__fp_sep:
{
\exp_after:wN \__fp_from_dim_test:ww
\exp_after:wN 0 \exp_after:wN ,
- \int_value:w \dim_to_decimal_in_sp:n { #1 #2 } ;
+ \int_value:w \dim_to_decimal_in_sp:n { #1 #2 } \__fp_sep:
}
\cs_new:Npn \__fp_parse_one_digit:NN #1
{
@@ -16300,7 +16460,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\__fp_parse_expand:w
}
-\cs_new:Npn \__fp_parse_word:Nw #1#2;
+\cs_new:Npn \__fp_parse_word:Nw #1#2\__fp_sep:
{
\cs_if_exist_use:cF { __fp_parse_word_#2:N }
{
@@ -16405,7 +16565,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__fp_parse_zero:
{
- \exp_after:wN ; \exp_after:wN 1
+ \exp_after:wN \__fp_sep: \exp_after:wN 1
\int_value:w \__fp_parse_exponent:N
}
\cs_new:Npn \__fp_parse_small:N #1
@@ -16417,7 +16577,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_parse_digits_vii:N
\exp:w \__fp_parse_expand:w
}
-\cs_new:Npn \__fp_parse_small_leading:wwNN 1 #1 ; #2; #3 #4
+\cs_new:Npn \__fp_parse_small_leading:wwNN 1 #1 \__fp_sep: #2\__fp_sep: #3 #4
{
#1 #2
\exp_after:wN \__fp_parse_pack_trailing:NNNNNNww
@@ -16434,7 +16594,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\__fp_parse_expand:w
}
-\cs_new:Npn \__fp_parse_small_trailing:wwNN 1 #1 ; #2; #3 #4
+\cs_new:Npn \__fp_parse_small_trailing:wwNN 1 #1 \__fp_sep: #2\__fp_sep: #3 #4
{
#1 #2
\if_int_compare:w 9 < 1 \token_to_str:N #4 \exp_stop_f:
@@ -16447,19 +16607,20 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\__fp_parse_expand:w
}
-\cs_new:Npn \__fp_parse_pack_trailing:NNNNNNww #1 #2 #3#4#5#6 #7; #8 ;
+\cs_new:Npn \__fp_parse_pack_trailing:NNNNNNww
+ #1 #2 #3#4#5#6 #7\__fp_sep: #8 \__fp_sep:
{
\if_meaning:w 2 #2 + 1 \fi:
- ; #8 + #1 ; {#3#4#5#6} {#7};
+ \__fp_sep: #8 + #1 \__fp_sep: {#3#4#5#6} {#7}\__fp_sep:
}
-\cs_new:Npn \__fp_parse_pack_leading:NNNNNww #1 #2#3#4#5 #6; #7;
+\cs_new:Npn \__fp_parse_pack_leading:NNNNNww #1 #2#3#4#5 #6\__fp_sep: #7\__fp_sep:
{
+ #7
\if_meaning:w 2 #1 \__fp_parse_pack_carry:w \fi:
- ; 0 {#2#3#4#5} {#6}
+ \__fp_sep: 0 {#2#3#4#5} {#6}
}
-\cs_new:Npn \__fp_parse_pack_carry:w \fi: ; 0 #1
- { \fi: + 1 ; 0 {1000} }
+\cs_new:Npn \__fp_parse_pack_carry:w \fi: \__fp_sep: 0 #1
+ { \fi: + 1 \__fp_sep: 0 {1000} }
\cs_new:Npn \__fp_parse_large:N #1
{
\exp_after:wN \__fp_parse_large_leading:wwNN
@@ -16467,7 +16628,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_parse_digits_vii:N
\exp:w \__fp_parse_expand:w
}
-\cs_new:Npn \__fp_parse_large_leading:wwNN 1 #1 ; #2; #3 #4
+\cs_new:Npn \__fp_parse_large_leading:wwNN 1 #1 \__fp_sep: #2\__fp_sep: #3 #4
{
+ \c__fp_half_prec_int - #3
\exp_after:wN \__fp_parse_pack_leading:NNNNNww
@@ -16497,7 +16658,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\__fp_parse_expand:w
}
-\cs_new:Npn \__fp_parse_large_trailing:wwNN 1 #1 ; #2; #3 #4
+\cs_new:Npn \__fp_parse_large_trailing:wwNN 1 #1 \__fp_sep: #2\__fp_sep: #3 #4
{
\if_int_compare:w 9 < 1 \token_to_str:N #4 \exp_stop_f:
\exp_after:wN \__fp_parse_pack_trailing:NNNNNNww
@@ -16552,9 +16713,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\__fp_parse_expand:w
}
-\cs_new:Npn \__fp_parse_round_after:wN #1; #2
+\cs_new:Npn \__fp_parse_round_after:wN #1\__fp_sep: #2
{
- + #2 \exp_after:wN ;
+ + #2 \exp_after:wN \__fp_sep:
\int_value:w \__fp_int_eval:w #1 + \__fp_parse_exponent:N
}
\cs_new:Npn \__fp_parse_small_round:NN #1#2
@@ -16604,7 +16765,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\__fp_parse_expand:w
}
-\cs_new:Npn \__fp_parse_large_round_aux:wNN #1 ; #2 #3
+\cs_new:Npn \__fp_parse_large_round_aux:wNN #1 \__fp_sep: #2 #3
{
+ #2
\exp_after:wN \__fp_parse_round_after:wN
@@ -16614,14 +16775,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_parse_round_loop:N
\exp:w \exp_after:wN \__fp_parse_expand:w
\else:
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
\exp_after:wN 0
\exp_after:wN #3
\fi:
}
\cs_new:Npn \__fp_parse_exponent:Nw #1 #2 \__fp_parse_expand:w
{
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
\int_value:w #2 \__fp_parse_exponent:N #1
}
\cs_new:Npn \__fp_parse_exponent:N #1
@@ -16639,7 +16800,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\if_int_compare:w \if_catcode:w \scan_stop: \exp_not:N #2
0 \else: `#2 \fi: > `9 \exp_stop_f:
- 0 \exp_after:wN ; \exp_after:wN #1
+ 0 \exp_after:wN \__fp_sep: \exp_after:wN #1
\else:
\exp_after:wN \__fp_parse_exponent_sign:N
\fi:
@@ -16665,7 +16826,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_parse_exponent_keep:NTF #1
{ \__fp_parse_return_semicolon:w #1 }
{
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
\exp:w
}
\fi:
@@ -16722,12 +16883,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__fp_parse_apply_unary:NNNwN #1#2#3#4@#5
{
- \__fp_parse_apply_unary_chk:NwNw #4 @ ; . \s__fp_stop
+ \__fp_parse_apply_unary_chk:NwNw #4 @ \__fp_sep: . \s__fp_stop
\__fp_parse_apply_unary_type:NNN
#3 #2 #4 @
\exp:w \exp_end_continue_f:w #5 #1
}
-\cs_new:Npn \__fp_parse_apply_unary_chk:NwNw #1#2 ; #3#4 \s__fp_stop
+\cs_new:Npn \__fp_parse_apply_unary_chk:NwNw #1#2 \__fp_sep: #3#4 \s__fp_stop
{
\if_meaning:w @ #3 \else:
\token_if_eq_meaning:NNTF . #3
@@ -16841,7 +17002,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:cpn { __fp_parse_word_#1:N }
{
\__fp_exp_after_f:nw { \__fp_parse_infix:NN }
- \s__fp \__fp_chk:w 10 #2 ;
+ \s__fp \__fp_chk:w 10 #2 \__fp_sep:
}
}
\__fp_tmp:w {pt} { {1} {1000} {0000} {0000} {0000} }
@@ -16861,7 +17022,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\exp_after:wN \__fp_from_dim_test:ww
\exp_after:wN 0 \exp_after:wN ,
- \int_value:w \dim_to_decimal_in_sp:n { 1 #1 } \exp_after:wN ;
+ \int_value:w \dim_to_decimal_in_sp:n { 1 #1 } \exp_after:wN \__fp_sep:
\exp:w \exp_end_continue_f:w \__fp_parse_infix:NN
}
}
@@ -16950,7 +17111,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
#2
\__fp_invalid_operation_o:Nww #1
}
-\cs_new:Npn \__fp_binary_type_o:Nww #1 #2#3 ; #4
+\cs_new:Npn \__fp_binary_type_o:Nww #1 #2#3 \__fp_sep: #4
{
\exp_after:wN \__fp_parse_apply_binary_chk:NN
\cs:w
@@ -16961,9 +17122,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
_o:ww
\cs_end:
#1
- #2 #3 ; #4
+ #2 #3 \__fp_sep: #4
}
-\cs_new:Npn \__fp_binary_rev_type_o:Nww #1 #2#3 ; #4#5 ;
+\cs_new:Npn \__fp_binary_rev_type_o:Nww #1 #2#3 \__fp_sep: #4#5 \__fp_sep:
{
\exp_after:wN \__fp_parse_apply_binary_chk:NN
\cs:w
@@ -16974,12 +17135,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
_o:ww
\cs_end:
#1
- #4 #5 ; #2 #3 ;
+ #4 #5 \__fp_sep: #2 #3 \__fp_sep:
}
-\cs_new:Npn \__fp_parse_infix_after_operand:NwN #1 #2;
+\cs_new:Npn \__fp_parse_infix_after_operand:NwN #1 #2\__fp_sep:
{
\__fp_exp_after_f:nw { \__fp_parse_infix:NN #1 }
- #2;
+ #2\__fp_sep:
}
\cs_new:Npn \__fp_parse_infix:NN #1 #2
{
@@ -17103,7 +17264,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN #1
\exp:w \exp_end_continue_f:w
\__fp_exp_after_tuple_f:nw { }
- \s__fp_tuple \__fp_tuple_chk:w { #2 #4 } ;
+ \s__fp_tuple \__fp_tuple_chk:w { #2 #4 } \__fp_sep:
#5 #1
}
\cs_set_protected:Npn \__fp_tmp:w #1#2#3#4
@@ -17288,14 +17449,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
#1 #8 #9
}
-\cs_new:Npn \__fp_parse_apply_compare_aux:NNwN #1 #2 #3; #4
+\cs_new:Npn \__fp_parse_apply_compare_aux:NNwN #1 #2 #3\__fp_sep: #4
{
\if_meaning:w \__fp_parse_compare:NNNNNNN #4
\exp_after:wN \__fp_parse_continue_compare:NNwNN
\exp_after:wN #1
\exp_after:wN #2
\exp:w \exp_end_continue_f:w
- \__fp_exp_after_o:w #3;
+ \__fp_exp_after_o:w #3\__fp_sep:
\exp:w \exp_end_continue_f:w
\else:
\exp_after:wN \__fp_parse_continue:NwN
@@ -17315,7 +17476,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\__fp_error:nffn { bad-args }
{#1}
- { \fp_to_tl:n { \s__fp_tuple \__fp_tuple_chk:w {#3} ; } }
+ { \fp_to_tl:n { \s__fp_tuple \__fp_tuple_chk:w {#3} \__fp_sep: } }
{ }
\exp_after:wN \c_nan_fp
}
@@ -17330,11 +17491,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\__fp_error:nffn { bad-args }
{#2}
- { \fp_to_tl:n { \s__fp_tuple \__fp_tuple_chk:w {#4} ; } }
+ { \fp_to_tl:n { \s__fp_tuple \__fp_tuple_chk:w {#4} \__fp_sep: } }
{ }
\exp_after:wN \c_nan_fp
}
-\cs_new:Npn \__fp_parse_function_one_two_aux:nnw #1#2 #3; #4
+\cs_new:Npn \__fp_parse_function_one_two_aux:nnw #1#2 #3\__fp_sep: #4
{
\__fp_if_type_fp:NTwFw
#4 { }
@@ -17346,52 +17507,52 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_parse_function_one_two_error_o:w
}
\s__fp_stop
- \__fp_parse_function_one_two_auxii:nnw {#1} {#2} #3; #4
+ \__fp_parse_function_one_two_auxii:nnw {#1} {#2} #3\__fp_sep: #4
}
-\cs_new:Npn \__fp_parse_function_one_two_auxii:nnw #1#2#3; #4; #5
+\cs_new:Npn \__fp_parse_function_one_two_auxii:nnw #1#2#3\__fp_sep: #4\__fp_sep: #5
{
\if_meaning:w @ #5 \else:
\exp_after:wN \__fp_parse_function_one_two_error_o:w
\fi:
- \use_ii:nn {#1} { \use_none:n #2 } #3; #4; #5
+ \use_ii:nn {#1} { \use_none:n #2 } #3\__fp_sep: #4\__fp_sep: #5
}
-\cs_new:Npn \__fp_tuple_map_o:nw #1 \s__fp_tuple \__fp_tuple_chk:w #2 ;
+\cs_new:Npn \__fp_tuple_map_o:nw #1 \s__fp_tuple \__fp_tuple_chk:w #2 \__fp_sep:
{
\exp_after:wN \s__fp_tuple
\exp_after:wN \__fp_tuple_chk:w
\exp_after:wN {
\exp:w \exp_end_continue_f:w
\__fp_tuple_map_loop_o:nw {#1} #2
- { \s__fp \prg_break: } ;
+ { \s__fp \prg_break: } \__fp_sep:
\prg_break_point:
- \exp_after:wN } \exp_after:wN ;
+ \exp_after:wN } \exp_after:wN \__fp_sep:
}
-\cs_new:Npn \__fp_tuple_map_loop_o:nw #1#2#3 ;
+\cs_new:Npn \__fp_tuple_map_loop_o:nw #1#2#3 \__fp_sep:
{
\use_none:n #2
- #1 #2 #3 ;
+ #1 #2 #3 \__fp_sep:
\exp:w \exp_end_continue_f:w
\__fp_tuple_map_loop_o:nw {#1}
}
\cs_new:Npn \__fp_tuple_mapthread_o:nww #1
- \s__fp_tuple \__fp_tuple_chk:w #2 ;
- \s__fp_tuple \__fp_tuple_chk:w #3 ;
+ \s__fp_tuple \__fp_tuple_chk:w #2 \__fp_sep:
+ \s__fp_tuple \__fp_tuple_chk:w #3 \__fp_sep:
{
\exp_after:wN \s__fp_tuple
\exp_after:wN \__fp_tuple_chk:w
\exp_after:wN {
\exp:w \exp_end_continue_f:w
\__fp_tuple_mapthread_loop_o:nw {#1}
- #2 { \s__fp \prg_break: } ; @
- #3 { \s__fp \prg_break: } ;
+ #2 { \s__fp \prg_break: } \__fp_sep: @
+ #3 { \s__fp \prg_break: } \__fp_sep:
\prg_break_point:
- \exp_after:wN } \exp_after:wN ;
+ \exp_after:wN } \exp_after:wN \__fp_sep:
}
-\cs_new:Npn \__fp_tuple_mapthread_loop_o:nw #1#2#3 ; #4 @ #5#6 ;
+\cs_new:Npn \__fp_tuple_mapthread_loop_o:nw #1#2#3 \__fp_sep: #4 @ #5#6 \__fp_sep:
{
\use_none:n #2
\use_none:n #5
- #1 #2 #3 ; #5 #6 ;
+ #1 #2 #3 \__fp_sep: #5 #6 \__fp_sep:
\exp:w \exp_end_continue_f:w
\__fp_tuple_mapthread_loop_o:nw {#1} #4 @
}
@@ -17438,8 +17599,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__kernel_tl_gset:Nx #1 { \exp_not:f { \__fp_parse:n {#2} } } }
\cs_new_protected:Npn \fp_const:Nn #1#2
{ \tl_const:Ne #1 { \exp_not:f { \__fp_parse:n {#2} } } }
-\cs_generate_variant:Nn \fp_set:Nn {c}
-\cs_generate_variant:Nn \fp_gset:Nn {c}
+\cs_generate_variant:Nn \fp_set:Nn { NV , c , cV }
+\cs_generate_variant:Nn \fp_gset:Nn { NV , c , cV }
\cs_generate_variant:Nn \fp_const:Nn {c}
\cs_new_eq:NN \fp_set_eq:NN \tl_set_eq:NN
\cs_new_eq:NN \fp_gset_eq:NN \tl_gset_eq:NN
@@ -17479,9 +17640,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\__fp_show_validate:nn { #1 }
{
- \s__fp \__fp_chk:w ??? ;~ or \iow_newline:
- \s__fp_tuple \__fp_tuple_chk:w ? ;~ or \iow_newline:
- \s__fp_symbolic \__fp_symbolic_chk:w ? , ? ;
+ \s__fp \__fp_chk:w ??? \__fp_sep: or \iow_newline:
+ \s__fp_tuple \__fp_tuple_chk:w ? \__fp_sep: or \iow_newline:
+ \s__fp_symbolic \__fp_symbolic_chk:w ? , ? \__fp_sep:
}
}
\cs_new:Npn \__fp_show_validate_aux:n #1
@@ -17497,46 +17658,49 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \s__fp }
{
\__fp_show_validate:w #1 \s__fp
- \__fp_chk:w ??? ; \s__fp_stop
+ \__fp_chk:w ??? \__fp_sep: \s__fp_stop
}
{ \s__fp_tuple }
{
\__fp_tuple_show_validate:w #1
- \s__fp_tuple \__fp_tuple_chk:w ?? ; \s__fp_stop
+ \s__fp_tuple \__fp_tuple_chk:w ?? \__fp_sep: \s__fp_stop
}
{ \s__fp_symbolic }
{
\__fp_symbolic_show_validate:w #1
- \s__fp_symbolic \__fp_symbolic_chk:w ? , ?? ; \s__fp_stop
+ \s__fp_symbolic \__fp_symbolic_chk:w ? , ?? \__fp_sep: \s__fp_stop
}
}
{ #2 }
}
}
\cs_new:Npn \__fp_show_validate:w
- #1 \s__fp \__fp_chk:w #2#3#4#5 ; #6 \s__fp_stop
+ #1 \s__fp \__fp_chk:w #2#3#4#5 \__fp_sep: #6 \s__fp_stop
{
\str_if_eq:nnF { #2 } {?}
{
\token_if_eq_meaning:NNTF #2 1
- { \s__fp \__fp_chk:w #2 #3 { #4 } #5 ; }
- { \s__fp \__fp_chk:w #2 #3 #4 #5 ; }
+ { \s__fp \__fp_chk:w #2 #3 { #4 } #5 \__fp_sep: }
+ { \s__fp \__fp_chk:w #2 #3 #4 #5 \__fp_sep: }
\__fp_show_validate_aux:n { #6 }
}
}
\cs_new:Npn \__fp_tuple_show_validate:w
- #1 \s__fp_tuple \__fp_tuple_chk:w #2#3 ; #4 \s__fp_stop
+ #1 \s__fp_tuple \__fp_tuple_chk:w #2#3 \__fp_sep: #4 \s__fp_stop
{
\str_if_eq:nnF { #2 } {?}
- { \s__fp_tuple \__fp_tuple_chk:w { \__fp_show_validate_aux:n { #2 } } ; }
+ {
+ \s__fp_tuple \__fp_tuple_chk:w { \__fp_show_validate_aux:n { #2 } }
+ \__fp_sep:
+ }
}
\cs_new:Npn \__fp_symbolic_show_validate:w
- #1 \s__fp_symbolic \__fp_symbolic_chk:w #2 , #3#4 ; #5 \s__fp_stop
+ #1 \s__fp_symbolic \__fp_symbolic_chk:w #2 , #3#4 \__fp_sep: #5 \s__fp_stop
{
\str_if_eq:nnF { #2 } {?}
{
\s__fp_symbolic \__fp_symbolic_chk:w \exp_not:n { #2 } ,
- { \__fp_show_validate_aux:n { #3 } };
+ { \__fp_show_validate_aux:n { #3 } }\__fp_sep:
\__fp_show_validate_aux:n { #5 }
}
}
@@ -17572,7 +17736,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_compare_return:w
\exp:w \exp_end_continue_f:w \__fp_parse:n {#1}
}
-\cs_new:Npn \__fp_compare_return:w #1#2#3;
+\cs_new:Npn \__fp_compare_return:w #1#2#3\__fp_sep:
{
\if_charcode:w 0
\__fp_if_type_fp:NTwFw
@@ -17594,12 +17758,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_return_false:
\fi:
}
-\cs_new:Npn \__fp_compare_aux:wn #1; #2
+\cs_new:Npn \__fp_compare_aux:wn #1\__fp_sep: #2
{
\exp_after:wN \__fp_compare_back_any:ww
- \exp:w \exp_end_continue_f:w \__fp_parse:n {#2} #1;
+ \exp:w \exp_end_continue_f:w \__fp_parse:n {#2} #1\__fp_sep:
}
-\cs_new:Npn \__fp_compare_back:ww #1#2; #3#4;
+\cs_new:Npn \__fp_compare_back:ww #1#2\__fp_sep: #3#4\__fp_sep:
{
\cs:w
__fp
@@ -17608,9 +17772,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_type_from_scan:N #3
:ww
\cs_end:
- #1#2; #3#4;
+ #1#2\__fp_sep: #3#4\__fp_sep:
}
-\cs_new:Npn \__fp_compare_back_any:ww #1#2; #3
+\cs_new:Npn \__fp_compare_back_any:ww #1#2\__fp_sep: #3
{
\__fp_if_type_fp:NTwFw
#1 { \__fp_if_type_fp:NTwFw #3 \use_i:nn \s__fp \use_ii:nn \s__fp_stop }
@@ -17625,11 +17789,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
:ww
\cs_end:
}
- #1#2 ; #3
+ #1#2 \__fp_sep: #3
}
\cs_new:Npn \__fp_bcmp:ww
- \s__fp \__fp_chk:w #1 #2 #3;
- \s__fp \__fp_chk:w #4 #5 #6;
+ \s__fp \__fp_chk:w #1 #2 #3\__fp_sep:
+ \s__fp \__fp_chk:w #4 #5 #6\__fp_sep:
{
\int_value:w
\if_meaning:w 3 #1 \exp_after:wN \__fp_compare_nan:w \fi:
@@ -17638,7 +17802,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\if_meaning:w #2 #5
\if_meaning:w #1 #4
\if_meaning:w 1 #1
- \__fp_compare_npos:nwnw #6; #3;
+ \__fp_compare_npos:nwnw #6\__fp_sep: #3\__fp_sep:
\else:
0
\fi:
@@ -17655,36 +17819,36 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_stop_f:
}
\cs_new:Npn \__fp_compare_nan:w #1 \fi: \exp_stop_f: { 2 \exp_stop_f: }
-\cs_new:Npn \__fp_compare_back_tuple:ww #1; #2; { 2 }
-\cs_new:Npn \__fp_tuple_compare_back:ww #1; #2; { 2 }
+\cs_new:Npn \__fp_compare_back_tuple:ww #1\__fp_sep: #2\__fp_sep: { 2 }
+\cs_new:Npn \__fp_tuple_compare_back:ww #1\__fp_sep: #2\__fp_sep: { 2 }
\cs_new:Npn \__fp_tuple_compare_back_tuple:ww
- \s__fp_tuple \__fp_tuple_chk:w #1;
- \s__fp_tuple \__fp_tuple_chk:w #2;
+ \s__fp_tuple \__fp_tuple_chk:w #1\__fp_sep:
+ \s__fp_tuple \__fp_tuple_chk:w #2\__fp_sep:
{
\int_compare:nNnTF { \__fp_array_count:n {#1} } =
{ \__fp_array_count:n {#2} }
{
\int_value:w 0
\__fp_tuple_compare_back_loop:w
- #1 { \s__fp \prg_break: } ; @
- #2 { \s__fp \prg_break: } ;
+ #1 { \s__fp \prg_break: } \__fp_sep: @
+ #2 { \s__fp \prg_break: } \__fp_sep:
\prg_break_point:
\exp_stop_f:
}
{ 2 }
}
-\cs_new:Npn \__fp_tuple_compare_back_loop:w #1#2 ; #3 @ #4#5 ;
+\cs_new:Npn \__fp_tuple_compare_back_loop:w #1#2 \__fp_sep: #3 @ #4#5 \__fp_sep:
{
\use_none:n #1
\use_none:n #4
\if_int_compare:w
- \__fp_compare_back_any:ww #1 #2 ; #4 #5 ; = \c_zero_int
+ \__fp_compare_back_any:ww #1 #2 \__fp_sep: #4 #5 \__fp_sep: = \c_zero_int
\else:
2 \exp_after:wN \prg_break:
\fi:
\__fp_tuple_compare_back_loop:w #3 @
}
-\cs_new:Npn \__fp_compare_npos:nwnw #1#2; #3#4;
+\cs_new:Npn \__fp_compare_npos:nwnw #1#2\__fp_sep: #3#4\__fp_sep:
{
\if_int_compare:w #1 = #3 \exp_stop_f:
\__fp_compare_significand:nnnnnnnn #2 #4
@@ -17768,20 +17932,22 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp:w \exp_end_continue_f:w \__fp_parse:n {#3}
}
\cs_generate_variant:Nn \fp_step_function:nnnN { nnnc }
-\cs_new:Npn \__fp_step:wwwN #1#2; #3#4; #5#6; #7
+\cs_new:Npn \__fp_step:wwwN #1#2\__fp_sep: #3#4\__fp_sep: #5#6\__fp_sep: #7
{
\__fp_if_type_fp:NTwFw #1 { } \s__fp \prg_break: \s__fp_stop
\__fp_if_type_fp:NTwFw #3 { } \s__fp \prg_break: \s__fp_stop
\__fp_if_type_fp:NTwFw #5 { } \s__fp \prg_break: \s__fp_stop
- \use_i:nnnn { \__fp_step_fp:wwwN #1#2; #3#4; #5#6; #7 }
+ \use_i:nnnn
+ { \__fp_step_fp:wwwN #1#2\__fp_sep: #3#4\__fp_sep: #5#6\__fp_sep: #7 }
\prg_break_point:
\use:n
{
- \__fp_error:nfff { step-tuple } { \fp_to_tl:n { #1#2 ; } }
- { \fp_to_tl:n { #3#4 ; } } { \fp_to_tl:n { #5#6 ; } }
+ \__fp_error:nfff { step-tuple } { \fp_to_tl:n { #1#2 \__fp_sep: } }
+ { \fp_to_tl:n { #3#4 \__fp_sep: } } { \fp_to_tl:n { #5#6 \__fp_sep: } }
}
}
-\cs_new:Npn \__fp_step_fp:wwwN #1 ; \s__fp \__fp_chk:w #2#3#4 ; #5; #6
+\cs_new:Npn \__fp_step_fp:wwwN
+ #1 \__fp_sep: \s__fp \__fp_chk:w #2#3#4 \__fp_sep: #5\__fp_sep: #6
{
\token_if_eq_meaning:NNTF #2 1
{
@@ -17797,11 +17963,15 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
{
\__fp_error:nnfn { bad-step } { }
- { \fp_to_tl:n { \s__fp \__fp_chk:w #2#3#4 ; } } {#6}
+ { \fp_to_tl:n { \s__fp \__fp_chk:w #2#3#4 \__fp_sep: } } {#6}
}
\use_none:nnnnn
}
- { #1 ; } { \c_nan_fp } { \s__fp \__fp_chk:w #2#3#4 ; } { #5 ; } #6
+ { #1 \__fp_sep: }
+ { \c_nan_fp }
+ { \s__fp \__fp_chk:w #2#3#4 \__fp_sep: }
+ { #5 \__fp_sep: }
+ #6
}
\cs_new:Npn \__fp_step:NnnnnN #1#2#3#4#5#6
{
@@ -17865,11 +18035,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_minmax_loop:Nww \exp_after:wN -
\fi:
#2
- \s__fp \__fp_chk:w 2 #1 \s__fp_exact ;
- \s__fp \__fp_chk:w { 3 \__fp_minmax_break_o:w } ;
+ \s__fp \__fp_chk:w 2 #1 \s__fp_exact \__fp_sep:
+ \s__fp \__fp_chk:w { 3 \__fp_minmax_break_o:w } \__fp_sep:
}
\cs_new:Npn \__fp_minmax_loop:Nww
- #1 \s__fp \__fp_chk:w #2#3; \s__fp \__fp_chk:w #4#5;
+ #1 \s__fp \__fp_chk:w #2#3\__fp_sep: \s__fp \__fp_chk:w #4#5\__fp_sep:
{
\if_meaning:w 3 #4
\if_meaning:w 3 #2
@@ -17880,8 +18050,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\if_int_compare:w
\__fp_compare_back:ww
- \s__fp \__fp_chk:w #4#5;
- \s__fp \__fp_chk:w #2#3;
+ \s__fp \__fp_chk:w #4#5\__fp_sep:
+ \s__fp \__fp_chk:w #2#3\__fp_sep:
= #1 1 \exp_stop_f:
\__fp_minmax_auxii:ww
\else:
@@ -17889,16 +18059,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\fi:
\__fp_minmax_loop:Nww #1
- \s__fp \__fp_chk:w #2#3;
- \s__fp \__fp_chk:w #4#5;
+ \s__fp \__fp_chk:w #2#3\__fp_sep:
+ \s__fp \__fp_chk:w #4#5\__fp_sep:
}
-\cs_new:Npn \__fp_minmax_auxi:ww #1 \fi: \fi: #2 \s__fp #3 ; \s__fp #4;
- { \fi: \fi: #2 \s__fp #3 ; }
-\cs_new:Npn \__fp_minmax_auxii:ww #1 \fi: \fi: #2 \s__fp #3 ;
+\cs_new:Npn \__fp_minmax_auxi:ww
+ #1 \fi: \fi: #2 \s__fp #3 \__fp_sep: \s__fp #4\__fp_sep:
+ { \fi: \fi: #2 \s__fp #3 \__fp_sep: }
+\cs_new:Npn \__fp_minmax_auxii:ww #1 \fi: \fi: #2 \s__fp #3 \__fp_sep:
{ \fi: \fi: #2 }
-\cs_new:Npn \__fp_minmax_break_o:w #1 \fi: \fi: #2 \s__fp #3; #4;
- { \fi: \__fp_exp_after_o:w \s__fp #3; }
-\cs_new:Npn \__fp_not_o:w #1 \s__fp \__fp_chk:w #2#3; @
+\cs_new:Npn \__fp_minmax_break_o:w #1 \fi: \fi: #2 \s__fp #3\__fp_sep: #4\__fp_sep:
+ { \fi: \__fp_exp_after_o:w \s__fp #3\__fp_sep: }
+\cs_new:Npn \__fp_not_o:w #1 \s__fp \__fp_chk:w #2#3\__fp_sep: @
{
\if_meaning:w 0 #2
\exp_after:wN \exp_after:wN \exp_after:wN \c_one_fp
@@ -17910,30 +18081,31 @@ Type H <return> for immediate help}\def~{\errmessage{%
\group_begin:
\char_set_catcode_letter:N &
\char_set_catcode_letter:N |
- \cs_new:Npn \__fp_&_o:ww #1 \s__fp \__fp_chk:w #2#3;
+ \cs_new:Npn \__fp_&_o:ww #1 \s__fp \__fp_chk:w #2#3\__fp_sep:
{
\if_meaning:w 0 #2 #1
- \__fp_and_return:wNw \s__fp \__fp_chk:w #2#3;
+ \__fp_and_return:wNw \s__fp \__fp_chk:w #2#3\__fp_sep:
\fi:
\__fp_exp_after_o:w
}
- \cs_new:Npn \__fp_&_tuple_o:ww #1 \s__fp \__fp_chk:w #2#3;
+ \cs_new:Npn \__fp_&_tuple_o:ww #1 \s__fp \__fp_chk:w #2#3\__fp_sep:
{
\if_meaning:w 0 #2 #1
- \__fp_and_return:wNw \s__fp \__fp_chk:w #2#3;
+ \__fp_and_return:wNw \s__fp \__fp_chk:w #2#3\__fp_sep:
\fi:
\__fp_exp_after_tuple_o:w
}
- \cs_new:Npn \__fp_tuple_&_o:ww #1; { \__fp_exp_after_o:w }
- \cs_new:Npn \__fp_tuple_&_tuple_o:ww #1; { \__fp_exp_after_tuple_o:w }
+ \cs_new:Npn \__fp_tuple_&_o:ww #1\__fp_sep: { \__fp_exp_after_o:w }
+ \cs_new:Npn \__fp_tuple_&_tuple_o:ww #1\__fp_sep: { \__fp_exp_after_tuple_o:w }
\cs_new:Npn \__fp_|_o:ww { \__fp_&_o:ww \else: }
\cs_new:Npn \__fp_|_tuple_o:ww { \__fp_&_tuple_o:ww \else: }
- \cs_new:Npn \__fp_tuple_|_o:ww #1; #2; { \__fp_exp_after_tuple_o:w #1; }
- \cs_new:Npn \__fp_tuple_|_tuple_o:ww #1; #2;
- { \__fp_exp_after_tuple_o:w #1; }
+ \cs_new:Npn \__fp_tuple_|_o:ww #1\__fp_sep: #2\__fp_sep:
+ { \__fp_exp_after_tuple_o:w #1\__fp_sep: }
+ \cs_new:Npn \__fp_tuple_|_tuple_o:ww #1\__fp_sep: #2\__fp_sep:
+ { \__fp_exp_after_tuple_o:w #1\__fp_sep: }
\group_end:
-\cs_new:Npn \__fp_and_return:wNw #1; \fi: #2;
- { \fi: \__fp_exp_after_o:w #1; }
+\cs_new:Npn \__fp_and_return:wNw #1\__fp_sep: \fi: #2\__fp_sep:
+ { \fi: \__fp_exp_after_o:w #1\__fp_sep: }
\cs_new:Npn \__fp_ternary:NwwN #1 #2#3@ #4@ #5
{
\if_meaning:w \__fp_parse_infix_::N #5
@@ -17994,7 +18166,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_not:n { \s__fp \__fp_neg_sign:N }
}
\cs_new:cpn { __fp_+_o:ww }
- \s__fp #1 \__fp_chk:w #2 #3 ; \s__fp \__fp_chk:w #4 #5
+ \s__fp #1 \__fp_chk:w #2 #3 \__fp_sep: \s__fp \__fp_chk:w #4 #5
{
\if_case:w
\if_meaning:w #2 #4
@@ -18014,10 +18186,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else: \exp_after:wN \__fp_add_return_ii_o:Nww \int_value:w
\fi:
#1 #5
- \s__fp \__fp_chk:w #2 #3 ;
+ \s__fp \__fp_chk:w #2 #3 \__fp_sep:
\s__fp \__fp_chk:w #4 #5
}
-\cs_new:Npn \__fp_add_return_ii_o:Nww #1 #2 ; \s__fp \__fp_chk:w #3 #4
+\cs_new:Npn \__fp_add_return_ii_o:Nww #1 #2 \__fp_sep: \s__fp \__fp_chk:w #3 #4
{ \__fp_exp_after_o:w \s__fp \__fp_chk:w #3 #1 }
\cs_new:Npn \__fp_add_zeros_o:Nww #1 \s__fp \__fp_chk:w 0 #2
{
@@ -18030,7 +18202,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\s__fp \__fp_chk:w 0 #2
}
\cs_new:Npn \__fp_add_inf_o:Nww
- #1 \s__fp \__fp_chk:w 2 #2 #3; \s__fp \__fp_chk:w 2 #4
+ #1 \s__fp \__fp_chk:w 2 #2 #3\__fp_sep: \s__fp \__fp_chk:w 2 #4
{
\if_meaning:w #1 #2
\__fp_case_return_i_o:ww
@@ -18041,7 +18213,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \token_if_eq_meaning:NNTF #1 #4 + - }
}
\fi:
- \s__fp \__fp_chk:w 2 #2 #3;
+ \s__fp \__fp_chk:w 2 #2 #3\__fp_sep:
\s__fp \__fp_chk:w 2 #4
}
\cs_new:Npn \__fp_add_normal_o:Nww #1 \s__fp \__fp_chk:w 1 #2
@@ -18053,7 +18225,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
#2
}
-\cs_new:Npn \__fp_add_npos_o:NnwNnw #1#2#3 ; \s__fp \__fp_chk:w 1 #4 #5
+\cs_new:Npn \__fp_add_npos_o:NnwNnw #1#2#3 \__fp_sep: \s__fp \__fp_chk:w 1 #4 #5
{
\exp_after:wN \__fp_sanitize:Nw
\exp_after:wN #1
@@ -18065,9 +18237,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
#5
\exp_after:wN \__fp_add_big_ii_o:wNww \int_value:w
\fi:
- \__fp_int_eval:w #5 - #2 ; #1 #3;
+ \__fp_int_eval:w #5 - #2 \__fp_sep: #1 #3\__fp_sep:
}
-\cs_new:Npn \__fp_add_big_i_o:wNww #1; #2 #3; #4;
+\cs_new:Npn \__fp_add_big_i_o:wNww #1\__fp_sep: #2 #3\__fp_sep: #4\__fp_sep:
{
\__fp_decimate:nNnnnn {#1}
\__fp_add_significand_o:NnnwnnnnN
@@ -18075,7 +18247,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
#3
#2
}
-\cs_new:Npn \__fp_add_big_ii_o:wNww #1; #2 #3; #4;
+\cs_new:Npn \__fp_add_big_ii_o:wNww #1\__fp_sep: #2 #3\__fp_sep: #4\__fp_sep:
{
\__fp_decimate:nNnnnn {#1}
\__fp_add_significand_o:NnnwnnnnN
@@ -18083,19 +18255,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
#4
#2
}
-\cs_new:Npn \__fp_add_significand_o:NnnwnnnnN #1 #2#3 #4; #5#6#7#8
+\cs_new:Npn \__fp_add_significand_o:NnnwnnnnN #1 #2#3 #4\__fp_sep: #5#6#7#8
{
\exp_after:wN \__fp_add_significand_test_o:N
\int_value:w \__fp_int_eval:w 1#5#6 + #2
\exp_after:wN \__fp_add_significand_pack:NNNNNNN
- \int_value:w \__fp_int_eval:w 1#7#8 + #3 ; #1
+ \int_value:w \__fp_int_eval:w 1#7#8 + #3 \__fp_sep: #1
}
\cs_new:Npn \__fp_add_significand_pack:NNNNNNN #1 #2#3#4#5#6#7
{
\if_meaning:w 2 #1
+ 1
\fi:
- ; #2 #3 #4 #5 #6 #7 ;
+ \__fp_sep: #2 #3 #4 #5 #6 #7 \__fp_sep:
}
\cs_new:Npn \__fp_add_significand_test_o:N #1
{
@@ -18106,17 +18278,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
}
\cs_new:Npn \__fp_add_significand_no_carry_o:wwwNN
- #1; #2; #3#4 ; #5#6
+ #1\__fp_sep: #2\__fp_sep: #3#4 \__fp_sep: #5#6
{
\exp_after:wN \__fp_basics_pack_high:NNNNNw
\int_value:w \__fp_int_eval:w 1 #1
\exp_after:wN \__fp_basics_pack_low:NNNNNw
\int_value:w \__fp_int_eval:w 1 #2 #3#4
+ \__fp_round:NNN #6 #4 #5
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
}
\cs_new:Npn \__fp_add_significand_carry_o:wwwNN
- #1; #2; #3#4; #5#6
+ #1\__fp_sep: #2\__fp_sep: #3#4\__fp_sep: #5#6
{
+ 1
\exp_after:wN \__fp_basics_pack_weird_high:NNNNNNNNw
@@ -18126,28 +18298,31 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_round:NNN
\exp_after:wN #6
\exp_after:wN #3
- \int_value:w \__fp_round_digit:Nw #4 #5 ;
- \exp_after:wN ;
+ \int_value:w \__fp_round_digit:Nw #4 #5 \__fp_sep:
+ \exp_after:wN \__fp_sep:
}
-\cs_new:Npn \__fp_sub_npos_o:NnwNnw #1#2#3; \s__fp \__fp_chk:w 1 #4#5#6;
+\cs_new:Npn \__fp_sub_npos_o:NnwNnw
+ #1#2#3\__fp_sep: \s__fp \__fp_chk:w 1 #4#5#6\__fp_sep:
{
- \if_case:w \__fp_compare_npos:nwnw {#2} #3; {#5} #6; \exp_stop_f:
+ \if_case:w
+ \__fp_compare_npos:nwnw {#2} #3\__fp_sep: {#5} #6\__fp_sep: \exp_stop_f:
\exp_after:wN \__fp_sub_eq_o:Nnwnw
\or:
\exp_after:wN \__fp_sub_npos_i_o:Nnwnw
\else:
\exp_after:wN \__fp_sub_npos_ii_o:Nnwnw
\fi:
- #1 {#2} #3; {#5} #6;
+ #1 {#2} #3\__fp_sep: {#5} #6\__fp_sep:
}
-\cs_new:Npn \__fp_sub_eq_o:Nnwnw #1#2; #3; { \exp_after:wN \c_zero_fp }
-\cs_new:Npn \__fp_sub_npos_ii_o:Nnwnw #1 #2; #3;
+\cs_new:Npn \__fp_sub_eq_o:Nnwnw #1#2\__fp_sep: #3\__fp_sep:
+ { \exp_after:wN \c_zero_fp }
+\cs_new:Npn \__fp_sub_npos_ii_o:Nnwnw #1 #2\__fp_sep: #3\__fp_sep:
{
\exp_after:wN \__fp_sub_npos_i_o:Nnwnw
\int_value:w \__fp_neg_sign:N #1
- #3; #2;
+ #3\__fp_sep: #2\__fp_sep:
}
-\cs_new:Npn \__fp_sub_npos_i_o:Nnwnw #1 #2#3; #4#5;
+\cs_new:Npn \__fp_sub_npos_i_o:Nnwnw #1 #2#3\__fp_sep: #4#5\__fp_sep:
{
\exp_after:wN \__fp_sanitize:Nw
\exp_after:wN #1
@@ -18169,42 +18344,43 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_sub_back_near_after:wNNNNw
\int_value:w \__fp_int_eval:w 10#5#6 - #1#2 - 11
\exp_after:wN \__fp_sub_back_near_pack:NNNNNNw
- \int_value:w \__fp_int_eval:w 11#7#8 - #3#4 \exp_after:wN ;
+ \int_value:w \__fp_int_eval:w 11#7#8 - #3#4 \exp_after:wN \__fp_sep:
}
-\cs_new:Npn \__fp_sub_back_near_pack:NNNNNNw #1#2#3#4#5#6#7 ;
- { + #1#2 ; {#3#4#5#6} {#7} ; }
-\cs_new:Npn \__fp_sub_back_near_after:wNNNNw 10 #1#2#3#4 #5 ;
+\cs_new:Npn \__fp_sub_back_near_pack:NNNNNNw #1#2#3#4#5#6#7 \__fp_sep:
+ { + #1#2 \__fp_sep: {#3#4#5#6} {#7} \__fp_sep: }
+\cs_new:Npn \__fp_sub_back_near_after:wNNNNw 10 #1#2#3#4 #5 \__fp_sep:
{
\if_meaning:w 0 #1
\exp_after:wN \__fp_sub_back_shift:wnnnn
\fi:
- ; {#1#2#3#4} {#5}
+ \__fp_sep: {#1#2#3#4} {#5}
}
-\cs_new:Npn \__fp_sub_back_shift:wnnnn ; #1#2
+\cs_new:Npn \__fp_sub_back_shift:wnnnn \__fp_sep: #1#2
{
\exp_after:wN \__fp_sub_back_shift_ii:ww
- \int_value:w #1 #2 0 ;
+ \int_value:w #1 #2 0 \__fp_sep:
}
-\cs_new:Npn \__fp_sub_back_shift_ii:ww #1 0 ; #2#3 ;
+\cs_new:Npn \__fp_sub_back_shift_ii:ww #1 0 \__fp_sep: #2#3 \__fp_sep:
{
\if_meaning:w @ #1 @
- 7
- \exp_after:wN \use_i:nnn
\exp_after:wN \__fp_sub_back_shift_iii:NNNNNNNNw
- \int_value:w #2#3 0 ~ 123456789;
+ \int_value:w #2#3 0 ~ 123456789\__fp_sep:
\else:
- - \__fp_sub_back_shift_iii:NNNNNNNNw #1 123456789;
+ - \__fp_sub_back_shift_iii:NNNNNNNNw #1 123456789\__fp_sep:
\fi:
\exp_after:wN \__fp_pack_twice_four:wNNNNNNNN
\exp_after:wN \__fp_pack_twice_four:wNNNNNNNN
\exp_after:wN \__fp_sub_back_shift_iv:nnnnw
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
\int_value:w
- #1 ~ #2#3 0 ~ 0000 0000 0000 000 ;
+ #1 ~ #2#3 0 ~ 0000 0000 0000 000 \__fp_sep:
}
-\cs_new:Npn \__fp_sub_back_shift_iii:NNNNNNNNw #1#2#3#4#5#6#7#8#9; {#8}
-\cs_new:Npn \__fp_sub_back_shift_iv:nnnnw #1 ; #2 ; { ; #1 ; }
-\cs_new:Npn \__fp_sub_back_far_o:NnnwnnnnN #1 #2#3 #4; #5#6#7#8
+\cs_new:Npn \__fp_sub_back_shift_iii:NNNNNNNNw #1#2#3#4#5#6#7#8#9\__fp_sep: {#8}
+\cs_new:Npn \__fp_sub_back_shift_iv:nnnnw #1 \__fp_sep: #2 \__fp_sep:
+ { \__fp_sep: #1 \__fp_sep: }
+\cs_new:Npn \__fp_sub_back_far_o:NnnwnnnnN #1 #2#3 #4\__fp_sep: #5#6#7#8
{
\if_case:w
\if_int_compare:w 1 #2 = #5#6 \use_i:nnnn #7 \exp_stop_f:
@@ -18221,9 +18397,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\or: \exp_after:wN \__fp_sub_back_very_far_o:wwwwNN
\else: \exp_after:wN \__fp_sub_back_not_far_o:wwwwNN
\fi:
- #2 ~ #3 ; #5 #6 ~ #7 #8 ; #1
+ #2 ~ #3 \__fp_sep: #5 #6 ~ #7 #8 \__fp_sep: #1
}
-\cs_new:Npn \__fp_sub_back_quite_far_o:wwNN #1; #2; #3#4
+\cs_new:Npn \__fp_sub_back_quite_far_o:wwNN #1\__fp_sep: #2\__fp_sep: #3#4
{
\exp_after:wN \__fp_sub_back_quite_far_ii:NN
\exp_after:wN #3
@@ -18236,10 +18412,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\exp_after:wN \use_ii:nn
\fi:
- { ; {1000} {0000} {0000} {0000} ; }
- { - 1 ; {9999} {9999} {9999} {9999} ; }
+ { \__fp_sep: {1000} {0000} {0000} {0000} \__fp_sep: }
+ { - 1 \__fp_sep: {9999} {9999} {9999} {9999} \__fp_sep: }
}
-\cs_new:Npn \__fp_sub_back_not_far_o:wwwwNN #1 ~ #2; #3 ~ #4; #5#6
+\cs_new:Npn \__fp_sub_back_not_far_o:wwwwNN #1 ~ #2\__fp_sep: #3 ~ #4\__fp_sep: #5#6
{
- 1
\exp_after:wN \__fp_sub_back_near_after:wNNNNw
@@ -18249,16 +18425,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
- \exp_after:wN \__fp_round_neg:NNN
\exp_after:wN #6
\use_none:nnnnnnn #2 #5
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
}
\cs_new:Npn \__fp_sub_back_very_far_o:wwwwNN #1#2#3#4#5#6#7
{
\__fp_pack_eight:wNNNNNNNN
\__fp_sub_back_very_far_ii_o:nnNwwNN
{ 0 #1#2#3 #4#5#6#7 }
- ;
+ \__fp_sep:
}
-\cs_new:Npn \__fp_sub_back_very_far_ii_o:nnNwwNN #1#2 ; #3 ; #4 ~ #5; #6#7
+\cs_new:Npn \__fp_sub_back_very_far_ii_o:nnNwwNN
+ #1#2 \__fp_sep: #3 \__fp_sep: #4 ~ #5\__fp_sep: #6#7
{
\exp_after:wN \__fp_basics_pack_high:NNNNNw
\int_value:w \__fp_int_eval:w 1#4 - #1 - 1
@@ -18269,8 +18446,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_value:w
\if_int_odd:w \__fp_int_eval:w #5 - #2 \__fp_int_eval_end:
1 \else: 2 \fi:
- \int_value:w \__fp_round_digit:Nw #3 #6 ;
- \exp_after:wN ;
+ \int_value:w \__fp_round_digit:Nw #3 #6 \__fp_sep:
+ \exp_after:wN \__fp_sep:
}
\cs_new:cpn { __fp_*_o:ww }
{
@@ -18281,7 +18458,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ }
}
\cs_new:Npn \__fp_mul_cases_o:NnNnww
- #1#2#3#4 \s__fp \__fp_chk:w #5#6#7; \s__fp \__fp_chk:w #8#9
+ #1#2#3#4 \s__fp \__fp_chk:w #5#6#7\__fp_sep: \s__fp \__fp_chk:w #8#9
{
\if_case:w \__fp_int_eval:w
\if_int_compare:w #5 #8 = 11 ~
@@ -18315,11 +18492,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
\or: \__fp_case_return_o:Nww \c_minus_inf_fp
#4
\fi:
- \s__fp \__fp_chk:w #5 #6 #7;
+ \s__fp \__fp_chk:w #5 #6 #7\__fp_sep:
\s__fp \__fp_chk:w #8 #9
}
\cs_new:Npn \__fp_mul_npos_o:Nww
- #1 \s__fp \__fp_chk:w #2 #3 #4 #5 ; \s__fp \__fp_chk:w #6 #7 #8 #9 ;
+ #1 \s__fp \__fp_chk:w #2 #3 #4 #5 \__fp_sep:
+ \s__fp \__fp_chk:w #6 #7 #8 #9 \__fp_sep:
{
\exp_after:wN \__fp_sanitize:Nw
\exp_after:wN #1
@@ -18345,13 +18523,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_mul_significand_drop:NNNNNw
\int_value:w \__fp_int_eval:w 99990000 + #3*#9 + #4*#8 +
\exp_after:wN \__fp_mul_significand_drop:NNNNNw
- \int_value:w \__fp_int_eval:w 100000000 + #4*#9 ;
- ; \exp_after:wN ;
+ \int_value:w \__fp_int_eval:w 100000000 + #4*#9 \__fp_sep:
+ \__fp_sep: \exp_after:wN \__fp_sep:
}
-\cs_new:Npn \__fp_mul_significand_drop:NNNNNw #1#2#3#4#5 #6;
- { #1#2#3#4#5 ; + #6 }
-\cs_new:Npn \__fp_mul_significand_keep:NNNNNw #1#2#3#4#5 #6;
- { #1#2#3#4#5 ; #6 ; }
+\cs_new:Npn \__fp_mul_significand_drop:NNNNNw #1#2#3#4#5 #6\__fp_sep:
+ { #1#2#3#4#5 \__fp_sep: + #6 }
+\cs_new:Npn \__fp_mul_significand_keep:NNNNNw #1#2#3#4#5 #6\__fp_sep:
+ { #1#2#3#4#5 \__fp_sep: #6 \__fp_sep: }
\cs_new:Npn \__fp_mul_significand_test_f:NNN #1 #2 #3
{
\if_meaning:w 0 #3
@@ -18361,7 +18539,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
#1 #3
}
-\cs_new:Npn \__fp_mul_significand_large_f:NwwNNNN #1 #2; #3; #4#5#6#7; +
+\cs_new:Npn \__fp_mul_significand_large_f:NwwNNNN
+ #1 #2\__fp_sep: #3\__fp_sep: #4#5#6#7\__fp_sep: +
{
\exp_after:wN \__fp_basics_pack_high:NNNNNw
\int_value:w \__fp_int_eval:w 1#2
@@ -18372,7 +18551,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN #7
\int_value:w \__fp_round_digit:Nw
}
-\cs_new:Npn \__fp_mul_significand_small_f:NNwwwN #1 #2#3; #4#5; #6; + #7
+\cs_new:Npn \__fp_mul_significand_small_f:NNwwwN
+ #1 #2#3\__fp_sep: #4#5\__fp_sep: #6\__fp_sep: + #7
{
- 1
\exp_after:wN \__fp_basics_pack_high:NNNNNw
@@ -18400,25 +18580,26 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
\cs_new:Npn \__fp_div_npos_o:Nww
- #1 \s__fp \__fp_chk:w 1 #2 #3 #4 ; \s__fp \__fp_chk:w 1 #5 #6 #7#8#9;
+ #1 \s__fp \__fp_chk:w 1 #2 #3 #4 \__fp_sep:
+ \s__fp \__fp_chk:w 1 #5 #6 #7#8#9\__fp_sep:
{
\exp_after:wN \__fp_sanitize:Nw
\exp_after:wN #1
\int_value:w \__fp_int_eval:w
#3 - #6
\exp_after:wN \__fp_div_significand_i_o:wnnw
- \int_value:w \__fp_int_eval:w #7 \use_i:nnnn #8 + 1 ;
+ \int_value:w \__fp_int_eval:w #7 \use_i:nnnn #8 + 1 \__fp_sep:
#4
- {#7}{#8}#9 ;
+ {#7}{#8}#9 \__fp_sep:
#1
}
-\cs_new:Npn \__fp_div_significand_i_o:wnnw #1 ; #2#3 #4 ;
+\cs_new:Npn \__fp_div_significand_i_o:wnnw #1 \__fp_sep: #2#3 #4 \__fp_sep:
{
\exp_after:wN \__fp_div_significand_test_o:w
\int_value:w \__fp_int_eval:w
\exp_after:wN \__fp_div_significand_calc:wwnnnnnnn
- \int_value:w \__fp_int_eval:w 999999 + #2 #3 0 / #1 ;
- #2 #3 ;
+ \int_value:w \__fp_int_eval:w 999999 + #2 #3 0 / #1 \__fp_sep:
+ #2 #3 \__fp_sep:
#4
{ \exp_after:wN \__fp_div_significand_ii:wwn \int_value:w #1 }
{ \exp_after:wN \__fp_div_significand_ii:wwn \int_value:w #1 }
@@ -18434,10 +18615,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
}
\cs_new:Npn \__fp_div_significand_calc_i:wwnnnnnnn
- #1; #2;#3#4 #5#6#7#8 #9
+ #1\__fp_sep: #2\__fp_sep:#3#4 #5#6#7#8 #9
{
1 1 #1
- #9 \exp_after:wN ;
+ #9 \exp_after:wN \__fp_sep:
\int_value:w \__fp_int_eval:w \c__fp_Bigg_leading_shift_int
+ #2 - #1 * #5 - #5#60
\exp_after:wN \__fp_pack_Bigg:NNNNNNw
@@ -18448,14 +18629,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
+ #4 - #1 * #7 - #80
\exp_after:wN \__fp_pack_Bigg:NNNNNNw
\int_value:w \__fp_int_eval:w \c__fp_Bigg_trailing_shift_int
- - #1 * #8 ;
+ - #1 * #8 \__fp_sep:
{#5}{#6}{#7}{#8}
}
\cs_new:Npn \__fp_div_significand_calc_ii:wwnnnnnnn
- #1; #2;#3#4 #5#6#7#8 #9
+ #1\__fp_sep: #2\__fp_sep:#3#4 #5#6#7#8 #9
{
1 0 #1
- #9 \exp_after:wN ;
+ #9 \exp_after:wN \__fp_sep:
\int_value:w \__fp_int_eval:w \c__fp_Bigg_leading_shift_int
+ #2 - #1 * #5
\exp_after:wN \__fp_pack_Bigg:NNNNNNw
@@ -18466,25 +18647,27 @@ Type H <return> for immediate help}\def~{\errmessage{%
+ #4 - #1 * #7
\exp_after:wN \__fp_pack_Bigg:NNNNNNw
\int_value:w \__fp_int_eval:w \c__fp_Bigg_trailing_shift_int
- - #1 * #8 ;
+ - #1 * #8 \__fp_sep:
{#5}{#6}{#7}{#8}
}
-\cs_new:Npn \__fp_div_significand_ii:wwn #1; #2;#3
+\cs_new:Npn \__fp_div_significand_ii:wwn #1\__fp_sep: #2\__fp_sep:#3
{
\exp_after:wN \__fp_div_significand_pack:NNN
\int_value:w \__fp_int_eval:w
\exp_after:wN \__fp_div_significand_calc:wwnnnnnnn
- \int_value:w \__fp_int_eval:w 999999 + #2 #3 0 / #1 ; #2 #3 ;
+ \int_value:w \__fp_int_eval:w
+ 999999 + #2 #3 0 / #1 \__fp_sep: #2 #3 \__fp_sep:
}
-\cs_new:Npn \__fp_div_significand_iii:wwnnnnn #1; #2;#3#4#5 #6#7
+\cs_new:Npn \__fp_div_significand_iii:wwnnnnn #1\__fp_sep: #2\__fp_sep:#3#4#5 #6#7
{
0
\exp_after:wN \__fp_div_significand_iv:wwnnnnnnn
- \int_value:w \__fp_int_eval:w ( 2 * #2 #3) / #6 #7 ; % <- P
- #2 ; {#3} {#4} {#5}
+ \int_value:w \__fp_int_eval:w ( 2 * #2 #3) / #6 #7 \__fp_sep: % <- P
+ #2 \__fp_sep: {#3} {#4} {#5}
{#6} {#7}
}
-\cs_new:Npn \__fp_div_significand_iv:wwnnnnnnn #1; #2;#3#4#5 #6#7#8#9
+\cs_new:Npn \__fp_div_significand_iv:wwnnnnnnn
+ #1\__fp_sep: #2\__fp_sep:#3#4#5 #6#7#8#9
{
+ 5 * #1
\exp_after:wN \__fp_div_significand_vi:Nw
@@ -18492,19 +18675,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_div_significand_v:NN
\int_value:w \__fp_int_eval:w 499950 + 2*#4 - #1*#8 +
\exp_after:wN \__fp_div_significand_v:NN
- \int_value:w \__fp_int_eval:w 500000 + 2*#5 - #1*#9 ;
+ \int_value:w \__fp_int_eval:w 500000 + 2*#5 - #1*#9 \__fp_sep:
}
\cs_new:Npn \__fp_div_significand_v:NN #1#2 { #1#2 \__fp_int_eval_end: + }
-\cs_new:Npn \__fp_div_significand_vi:Nw #1#2;
+\cs_new:Npn \__fp_div_significand_vi:Nw #1#2\__fp_sep:
{
\if_meaning:w 0 #1
\if_int_compare:w \__fp_int_eval:w #2 > 0 + 1 \fi:
\else:
\if_meaning:w - #1 - \else: + \fi: 1
\fi:
- ;
+ \__fp_sep:
}
-\cs_new:Npn \__fp_div_significand_pack:NNN 1 #1 #2 { + #1 #2 ; }
+\cs_new:Npn \__fp_div_significand_pack:NNN 1 #1 #2 { + #1 #2 \__fp_sep: }
\cs_new:Npn \__fp_div_significand_test_o:w 10 #1
{
\if_meaning:w 0 #1
@@ -18515,17 +18698,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
#1
}
\cs_new:Npn \__fp_div_significand_small_o:wwwNNNNwN
- 0 #1; #2; #3; #4#5#6#7#8; #9
+ 0 #1\__fp_sep: #2\__fp_sep: #3\__fp_sep: #4#5#6#7#8\__fp_sep: #9
{
\exp_after:wN \__fp_basics_pack_high:NNNNNw
\int_value:w \__fp_int_eval:w 1 #1#2
\exp_after:wN \__fp_basics_pack_low:NNNNNw
\int_value:w \__fp_int_eval:w 1 #3#4#5#6#7
+ \__fp_round:NNN #9 #7 #8
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
}
\cs_new:Npn \__fp_div_significand_large_o:wwwNNNNwN
- #1; #2; #3; #4#5#6#7#8; #9
+ #1\__fp_sep: #2\__fp_sep: #3\__fp_sep: #4#5#6#7#8\__fp_sep: #9
{
+ 1
\exp_after:wN \__fp_basics_pack_weird_high:NNNNNNNNw
@@ -18535,10 +18718,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_round:NNN
\exp_after:wN #9
\exp_after:wN #6
- \int_value:w \__fp_round_digit:Nw #7 #8 ;
- \exp_after:wN ;
+ \int_value:w \__fp_round_digit:Nw #7 #8 \__fp_sep:
+ \exp_after:wN \__fp_sep:
}
-\cs_new:Npn \__fp_sqrt_o:w #1 \s__fp \__fp_chk:w #2#3#4; @
+\cs_new:Npn \__fp_sqrt_o:w #1 \s__fp \__fp_chk:w #2#3#4\__fp_sep: @
{
\if_meaning:w 0 #2 \__fp_case_return_same_o:w \fi:
\if_meaning:w 2 #3
@@ -18546,9 +18729,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\if_meaning:w 1 #2 \else: \__fp_case_return_same_o:w \fi:
\__fp_sqrt_npos_o:w
- \s__fp \__fp_chk:w #2 #3 #4;
+ \s__fp \__fp_chk:w #2 #3 #4\__fp_sep:
}
-\cs_new:Npn \__fp_sqrt_npos_o:w \s__fp \__fp_chk:w 1 0 #1#2#3#4#5;
+\cs_new:Npn \__fp_sqrt_npos_o:w \s__fp \__fp_chk:w 1 0 #1#2#3#4#5\__fp_sep:
{
\exp_after:wN \__fp_sanitize:Nw
\exp_after:wN 0
@@ -18557,19 +18740,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_sqrt_npos_auxi_o:wwnnN
\fi:
#1 / 2
- \__fp_sqrt_Newton_o:wwn 56234133; 0; {#2#3} {#4#5} 0
+ \__fp_sqrt_Newton_o:wwn 56234133\__fp_sep: 0\__fp_sep: {#2#3} {#4#5} 0
}
-\cs_new:Npn \__fp_sqrt_npos_auxi_o:wwnnN #1 / 2 #2; 0; #3#4#5
+\cs_new:Npn \__fp_sqrt_npos_auxi_o:wwnnN #1 / 2 #2\__fp_sep: 0\__fp_sep: #3#4#5
{
( #1 + 1 ) / 2
\__fp_pack_eight:wNNNNNNNN
\__fp_sqrt_npos_auxii_o:wNNNNNNNN
- ;
+ \__fp_sep:
0 #3 #4
}
-\cs_new:Npn \__fp_sqrt_npos_auxii_o:wNNNNNNNN #1; #2#3#4#5#6#7#8#9
- { \__fp_sqrt_Newton_o:wwn 17782794; 0; {#1} {#2#3#4#5#6#7#8#9} }
-\cs_new:Npn \__fp_sqrt_Newton_o:wwn #1; #2; #3
+\cs_new:Npn \__fp_sqrt_npos_auxii_o:wNNNNNNNN #1\__fp_sep: #2#3#4#5#6#7#8#9
+ { \__fp_sqrt_Newton_o:wwn 17782794\__fp_sep: 0\__fp_sep: {#1} {#2#3#4#5#6#7#8#9} }
+\cs_new:Npn \__fp_sqrt_Newton_o:wwn #1\__fp_sep: #2\__fp_sep: #3
{
\if_int_compare:w #1 = #2 \exp_stop_f:
\exp_after:wN \__fp_sqrt_auxi_o:NNNNwnnN
@@ -18577,10 +18760,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_use_none_until_s:w
\fi:
\exp_after:wN \__fp_sqrt_Newton_o:wwn
- \int_value:w \__fp_int_eval:w (#1 + #3 * 1 0000 0000 / #1) / 2 ;
- #1; {#3}
+ \int_value:w \__fp_int_eval:w (#1 + #3 * 1 0000 0000 / #1) / 2 \__fp_sep:
+ #1\__fp_sep: {#3}
}
-\cs_new:Npn \__fp_sqrt_auxi_o:NNNNwnnN 1 #1#2#3#4#5;
+\cs_new:Npn \__fp_sqrt_auxi_o:NNNNwnnN 1 #1#2#3#4#5\__fp_sep:
{
\__fp_sqrt_auxii_o:NnnnnnnnN
\__fp_sqrt_auxiii_o:wnnnnnnnn
@@ -18616,13 +18799,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_pack_big:NNNNNNw
\int_value:w \__fp_int_eval:w
\c__fp_big_trailing_shift_int
- - #6 * #6 ;
+ - #6 * #6 \__fp_sep:
% (
- - 257 ) * 5000 0000 / (#2#3 + 1) + 10 0000 0000 ;
+ - 257 ) * 5000 0000 / (#2#3 + 1) + 10 0000 0000 \__fp_sep:
{#2}{#3}{#4}{#5}{#6} {#7}{#8}#9
}
\cs_new:Npn \__fp_sqrt_auxiii_o:wnnnnnnnn
- #1; #2#3#4#5#6#7#8#9
+ #1\__fp_sep: #2#3#4#5#6#7#8#9
{
\if_int_compare:w #1 > \c_one_int
\exp_after:wN \__fp_sqrt_auxiv_o:NNNNNw
@@ -18642,13 +18825,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\fi:
}
-\cs_new:Npn \__fp_sqrt_auxiv_o:NNNNNw 1#1#2#3#4#5#6;
+\cs_new:Npn \__fp_sqrt_auxiv_o:NNNNNw 1#1#2#3#4#5#6\__fp_sep:
{ \__fp_sqrt_auxviii_o:nnnnnnn {#1#2#3#4#5#6} {00000000} }
-\cs_new:Npn \__fp_sqrt_auxv_o:NNNNNw 1#1#2#3#4#5#6;
+\cs_new:Npn \__fp_sqrt_auxv_o:NNNNNw 1#1#2#3#4#5#6\__fp_sep:
{ \__fp_sqrt_auxviii_o:nnnnnnn {000#1#2#3#4#5} {#60000} }
-\cs_new:Npn \__fp_sqrt_auxvi_o:NNNNNw 1#1#2#3#4#5#6;
+\cs_new:Npn \__fp_sqrt_auxvi_o:NNNNNw 1#1#2#3#4#5#6\__fp_sep:
{ \__fp_sqrt_auxviii_o:nnnnnnn {0000000#1} {#2#3#4#5#6} }
-\cs_new:Npn \__fp_sqrt_auxvii_o:NNNNNw 1#1#2#3#4#5#6;
+\cs_new:Npn \__fp_sqrt_auxvii_o:NNNNNw 1#1#2#3#4#5#6\__fp_sep:
{
\if_int_compare:w #1#2 = \c_zero_int
\exp_after:wN \__fp_sqrt_auxx_o:Nnnnnnnn
@@ -18662,9 +18845,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_basics_pack_low:NNNNNw
\int_value:w \__fp_int_eval:w #1 + 1#4#5
\exp_after:wN \__fp_basics_pack_low:NNNNNw
- \int_value:w \__fp_int_eval:w #2 + 1#6#7 ;
+ \int_value:w \__fp_int_eval:w #2 + 1#6#7 \__fp_sep:
}
-\cs_new:Npn \__fp_sqrt_auxix_o:wnwnw #1; #2#3; #4#5;
+\cs_new:Npn \__fp_sqrt_auxix_o:wnwnw #1\__fp_sep: #2#3\__fp_sep: #4#5\__fp_sep:
{
\__fp_sqrt_auxii_o:NnnnnnnnN
\__fp_sqrt_auxiii_o:wnnnnnnnn {#1}{#2}{#3}{#4}{#5}
@@ -18673,17 +18856,17 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\exp_after:wN \__fp_sqrt_auxxi_o:wwnnN
\int_value:w \__fp_int_eval:w
- (#8 + 2499) / 5000 * 5000 ;
- {#4} {#5} {#6} {#7} ;
+ (#8 + 2499) / 5000 * 5000 \__fp_sep:
+ {#4} {#5} {#6} {#7} \__fp_sep:
}
-\cs_new:Npn \__fp_sqrt_auxxi_o:wwnnN #1; #2; #3#4#5
+\cs_new:Npn \__fp_sqrt_auxxi_o:wwnnN #1\__fp_sep: #2\__fp_sep: #3#4#5
{
\__fp_sqrt_auxii_o:NnnnnnnnN
\__fp_sqrt_auxxii_o:nnnnnnnnw
#2 {#1}
{#3} { #4 + 1 } #5
}
-\cs_new:Npn \__fp_sqrt_auxxii_o:nnnnnnnnw 0; #1#2#3#4#5#6#7#8 #9;
+\cs_new:Npn \__fp_sqrt_auxxii_o:nnnnnnnnw 0\__fp_sep: #1#2#3#4#5#6#7#8 #9\__fp_sep:
{
\if_int_compare:w #1#2 > \c_zero_int
\if_int_compare:w #1#2 = \c_one_int
@@ -18701,14 +18884,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_sqrt_auxxiv_o:wnnnnnnnN
\int_value:w 10000
\fi:
- ;
+ \__fp_sep:
}
-\cs_new:Npn \__fp_sqrt_auxxiii_o:w \fi: \fi: \fi: \fi: #1 \fi: ;
+\cs_new:Npn \__fp_sqrt_auxxiii_o:w \fi: \fi: \fi: \fi: #1 \fi: \__fp_sep:
{
\fi: \fi: \fi: \fi: \fi:
- \__fp_sqrt_auxxiv_o:wnnnnnnnN 9999 ;
+ \__fp_sqrt_auxxiv_o:wnnnnnnnN 9999 \__fp_sep:
}
-\cs_new:Npn \__fp_sqrt_auxxiv_o:wnnnnnnnN #1; #2#3#4#5#6 #7#8#9
+\cs_new:Npn \__fp_sqrt_auxxiv_o:wnnnnnnnN #1\__fp_sep: #2#3#4#5#6 #7#8#9
{
\exp_after:wN \__fp_basics_pack_high:NNNNNw
\int_value:w \__fp_int_eval:w 1 0000 0000 + #2#3
@@ -18722,10 +18905,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_value:w
\exp_after:wN \use_i:nn
\exp_after:wN \__fp_round_digit:Nw
- \int_value:w \__fp_int_eval:w #6 + 19999 - #1 ;
- \exp_after:wN ;
+ \int_value:w \__fp_int_eval:w #6 + 19999 - #1 \__fp_sep:
+ \exp_after:wN \__fp_sep:
}
-\cs_new:Npn \__fp_logb_o:w ? \s__fp \__fp_chk:w #1#2; @
+\cs_new:Npn \__fp_logb_o:w ? \s__fp \__fp_chk:w #1#2\__fp_sep: @
{
\if_case:w #1 \exp_stop_f:
\__fp_case_use:nw
@@ -18734,14 +18917,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\or: \__fp_case_return_o:Nw \c_inf_fp
\else: \__fp_case_return_same_o:w
\fi:
- \s__fp \__fp_chk:w #1 #2;
+ \s__fp \__fp_chk:w #1 #2\__fp_sep:
}
-\cs_new:Npn \__fp_logb_aux_o:w \s__fp \__fp_chk:w #1 #2 #3 #4 ;
+\cs_new:Npn \__fp_logb_aux_o:w \s__fp \__fp_chk:w #1 #2 #3 #4 \__fp_sep:
{
\exp_after:wN \__fp_parse:n \exp_after:wN
{ \int_value:w \int_eval:w #3 - 1 \exp_after:wN }
}
-\cs_new:Npn \__fp_sign_o:w ? \s__fp \__fp_chk:w #1#2; @
+\cs_new:Npn \__fp_sign_o:w ? \s__fp \__fp_chk:w #1#2\__fp_sep: @
{
\if_case:w #1 \exp_stop_f:
\__fp_case_return_same_o:w
@@ -18749,11 +18932,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\or: \exp_after:wN \__fp_sign_aux_o:w
\else: \__fp_case_return_same_o:w
\fi:
- \s__fp \__fp_chk:w #1 #2;
+ \s__fp \__fp_chk:w #1 #2\__fp_sep:
}
-\cs_new:Npn \__fp_sign_aux_o:w \s__fp \__fp_chk:w #1 #2 #3 ;
+\cs_new:Npn \__fp_sign_aux_o:w \s__fp \__fp_chk:w #1 #2 #3 \__fp_sep:
{ \exp_after:wN \__fp_set_sign_o:w \exp_after:wN #2 \c_one_fp @ }
-\cs_new:Npn \__fp_set_sign_o:w #1 \s__fp \__fp_chk:w #2#3#4; @
+\cs_new:Npn \__fp_set_sign_o:w #1 \s__fp \__fp_chk:w #2#3#4\__fp_sep: @
{
\exp_after:wN \__fp_exp_after_o:w
\exp_after:wN \s__fp
@@ -18761,7 +18944,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN #2
\int_value:w
\if_case:w #3 \exp_stop_f: #1 \or: 1 \or: 0 \fi: \exp_stop_f:
- #4;
+ #4\__fp_sep:
}
\cs_new:Npn \__fp_tuple_set_sign_o:w #1#2 @
{
@@ -18773,53 +18956,60 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__fp_tuple_set_sign_aux_o:Nnw #1#2
{ \__fp_tuple_map_o:nw \__fp_tuple_set_sign_aux_o:w }
-\cs_new:Npn \__fp_tuple_set_sign_aux_o:w #1#2 ;
+\cs_new:Npn \__fp_tuple_set_sign_aux_o:w #1#2 \__fp_sep:
{
\__fp_change_func_type:NNN #1 \__fp_set_sign_o:w
\__fp_parse_apply_unary_error:NNw
- 2 #1 #2 ; @
- }
-\cs_new:cpn { __fp_*_tuple_o:ww } #1 ;
- { \__fp_tuple_map_o:nw { \__fp_binary_type_o:Nww * #1 ; } }
-\cs_new:cpn { __fp_tuple_*_o:ww } #1 ; #2 ;
- { \__fp_tuple_map_o:nw { \__fp_binary_rev_type_o:Nww * #2 ; } #1 ; }
-\cs_new:cpn { __fp_tuple_/_o:ww } #1 ; #2 ;
- { \__fp_tuple_map_o:nw { \__fp_binary_rev_type_o:Nww / #2 ; } #1 ; }
+ 2 #1 #2 \__fp_sep: @
+ }
+\cs_new:cpn { __fp_*_tuple_o:ww } #1 \__fp_sep:
+ { \__fp_tuple_map_o:nw { \__fp_binary_type_o:Nww * #1 \__fp_sep: } }
+\cs_new:cpn { __fp_tuple_*_o:ww } #1 \__fp_sep: #2 \__fp_sep:
+ {
+ \__fp_tuple_map_o:nw { \__fp_binary_rev_type_o:Nww * #2 \__fp_sep: }
+ #1 \__fp_sep:
+ }
+\cs_new:cpn { __fp_tuple_/_o:ww } #1 \__fp_sep: #2 \__fp_sep:
+ {
+ \__fp_tuple_map_o:nw { \__fp_binary_rev_type_o:Nww / #2 \__fp_sep: }
+ #1 \__fp_sep:
+ }
\cs_set_protected:Npn \__fp_tmp:w #1
{
\cs_new:cpn { __fp_tuple_#1_tuple_o:ww }
- \s__fp_tuple \__fp_tuple_chk:w ##1 ;
- \s__fp_tuple \__fp_tuple_chk:w ##2 ;
+ \s__fp_tuple \__fp_tuple_chk:w ##1 \__fp_sep:
+ \s__fp_tuple \__fp_tuple_chk:w ##2 \__fp_sep:
{
\int_compare:nNnTF
{ \__fp_array_count:n {##1} } = { \__fp_array_count:n {##2} }
{ \__fp_tuple_mapthread_o:nww { \__fp_binary_type_o:Nww #1 } }
{ \__fp_invalid_operation_o:nww #1 }
- \s__fp_tuple \__fp_tuple_chk:w {##1} ;
- \s__fp_tuple \__fp_tuple_chk:w {##2} ;
+ \s__fp_tuple \__fp_tuple_chk:w {##1} \__fp_sep:
+ \s__fp_tuple \__fp_tuple_chk:w {##2} \__fp_sep:
}
}
\__fp_tmp:w +
\__fp_tmp:w -
%% File: l3fp-extended.dtx
\tl_const:Nn \c__fp_one_fixed_tl
- { {10000} {0000} {0000} {0000} {0000} {0000} ; }
-\cs_new:Npn \__fp_fixed_continue:wn #1; #2 { #2 #1; }
-\cs_new:Npn \__fp_fixed_add_one:wN #1#2; #3
+ { {10000} {0000} {0000} {0000} {0000} {0000} \__fp_sep: }
+\cs_new:Npn \__fp_fixed_continue:wn #1\__fp_sep: #2 { #2 #1\__fp_sep: }
+\cs_new:Npn \__fp_fixed_add_one:wN #1#2\__fp_sep: #3
{
\exp_after:wN #3 \exp_after:wN
- { \int_value:w \__fp_int_eval:w \c__fp_myriad_int + #1 } #2 ;
+ { \int_value:w \__fp_int_eval:w \c__fp_myriad_int + #1 } #2 \__fp_sep:
}
-\cs_new:Npn \__fp_fixed_div_myriad:wn #1#2#3#4#5#6;
+\cs_new:Npn \__fp_fixed_div_myriad:wn #1#2#3#4#5#6\__fp_sep:
{
\exp_after:wN \__fp_fixed_mul_after:wwn
\int_value:w \__fp_int_eval:w \c__fp_leading_shift_int
\exp_after:wN \__fp_pack:NNNNNw
\int_value:w \__fp_int_eval:w \c__fp_trailing_shift_int
- + #1 ; {#2}{#3}{#4}{#5};
+ + #1 \__fp_sep: {#2}{#3}{#4}{#5}\__fp_sep:
}
-\cs_new:Npn \__fp_fixed_mul_after:wwn #1; #2; #3 { #3 {#1} #2; }
-\cs_new:Npn \__fp_fixed_mul_short:wwn #1#2#3#4#5#6; #7#8#9;
+\cs_new:Npn \__fp_fixed_mul_after:wwn #1\__fp_sep: #2\__fp_sep: #3
+ { #3 {#1} #2\__fp_sep: }
+\cs_new:Npn \__fp_fixed_mul_short:wwn #1#2#3#4#5#6\__fp_sep: #7#8#9\__fp_sep:
{
\exp_after:wN \__fp_fixed_mul_after:wwn
\int_value:w \__fp_int_eval:w \c__fp_leading_shift_int
@@ -18840,29 +19030,29 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_value:w \__fp_int_eval:w \c__fp_trailing_shift_int
+ #4*#9 + #5*#8 + #6*#7
+ ( #5*#9 + #6*#8 + #6*#9 / \c__fp_myriad_int )
- / \c__fp_myriad_int ; ;
+ / \c__fp_myriad_int \__fp_sep: \__fp_sep:
}
-\cs_new:Npn \__fp_fixed_div_int:wwN #1#2#3#4#5#6 ; #7 ; #8
+\cs_new:Npn \__fp_fixed_div_int:wwN #1#2#3#4#5#6 \__fp_sep: #7 \__fp_sep: #8
{
\exp_after:wN \__fp_fixed_div_int_after:Nw
\exp_after:wN #8
\int_value:w \__fp_int_eval:w - 1
\__fp_fixed_div_int:wnN
- #1; {#7} \__fp_fixed_div_int_auxi:wnn
- #2; {#7} \__fp_fixed_div_int_auxi:wnn
- #3; {#7} \__fp_fixed_div_int_auxi:wnn
- #4; {#7} \__fp_fixed_div_int_auxi:wnn
- #5; {#7} \__fp_fixed_div_int_auxi:wnn
- #6; {#7} \__fp_fixed_div_int_auxii:wnn ;
+ #1\__fp_sep: {#7} \__fp_fixed_div_int_auxi:wnn
+ #2\__fp_sep: {#7} \__fp_fixed_div_int_auxi:wnn
+ #3\__fp_sep: {#7} \__fp_fixed_div_int_auxi:wnn
+ #4\__fp_sep: {#7} \__fp_fixed_div_int_auxi:wnn
+ #5\__fp_sep: {#7} \__fp_fixed_div_int_auxi:wnn
+ #6\__fp_sep: {#7} \__fp_fixed_div_int_auxii:wnn \__fp_sep:
}
-\cs_new:Npn \__fp_fixed_div_int:wnN #1; #2 #3
+\cs_new:Npn \__fp_fixed_div_int:wnN #1\__fp_sep: #2 #3
{
\exp_after:wN #3
- \int_value:w \__fp_int_eval:w #1 / #2 - 1 ;
+ \int_value:w \__fp_int_eval:w #1 / #2 - 1 \__fp_sep:
{#2}
{#1}
}
-\cs_new:Npn \__fp_fixed_div_int_auxi:wnn #1; #2 #3
+\cs_new:Npn \__fp_fixed_div_int_auxi:wnn #1\__fp_sep: #2 #3
{
+ #1
\exp_after:wN \__fp_fixed_div_int_pack:Nw
@@ -18870,12 +19060,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_fixed_div_int:wnN
\int_value:w \__fp_int_eval:w #3 - #1*#2 \__fp_int_eval_end:
}
-\cs_new:Npn \__fp_fixed_div_int_auxii:wnn #1; #2 #3 { + #1 + 2 ; }
-\cs_new:Npn \__fp_fixed_div_int_pack:Nw #1 #2; { + #1; {#2} }
-\cs_new:Npn \__fp_fixed_div_int_after:Nw #1 #2; { #1 {#2} }
+\cs_new:Npn \__fp_fixed_div_int_auxii:wnn #1\__fp_sep: #2 #3 { + #1 + 2 \__fp_sep: }
+\cs_new:Npn \__fp_fixed_div_int_pack:Nw #1 #2\__fp_sep: { + #1\__fp_sep: {#2} }
+\cs_new:Npn \__fp_fixed_div_int_after:Nw #1 #2\__fp_sep: { #1 {#2} }
\cs_new:Npn \__fp_fixed_add:wwn { \__fp_fixed_add:Nnnnnwnn + }
\cs_new:Npn \__fp_fixed_sub:wwn { \__fp_fixed_add:Nnnnnwnn - }
-\cs_new:Npn \__fp_fixed_add:Nnnnnwnn #1 #2#3#4#5 #6; #7#8
+\cs_new:Npn \__fp_fixed_add:Nnnnnwnn #1 #2#3#4#5 #6\__fp_sep: #7#8
{
\exp_after:wN \__fp_fixed_add_after:NNNNNwn
\int_value:w \__fp_int_eval:w 9 9999 9998 + #2#3 #1 #7#8
@@ -18883,17 +19073,18 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_value:w \__fp_int_eval:w 1 9999 9998 + #4#5
\__fp_fixed_add:nnNnnnwn #6 #1
}
-\cs_new:Npn \__fp_fixed_add:nnNnnnwn #1#2 #3 #4#5 #6#7 ; #8
+\cs_new:Npn \__fp_fixed_add:nnNnnnwn #1#2 #3 #4#5 #6#7 \__fp_sep: #8
{
#3 #4#5
\exp_after:wN \__fp_fixed_add_pack:NNNNNwn
- \int_value:w \__fp_int_eval:w 2 0000 0000 #3 #6#7 + #1#2 ; {#8} ;
+ \int_value:w \__fp_int_eval:w
+ 2 0000 0000 #3 #6#7 + #1#2 \__fp_sep: {#8} \__fp_sep:
}
-\cs_new:Npn \__fp_fixed_add_pack:NNNNNwn #1 #2#3#4#5 #6; #7
- { + #1 ; {#7} {#2#3#4#5} {#6} }
-\cs_new:Npn \__fp_fixed_add_after:NNNNNwn 1 #1 #2#3#4#5 #6; #7
+\cs_new:Npn \__fp_fixed_add_pack:NNNNNwn #1 #2#3#4#5 #6\__fp_sep: #7
+ { + #1 \__fp_sep: {#7} {#2#3#4#5} {#6} }
+\cs_new:Npn \__fp_fixed_add_after:NNNNNwn 1 #1 #2#3#4#5 #6\__fp_sep: #7
{ #7 {#1#2#3#4#5} {#6} }
-\cs_new:Npn \__fp_fixed_mul:wwn #1#2#3#4 #5; #6#7#8#9
+\cs_new:Npn \__fp_fixed_mul:wwn #1#2#3#4 #5\__fp_sep: #6#7#8#9
{
\exp_after:wN \__fp_fixed_mul_after:wwn
\int_value:w \__fp_int_eval:w \c__fp_leading_shift_int
@@ -18915,32 +19106,33 @@ Type H <return> for immediate help}\def~{\errmessage{%
+ ( #3*#9 + #4*#8
+ \__fp_fixed_mul:nnnnnnnw #5 {#6}{#7} {#1}{#2}
}
-\cs_new:Npn \__fp_fixed_mul:nnnnnnnw #1#2 #3#4 #5#6 #7#8 ;
+\cs_new:Npn \__fp_fixed_mul:nnnnnnnw #1#2 #3#4 #5#6 #7#8 \__fp_sep:
{
#1*#4 + #2*#3 + #5*#8 + #6*#7 ) / \c__fp_myriad_int
- + #1*#3 + #5*#7 ; ;
+ + #1*#3 + #5*#7 \__fp_sep: \__fp_sep:
}
-\cs_new:Npn \__fp_fixed_mul_add:wwwn #1; #2; #3#4#5#6#7#8;
+\cs_new:Npn \__fp_fixed_mul_add:wwwn #1\__fp_sep: #2\__fp_sep: #3#4#5#6#7#8\__fp_sep:
{
\exp_after:wN \__fp_fixed_mul_after:wwn
\int_value:w \__fp_int_eval:w \c__fp_big_leading_shift_int
\exp_after:wN \__fp_pack_big:NNNNNNw
\int_value:w \__fp_int_eval:w \c__fp_big_middle_shift_int + #3 #4
\__fp_fixed_mul_add:Nwnnnwnnn +
- + #5 #6 ; #2 ; #1 ; #2 ; +
- + #7 #8 ; ;
+ + #5 #6 \__fp_sep: #2 \__fp_sep: #1 \__fp_sep: #2 \__fp_sep: +
+ + #7 #8 \__fp_sep: \__fp_sep:
}
-\cs_new:Npn \__fp_fixed_mul_sub_back:wwwn #1; #2; #3#4#5#6#7#8;
+\cs_new:Npn \__fp_fixed_mul_sub_back:wwwn
+ #1\__fp_sep: #2\__fp_sep: #3#4#5#6#7#8\__fp_sep:
{
\exp_after:wN \__fp_fixed_mul_after:wwn
\int_value:w \__fp_int_eval:w \c__fp_big_leading_shift_int
\exp_after:wN \__fp_pack_big:NNNNNNw
\int_value:w \__fp_int_eval:w \c__fp_big_middle_shift_int + #3 #4
\__fp_fixed_mul_add:Nwnnnwnnn -
- + #5 #6 ; #2 ; #1 ; #2 ; -
- + #7 #8 ; ;
+ + #5 #6 \__fp_sep: #2 \__fp_sep: #1 \__fp_sep: #2 \__fp_sep: -
+ + #7 #8 \__fp_sep: \__fp_sep:
}
-\cs_new:Npn \__fp_fixed_one_minus_mul:wwn #1; #2;
+\cs_new:Npn \__fp_fixed_one_minus_mul:wwn #1\__fp_sep: #2\__fp_sep:
{
\exp_after:wN \__fp_fixed_mul_after:wwn
\int_value:w \__fp_int_eval:w \c__fp_big_leading_shift_int
@@ -18948,10 +19140,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_value:w \__fp_int_eval:w \c__fp_big_middle_shift_int +
1 0000 0000
\__fp_fixed_mul_add:Nwnnnwnnn -
- ; #2 ; #1 ; #2 ; -
- ; ;
+ \__fp_sep: #2 \__fp_sep: #1 \__fp_sep: #2 \__fp_sep: -
+ \__fp_sep: \__fp_sep:
}
-\cs_new:Npn \__fp_fixed_mul_add:Nwnnnwnnn #1 #2; #3#4#5#6; #7#8#9
+\cs_new:Npn \__fp_fixed_mul_add:Nwnnnwnnn #1 #2\__fp_sep: #3#4#5#6\__fp_sep: #7#8#9
{
#1 #7*#3
\exp_after:wN \__fp_pack_big:NNNNNNw
@@ -18964,7 +19156,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_value:w \__fp_int_eval:w \c__fp_big_middle_shift_int
#1 \__fp_fixed_mul_add:nnnnwnnnn {#7}{#8}{#9}
}
-\cs_new:Npn \__fp_fixed_mul_add:nnnnwnnnn #1#2#3#4#5; #6#7#8#9
+\cs_new:Npn \__fp_fixed_mul_add:nnnnwnnnn #1#2#3#4#5\__fp_sep: #6#7#8#9
{
( #1*#9 + #2*#8 + #3*#7 + #4*#6 )
\exp_after:wN \__fp_pack_big:NNNNNNw
@@ -18972,10 +19164,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_fixed_mul_add:nnnnwnnwN
{ #6 + #4*#7 + #3*#8 + #2*#9 + #1 }
{ #7 + #4*#8 + #3*#9 + #2 }
- {#1} #5;
+ {#1} #5\__fp_sep:
{#6}
}
-\cs_new:Npn \__fp_fixed_mul_add:nnnnwnnwN #1#2 #3#4#5; #6#7#8; #9
+\cs_new:Npn \__fp_fixed_mul_add:nnnnwnnwN #1#2 #3#4#5\__fp_sep: #6#7#8\__fp_sep: #9
{
#9 (#4* #1 *#7)
#9 (#5*#6+#4* #2 *#7+#3*#8) / \c__fp_myriad_int
@@ -18983,29 +19175,30 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__fp_ep_to_fixed:wwn #1,#2
{
\exp_after:wN \__fp_ep_to_fixed_auxi:www
- \int_value:w \__fp_int_eval:w 1 0000 0000 + #2 \exp_after:wN ;
+ \int_value:w \__fp_int_eval:w 1 0000 0000 + #2 \exp_after:wN \__fp_sep:
\exp:w \exp_end_continue_f:w
- \prg_replicate:nn { 4 - \int_max:nn {#1} { -32 } } { 0 } ;
+ \prg_replicate:nn { 4 - \int_max:nn {#1} { -32 } } { 0 } \__fp_sep:
}
-\cs_new:Npn \__fp_ep_to_fixed_auxi:www 1#1; #2; #3#4#5#6#7;
+\cs_new:Npn \__fp_ep_to_fixed_auxi:www
+ 1#1\__fp_sep: #2\__fp_sep: #3#4#5#6#7\__fp_sep:
{
\__fp_pack_eight:wNNNNNNNN
\__fp_pack_twice_four:wNNNNNNNN
\__fp_pack_twice_four:wNNNNNNNN
\__fp_pack_twice_four:wNNNNNNNN
- \__fp_ep_to_fixed_auxii:nnnnnnnwn ;
+ \__fp_ep_to_fixed_auxii:nnnnnnnwn \__fp_sep:
#2 #1#3#4#5#6#7 0000 !
}
-\cs_new:Npn \__fp_ep_to_fixed_auxii:nnnnnnnwn #1#2#3#4#5#6#7; #8! #9
- { #9 {#1#2}{#3}{#4}{#5}{#6}{#7}; }
-\cs_new:Npn \__fp_ep_to_ep:wwN #1,#2#3#4#5#6#7; #8
+\cs_new:Npn \__fp_ep_to_fixed_auxii:nnnnnnnwn #1#2#3#4#5#6#7\__fp_sep: #8! #9
+ { #9 {#1#2}{#3}{#4}{#5}{#6}{#7}\__fp_sep: }
+\cs_new:Npn \__fp_ep_to_ep:wwN #1,#2#3#4#5#6#7\__fp_sep: #8
{
\exp_after:wN #8
\int_value:w \__fp_int_eval:w #1 + 4
\exp_after:wN \use_i:nn
\exp_after:wN \__fp_ep_to_ep_loop:N
\int_value:w \__fp_int_eval:w 1 0000 0000 + #2 \__fp_int_eval_end:
- #3#4#5#6#7 ; ; !
+ #3#4#5#6#7 \__fp_sep: \__fp_sep: !
}
\cs_new:Npn \__fp_ep_to_ep_loop:N #1
{
@@ -19017,27 +19210,29 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_ep_to_ep_loop:N
}
\cs_new:Npn \__fp_ep_to_ep_end:www
- #1 \fi: \__fp_ep_to_ep_loop:N #2; #3!
+ #1 \fi: \__fp_ep_to_ep_loop:N #2\__fp_sep: #3!
{
\fi:
- \if_meaning:w ; #1
+ \if_meaning:w \__fp_sep: #1
- 2 * \c__fp_max_exponent_int
\__fp_ep_to_ep_zero:ww
\fi:
\__fp_pack_twice_four:wNNNNNNNN
\__fp_pack_twice_four:wNNNNNNNN
\__fp_pack_twice_four:wNNNNNNNN
- \__fp_use_i:ww , ;
- #1 #2 0000 0000 0000 0000 0000 0000 ;
+ \__fp_use_i:ww , \__fp_sep:
+ #1 #2 0000 0000 0000 0000 0000 0000 \__fp_sep:
}
-\cs_new:Npn \__fp_ep_to_ep_zero:ww \fi: #1; #2; #3;
- { \fi: , {1000}{0000}{0000}{0000}{0000}{0000} ; }
-\cs_new:Npn \__fp_ep_compare:wwww #1,#2#3#4#5#6#7;
- { \__fp_ep_compare_aux:wwww {#1}{#2}{#3}{#4}{#5}; #6#7; }
-\cs_new:Npn \__fp_ep_compare_aux:wwww #1;#2;#3,#4#5#6#7#8#9;
+\cs_new:Npn \__fp_ep_to_ep_zero:ww \fi: #1\__fp_sep: #2\__fp_sep: #3\__fp_sep:
+ { \fi: , {1000}{0000}{0000}{0000}{0000}{0000} \__fp_sep: }
+\cs_new:Npn \__fp_ep_compare:wwww #1,#2#3#4#5#6#7\__fp_sep:
+ { \__fp_ep_compare_aux:wwww {#1}{#2}{#3}{#4}{#5}\__fp_sep: #6#7\__fp_sep: }
+\cs_new:Npn \__fp_ep_compare_aux:wwww
+ #1\__fp_sep:#2\__fp_sep:#3,#4#5#6#7#8#9\__fp_sep:
{
\if_case:w
- \__fp_compare_npos:nwnw #1; {#3}{#4}{#5}{#6}{#7}; \exp_stop_f:
+ \__fp_compare_npos:nwnw
+ #1\__fp_sep: {#3}{#4}{#5}{#6}{#7}\__fp_sep: \exp_stop_f:
\if_int_compare:w #2 = #8#9 \exp_stop_f:
0
\else:
@@ -19047,77 +19242,79 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else: -1
\fi:
}
-\cs_new:Npn \__fp_ep_mul:wwwwn #1,#2; #3,#4;
+\cs_new:Npn \__fp_ep_mul:wwwwn #1,#2\__fp_sep: #3,#4\__fp_sep:
{
- \__fp_ep_to_ep:wwN #3,#4;
+ \__fp_ep_to_ep:wwN #3,#4\__fp_sep:
\__fp_fixed_continue:wn
{
- \__fp_ep_to_ep:wwN #1,#2;
+ \__fp_ep_to_ep:wwN #1,#2\__fp_sep:
\__fp_ep_mul_raw:wwwwN
}
\__fp_fixed_continue:wn
}
-\cs_new:Npn \__fp_ep_mul_raw:wwwwN #1,#2; #3,#4; #5
+\cs_new:Npn \__fp_ep_mul_raw:wwwwN #1,#2\__fp_sep: #3,#4\__fp_sep: #5
{
- \__fp_fixed_mul:wwn #2; #4;
+ \__fp_fixed_mul:wwn #2\__fp_sep: #4\__fp_sep:
{ \exp_after:wN #5 \int_value:w \__fp_int_eval:w #1 + #3 , }
}
-\cs_new:Npn \__fp_ep_div:wwwwn #1,#2; #3,#4;
+\cs_new:Npn \__fp_ep_div:wwwwn #1,#2\__fp_sep: #3,#4\__fp_sep:
{
- \__fp_ep_to_ep:wwN #1,#2;
+ \__fp_ep_to_ep:wwN #1,#2\__fp_sep:
\__fp_fixed_continue:wn
{
- \__fp_ep_to_ep:wwN #3,#4;
+ \__fp_ep_to_ep:wwN #3,#4\__fp_sep:
\__fp_ep_div_esti:wwwwn
}
}
-\cs_new:Npn \__fp_ep_div_esti:wwwwn #1,#2#3; #4,
+\cs_new:Npn \__fp_ep_div_esti:wwwwn #1,#2#3\__fp_sep: #4,
{
\exp_after:wN \__fp_ep_div_estii:wwnnwwn
\int_value:w \__fp_int_eval:w 10 0000 0000 / ( #2 + 1 )
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
\int_value:w \__fp_int_eval:w #4 - #1 + 1 ,
- {#2} #3;
+ {#2} #3\__fp_sep:
}
-\cs_new:Npn \__fp_ep_div_estii:wwnnwwn #1; #2,#3#4#5; #6; #7
+\cs_new:Npn \__fp_ep_div_estii:wwnnwwn
+ #1\__fp_sep: #2,#3#4#5\__fp_sep: #6\__fp_sep: #7
{
\exp_after:wN \__fp_ep_div_estiii:NNNNNwwwn
\int_value:w \__fp_int_eval:w 10 0000 0000 - 1750
- + #1 000 + (10 0000 0000 / #3 - #1) * (1000 - #4 / 10) ;
- {#3}{#4}#5; #6; { #7 #2, }
+ + #1 000 + (10 0000 0000 / #3 - #1) * (1000 - #4 / 10) \__fp_sep:
+ {#3}{#4}#5\__fp_sep: #6\__fp_sep: { #7 #2, }
}
-\cs_new:Npn \__fp_ep_div_estiii:NNNNNwwwn 1#1#2#3#4#5#6; #7;
+\cs_new:Npn \__fp_ep_div_estiii:NNNNNwwwn 1#1#2#3#4#5#6\__fp_sep: #7\__fp_sep:
{
- \__fp_fixed_mul_short:wwn #7; {#1}{#2#3#4#5}{#6};
+ \__fp_fixed_mul_short:wwn #7\__fp_sep: {#1}{#2#3#4#5}{#6}\__fp_sep:
\__fp_ep_div_epsi:wnNNNNNn {#1#2#3#4}#5#6
\__fp_fixed_mul:wwn
}
-\cs_new:Npn \__fp_ep_div_epsi:wnNNNNNn #1#2#3#4#5#6;
+\cs_new:Npn \__fp_ep_div_epsi:wnNNNNNn #1#2#3#4#5#6\__fp_sep:
{
\exp_after:wN \__fp_ep_div_epsii:wwnNNNNNn
\int_value:w \__fp_int_eval:w 1 9998 - #2
\exp_after:wN \__fp_ep_div_eps_pack:NNNNNw
\int_value:w \__fp_int_eval:w 1 9999 9998 - #3#4
\exp_after:wN \__fp_ep_div_eps_pack:NNNNNw
- \int_value:w \__fp_int_eval:w 2 0000 0000 - #5#6 ; ;
+ \int_value:w \__fp_int_eval:w 2 0000 0000 - #5#6 \__fp_sep: \__fp_sep:
}
-\cs_new:Npn \__fp_ep_div_eps_pack:NNNNNw #1#2#3#4#5#6;
- { + #1 ; {#2#3#4#5} {#6} }
-\cs_new:Npn \__fp_ep_div_epsii:wwnNNNNNn 1#1; #2; #3#4#5#6#7#8
+\cs_new:Npn \__fp_ep_div_eps_pack:NNNNNw #1#2#3#4#5#6\__fp_sep:
+ { + #1 \__fp_sep: {#2#3#4#5} {#6} }
+\cs_new:Npn \__fp_ep_div_epsii:wwnNNNNNn 1#1\__fp_sep: #2\__fp_sep: #3#4#5#6#7#8
{
- \__fp_fixed_mul:wwn {0000}{#1}#2; {0000}{#1}#2;
+ \__fp_fixed_mul:wwn {0000}{#1}#2\__fp_sep: {0000}{#1}#2\__fp_sep:
\__fp_fixed_add_one:wN
- \__fp_fixed_mul:wwn {10000} {#1} #2 ;
+ \__fp_fixed_mul:wwn {10000} {#1} #2 \__fp_sep:
{
- \__fp_fixed_mul_short:wwn {0000}{#1}#2; {#3}{#4#5#6#7}{#8000};
+ \__fp_fixed_mul_short:wwn
+ {0000}{#1}#2\__fp_sep: {#3}{#4#5#6#7}{#8000}\__fp_sep:
\__fp_fixed_div_myriad:wn
\__fp_fixed_mul:wwn
}
- \__fp_fixed_add:wwn {#3}{#4#5#6#7}{#8000}{0000}{0000}{0000};
+ \__fp_fixed_add:wwn {#3}{#4#5#6#7}{#8000}{0000}{0000}{0000}\__fp_sep:
}
-\cs_new:Npn \__fp_ep_isqrt:wwn #1,#2;
+\cs_new:Npn \__fp_ep_isqrt:wwn #1,#2\__fp_sep:
{
- \__fp_ep_to_ep:wwN #1,#2;
+ \__fp_ep_to_ep:wwN #1,#2\__fp_sep:
\__fp_ep_isqrt_auxi:wwn
}
\cs_new:Npn \__fp_ep_isqrt_auxi:wwn #1,
@@ -19128,10 +19325,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ (1 - #1) / 2 , 535 , { 0 } { } }
{ 1 - #1 / 2 , 168 , { } { 0 } }
}
-\cs_new:Npn \__fp_ep_isqrt_auxii:wwnnnwn #1, #2, #3#4 #5#6; #7
+\cs_new:Npn \__fp_ep_isqrt_auxii:wwnnnwn #1, #2, #3#4 #5#6\__fp_sep: #7
{
\__fp_ep_isqrt_esti:wwwnnwn #2, 0, #5, {#3} {#4}
- {#5} #6 ; { #7 #1 , }
+ {#5} #6 \__fp_sep: { #7 #1 , }
}
\cs_new:Npn \__fp_ep_isqrt_esti:wwwnnwn #1, #2, #3, #4
{
@@ -19147,45 +19344,47 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\exp_after:wN \__fp_ep_isqrt_estiii:NNNNNwwwn
\int_value:w \__fp_int_eval:w 1000 0000 + #2 * #2 #5 * 5
- \exp_after:wN , \int_value:w \__fp_int_eval:w 10000 + #2 ;
+ \exp_after:wN , \int_value:w \__fp_int_eval:w 10000 + #2 \__fp_sep:
}
-\cs_new:Npn \__fp_ep_isqrt_estiii:NNNNNwwwn 1#1#2#3#4#5#6, 1#7#8; #9;
+\cs_new:Npn \__fp_ep_isqrt_estiii:NNNNNwwwn
+ 1#1#2#3#4#5#6, 1#7#8\__fp_sep: #9\__fp_sep:
{
- \__fp_fixed_mul_short:wwn #9; {#1} {#2#3#4#5} {#600} ;
+ \__fp_fixed_mul_short:wwn #9\__fp_sep: {#1} {#2#3#4#5} {#600} \__fp_sep:
\__fp_ep_isqrt_epsi:wN
- \__fp_fixed_mul_short:wwn {#7} {#80} {0000} ;
+ \__fp_fixed_mul_short:wwn {#7} {#80} {0000} \__fp_sep:
}
-\cs_new:Npn \__fp_ep_isqrt_epsi:wN #1;
+\cs_new:Npn \__fp_ep_isqrt_epsi:wN #1\__fp_sep:
{
- \__fp_fixed_sub:wwn {15000}{0000}{0000}{0000}{0000}{0000}; #1;
- \__fp_ep_isqrt_epsii:wwN #1;
- \__fp_ep_isqrt_epsii:wwN #1;
- \__fp_ep_isqrt_epsii:wwN #1;
+ \__fp_fixed_sub:wwn {15000}{0000}{0000}{0000}{0000}{0000}\__fp_sep: #1\__fp_sep:
+ \__fp_ep_isqrt_epsii:wwN #1\__fp_sep:
+ \__fp_ep_isqrt_epsii:wwN #1\__fp_sep:
+ \__fp_ep_isqrt_epsii:wwN #1\__fp_sep:
}
-\cs_new:Npn \__fp_ep_isqrt_epsii:wwN #1; #2;
+\cs_new:Npn \__fp_ep_isqrt_epsii:wwN #1\__fp_sep: #2\__fp_sep:
{
- \__fp_fixed_mul:wwn #1; #1;
- \__fp_fixed_mul_sub_back:wwwn #2;
- {15000}{0000}{0000}{0000}{0000}{0000};
- \__fp_fixed_mul:wwn #1;
+ \__fp_fixed_mul:wwn #1\__fp_sep: #1\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #2\__fp_sep:
+ {15000}{0000}{0000}{0000}{0000}{0000}\__fp_sep:
+ \__fp_fixed_mul:wwn #1\__fp_sep:
}
\cs_new:Npn \__fp_ep_to_float_o:wwN #1,
{ + \__fp_int_eval:w #1 \__fp_fixed_to_float_o:wN }
-\cs_new:Npn \__fp_ep_inv_to_float_o:wwN #1,#2;
+\cs_new:Npn \__fp_ep_inv_to_float_o:wwN #1,#2\__fp_sep:
{
- \__fp_ep_div:wwwwn 1,{1000}{0000}{0000}{0000}{0000}{0000}; #1,#2;
+ \__fp_ep_div:wwwwn
+ 1,{1000}{0000}{0000}{0000}{0000}{0000}\__fp_sep: #1,#2\__fp_sep:
\__fp_ep_to_float_o:wwN
}
\cs_new:Npn \__fp_fixed_inv_to_float_o:wN
{ \__fp_ep_inv_to_float_o:wwN 0, }
-\cs_new:Npn \__fp_fixed_to_float_rad_o:wN #1;
+\cs_new:Npn \__fp_fixed_to_float_rad_o:wN #1\__fp_sep:
{
- \__fp_fixed_mul:wwn #1; {5729}{5779}{5130}{8232}{0876}{7981};
+ \__fp_fixed_mul:wwn #1\__fp_sep: {5729}{5779}{5130}{8232}{0876}{7981}\__fp_sep:
{ \__fp_ep_to_float_o:wwN 2, }
}
-\cs_new:Npn \__fp_fixed_to_float_o:Nw #1#2;
- { \__fp_fixed_to_float_o:wN #2; #1 }
-\cs_new:Npn \__fp_fixed_to_float_o:wN #1#2#3#4#5#6; #7
+\cs_new:Npn \__fp_fixed_to_float_o:Nw #1#2\__fp_sep:
+ { \__fp_fixed_to_float_o:wN #2\__fp_sep: #1 }
+\cs_new:Npn \__fp_fixed_to_float_o:wN #1#2#3#4#5#6\__fp_sep: #7
{ % for the 8-digit-at-the-start thing
+ \__fp_int_eval:w \c__fp_block_int
\exp_after:wN \exp_after:wN
@@ -19196,8 +19395,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_value:w 1#2 \exp_after:wN \__fp_use_none_stop_f:n
\int_value:w 1#3#4 \exp_after:wN \__fp_use_none_stop_f:n
\int_value:w 1#5#6
- \exp_after:wN ;
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
+ \exp_after:wN \__fp_sep:
}
\cs_new:Npn \__fp_fixed_to_loop:N #1
{
@@ -19209,36 +19408,36 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN #1
\fi:
}
-\cs_new:Npn \__fp_fixed_to_loop_end:w #1 #2 ;
+\cs_new:Npn \__fp_fixed_to_loop_end:w #1 #2 \__fp_sep:
{
- \if_meaning:w ; #1
+ \if_meaning:w \__fp_sep: #1
\exp_after:wN \__fp_fixed_to_float_zero:w
\else:
\exp_after:wN \__fp_pack_twice_four:wNNNNNNNN
\exp_after:wN \__fp_pack_twice_four:wNNNNNNNN
\exp_after:wN \__fp_fixed_to_float_pack:ww
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
\fi:
- #1 #2 0000 0000 0000 0000 ;
+ #1 #2 0000 0000 0000 0000 \__fp_sep:
}
-\cs_new:Npn \__fp_fixed_to_float_zero:w ; 0000 0000 0000 0000 ;
+\cs_new:Npn \__fp_fixed_to_float_zero:w \__fp_sep: 0000 0000 0000 0000 \__fp_sep:
{
- - 2 * \c__fp_max_exponent_int ;
- {0000} {0000} {0000} {0000} ;
+ - 2 * \c__fp_max_exponent_int \__fp_sep:
+ {0000} {0000} {0000} {0000} \__fp_sep:
}
-\cs_new:Npn \__fp_fixed_to_float_pack:ww #1 ; #2#3 ; ;
+\cs_new:Npn \__fp_fixed_to_float_pack:ww #1 \__fp_sep: #2#3 \__fp_sep: \__fp_sep:
{
\if_int_compare:w #2 > 4 \exp_stop_f:
\exp_after:wN \__fp_fixed_to_float_round_up:wnnnnw
\fi:
- ; #1 ;
+ \__fp_sep: #1 \__fp_sep:
}
-\cs_new:Npn \__fp_fixed_to_float_round_up:wnnnnw ; #1#2#3#4 ;
+\cs_new:Npn \__fp_fixed_to_float_round_up:wnnnnw \__fp_sep: #1#2#3#4 \__fp_sep:
{
\exp_after:wN \__fp_basics_pack_high:NNNNNw
\int_value:w \__fp_int_eval:w 1 #1#2
\exp_after:wN \__fp_basics_pack_low:NNNNNw
- \int_value:w \__fp_int_eval:w 1 #3#4 + 1 ;
+ \int_value:w \__fp_int_eval:w 1 #3#4 + 1 \__fp_sep:
}
%% File: l3fp-expo.dtx
\cs_new:Npn \__fp_parse_word_exp:N
@@ -19247,16 +19446,25 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__fp_parse_unary_function:NNN \__fp_ln_o:w ? }
\cs_new:Npn \__fp_parse_word_fact:N
{ \__fp_parse_unary_function:NNN \__fp_fact_o:w ? }
-\tl_const:Nn \c__fp_ln_i_fixed_tl { {0000}{0000}{0000}{0000}{0000}{0000};}
-\tl_const:Nn \c__fp_ln_ii_fixed_tl { {6931}{4718}{0559}{9453}{0941}{7232};}
-\tl_const:Nn \c__fp_ln_iii_fixed_tl {{10986}{1228}{8668}{1096}{9139}{5245};}
-\tl_const:Nn \c__fp_ln_iv_fixed_tl {{13862}{9436}{1119}{8906}{1883}{4464};}
-\tl_const:Nn \c__fp_ln_vi_fixed_tl {{17917}{5946}{9228}{0550}{0081}{2477};}
-\tl_const:Nn \c__fp_ln_vii_fixed_tl {{19459}{1014}{9055}{3133}{0510}{5353};}
-\tl_const:Nn \c__fp_ln_viii_fixed_tl{{20794}{4154}{1679}{8359}{2825}{1696};}
-\tl_const:Nn \c__fp_ln_ix_fixed_tl {{21972}{2457}{7336}{2193}{8279}{0490};}
-\tl_const:Nn \c__fp_ln_x_fixed_tl {{23025}{8509}{2994}{0456}{8401}{7991};}
-\cs_new:Npn \__fp_ln_o:w #1 \s__fp \__fp_chk:w #2#3#4; @
+\tl_const:Nn \c__fp_ln_i_fixed_tl
+ { {0000}{0000}{0000}{0000}{0000}{0000}\__fp_sep:}
+\tl_const:Nn \c__fp_ln_ii_fixed_tl
+ { {6931}{4718}{0559}{9453}{0941}{7232}\__fp_sep:}
+\tl_const:Nn \c__fp_ln_iii_fixed_tl
+ {{10986}{1228}{8668}{1096}{9139}{5245}\__fp_sep:}
+\tl_const:Nn \c__fp_ln_iv_fixed_tl
+ {{13862}{9436}{1119}{8906}{1883}{4464}\__fp_sep:}
+\tl_const:Nn \c__fp_ln_vi_fixed_tl
+ {{17917}{5946}{9228}{0550}{0081}{2477}\__fp_sep:}
+\tl_const:Nn \c__fp_ln_vii_fixed_tl
+ {{19459}{1014}{9055}{3133}{0510}{5353}\__fp_sep:}
+\tl_const:Nn \c__fp_ln_viii_fixed_tl
+ {{20794}{4154}{1679}{8359}{2825}{1696}\__fp_sep:}
+\tl_const:Nn \c__fp_ln_ix_fixed_tl
+ {{21972}{2457}{7336}{2193}{8279}{0490}\__fp_sep:}
+\tl_const:Nn \c__fp_ln_x_fixed_tl
+ {{23025}{8509}{2994}{0456}{8401}{7991}\__fp_sep:}
+\cs_new:Npn \__fp_ln_o:w #1 \s__fp \__fp_chk:w #2#3#4\__fp_sep: @
{
\if_meaning:w 2 #3
\__fp_case_use:nw { \__fp_invalid_operation_o:nw { ln } }
@@ -19268,9 +19476,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\__fp_case_return_same_o:w
\fi:
- \__fp_ln_npos_o:w \s__fp \__fp_chk:w #2#3#4;
+ \__fp_ln_npos_o:w \s__fp \__fp_chk:w #2#3#4\__fp_sep:
}
-\cs_new:Npn \__fp_ln_npos_o:w \s__fp \__fp_chk:w 10#1#2#3;
+\cs_new:Npn \__fp_ln_npos_o:w \s__fp \__fp_chk:w 10#1#2#3\__fp_sep:
{ %^^A todo: ln(1) should be "exact zero", not "underflow"
\exp_after:wN \__fp_sanitize:Nw
\int_value:w % for the overall sign
@@ -19302,9 +19510,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\or: 2
\else: 1
\fi:
- ; { #1 #2 #3 #4 }
+ \__fp_sep: { #1 #2 #3 #4 }
}
-\cs_new:Npn \__fp_ln_x_ii:wnnnn #1; #2#3#4#5
+\cs_new:Npn \__fp_ln_x_ii:wnnnn #1\__fp_sep: #2#3#4#5
{
\exp_after:wN \__fp_ln_div_after:Nw
\cs:w c__fp_ln_ \__fp_int_to_roman:w #1 _fixed_tl \exp_after:wN \cs_end:
@@ -19314,22 +19522,22 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_ln_x_iii_var:NNNNNw
\int_value:w \__fp_int_eval:w 9999 9990 + #1*#2#3 +
\exp_after:wN \__fp_ln_x_iii:NNNNNNw
- \int_value:w \__fp_int_eval:w 10 0000 0000 + #1*#4#5 ;
+ \int_value:w \__fp_int_eval:w 10 0000 0000 + #1*#4#5 \__fp_sep:
{20000} {0000} {0000} {0000}
} %^^A todo: reoptimize (a generalization attempt failed).
-\cs_new:Npn \__fp_ln_x_iii:NNNNNNw #1#2 #3#4#5#6 #7;
- { #1#2; {#3#4#5#6} {#7} }
-\cs_new:Npn \__fp_ln_x_iii_var:NNNNNw #1 #2#3#4#5 #6;
+\cs_new:Npn \__fp_ln_x_iii:NNNNNNw #1#2 #3#4#5#6 #7\__fp_sep:
+ { #1#2\__fp_sep: {#3#4#5#6} {#7} }
+\cs_new:Npn \__fp_ln_x_iii_var:NNNNNw #1 #2#3#4#5 #6\__fp_sep:
{
- #1#2#3#4#5 + 1 ;
+ #1#2#3#4#5 + 1 \__fp_sep:
{#1#2#3#4#5} {#6}
}
-\cs_new:Npn \__fp_ln_x_iv:wnnnnnnnn #1; #2#3#4#5 #6#7#8#9
+\cs_new:Npn \__fp_ln_x_iv:wnnnnnnnn #1\__fp_sep: #2#3#4#5 #6#7#8#9
{
\exp_after:wN \__fp_div_significand_pack:NNN
\int_value:w \__fp_int_eval:w
- \__fp_ln_div_i:w #1 ;
- #6 #7 ; {#8} {#9}
+ \__fp_ln_div_i:w #1 \__fp_sep:
+ #6 #7 \__fp_sep: {#8} {#9}
{#2} {#3} {#4} {#5}
{ \exp_after:wN \__fp_ln_div_ii:wwn \int_value:w #1 }
{ \exp_after:wN \__fp_ln_div_ii:wwn \int_value:w #1 }
@@ -19337,25 +19545,27 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \exp_after:wN \__fp_ln_div_ii:wwn \int_value:w #1 }
{ \exp_after:wN \__fp_ln_div_vi:wwn \int_value:w #1 }
}
-\cs_new:Npn \__fp_ln_div_i:w #1;
+\cs_new:Npn \__fp_ln_div_i:w #1\__fp_sep:
{
\exp_after:wN \__fp_div_significand_calc:wwnnnnnnn
- \int_value:w \__fp_int_eval:w 999999 + 2 0000 0000 / #1 ; % Q1
+ \int_value:w \__fp_int_eval:w 999999 + 2 0000 0000 / #1 \__fp_sep: % Q1
}
-\cs_new:Npn \__fp_ln_div_ii:wwn #1; #2;#3 % y; B1;B2 <- for k=1
+\cs_new:Npn \__fp_ln_div_ii:wwn
+ #1\__fp_sep: #2\__fp_sep:#3 % y\__fp_sep: B1\__fp_sep:B2 <- for k=1
{
\exp_after:wN \__fp_div_significand_pack:NNN
\int_value:w \__fp_int_eval:w
\exp_after:wN \__fp_div_significand_calc:wwnnnnnnn
- \int_value:w \__fp_int_eval:w 999999 + #2 #3 / #1 ; % Q2
- #2 #3 ;
+ \int_value:w \__fp_int_eval:w 999999 + #2 #3 / #1 \__fp_sep: % Q2
+ #2 #3 \__fp_sep:
}
-\cs_new:Npn \__fp_ln_div_vi:wwn #1; #2;#3#4#5 #6#7#8#9 %y;F1;F2F3F4x1x2x3x4
+\cs_new:Npn \__fp_ln_div_vi:wwn
+ #1\__fp_sep: #2\__fp_sep:#3#4#5 #6#7#8#9 %y\__fp_sep:F1\__fp_sep:F2F3F4x1x2x3x4
{
\exp_after:wN \__fp_div_significand_pack:NNN
- \int_value:w \__fp_int_eval:w 1000000 + #2 #3 / #1 ; % Q6
+ \int_value:w \__fp_int_eval:w 1000000 + #2 #3 / #1 \__fp_sep: % Q6
}
-\cs_new:Npn \__fp_ln_div_after:Nw #1#2;
+\cs_new:Npn \__fp_ln_div_after:Nw #1#2\__fp_sep:
{
\if_meaning:w 0 #2
\exp_after:wN \__fp_ln_t_small:Nw
@@ -19365,19 +19575,22 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
#1
}
-\cs_new:Npn \__fp_ln_t_small:Nw #1 #2; #3; #4; #5; #6; #7;
+\cs_new:Npn \__fp_ln_t_small:Nw
+ #1 #2\__fp_sep: #3\__fp_sep: #4\__fp_sep: #5\__fp_sep: #6\__fp_sep: #7\__fp_sep:
{
\exp_after:wN \__fp_ln_t_large:NNw
\exp_after:wN + % <sign>
\exp_after:wN #1
- \int_value:w \__fp_int_eval:w 9999 - #2 \exp_after:wN ;
- \int_value:w \__fp_int_eval:w 9999 - #3 \exp_after:wN ;
- \int_value:w \__fp_int_eval:w 9999 - #4 \exp_after:wN ;
- \int_value:w \__fp_int_eval:w 9999 - #5 \exp_after:wN ;
- \int_value:w \__fp_int_eval:w 9999 - #6 \exp_after:wN ;
- \int_value:w \__fp_int_eval:w 1 0000 - #7 ;
- }
-\cs_new:Npn \__fp_ln_t_large:NNw #1 #2 #3; #4; #5; #6; #7; #8;
+ \int_value:w \__fp_int_eval:w 9999 - #2 \exp_after:wN \__fp_sep:
+ \int_value:w \__fp_int_eval:w 9999 - #3 \exp_after:wN \__fp_sep:
+ \int_value:w \__fp_int_eval:w 9999 - #4 \exp_after:wN \__fp_sep:
+ \int_value:w \__fp_int_eval:w 9999 - #5 \exp_after:wN \__fp_sep:
+ \int_value:w \__fp_int_eval:w 9999 - #6 \exp_after:wN \__fp_sep:
+ \int_value:w \__fp_int_eval:w 1 0000 - #7 \__fp_sep:
+ }
+\cs_new:Npn \__fp_ln_t_large:NNw
+ #1 #2
+ #3\__fp_sep: #4\__fp_sep: #5\__fp_sep: #6\__fp_sep: #7\__fp_sep: #8\__fp_sep:
{
\exp_after:wN \__fp_ln_square_t_after:w
\int_value:w \__fp_int_eval:w 9999 0000 + #3*#3
@@ -19391,7 +19604,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_value:w \__fp_int_eval:w
1 0000 0000 + 2*#3*#7 + 2*#4*#6 + #5*#5
+ (2*#3*#8 + 2*#4*#7 + 2*#5*#6) / 1 0000
- % ; ; ;
+ % \__fp_sep: \__fp_sep: \__fp_sep:
\exp_after:wN \__fp_ln_twice_t_after:w
\int_value:w \__fp_int_eval:w -1 + 2*#3
\exp_after:wN \__fp_ln_twice_t_pack:Nw
@@ -19403,48 +19616,53 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_ln_twice_t_pack:Nw
\int_value:w \__fp_int_eval:w 9999 + 2*#7
\exp_after:wN \__fp_ln_twice_t_pack:Nw
- \int_value:w \__fp_int_eval:w 10000 + 2*#8 ; ;
+ \int_value:w \__fp_int_eval:w 10000 + 2*#8 \__fp_sep: \__fp_sep:
{ \__fp_ln_c:NwNw #1 }
#2
}
-\cs_new:Npn \__fp_ln_twice_t_pack:Nw #1 #2; { + #1 ; {#2} }
-\cs_new:Npn \__fp_ln_twice_t_after:w #1; { ;;; {#1} }
-\cs_new:Npn \__fp_ln_square_t_pack:NNNNNw #1 #2#3#4#5 #6;
- { + #1#2#3#4#5 ; {#6} }
-\cs_new:Npn \__fp_ln_square_t_after:w 1 0 #1#2#3 #4;
+\cs_new:Npn \__fp_ln_twice_t_pack:Nw #1 #2\__fp_sep: { + #1 \__fp_sep: {#2} }
+\cs_new:Npn \__fp_ln_twice_t_after:w #1\__fp_sep:
+ { \__fp_sep:\__fp_sep:\__fp_sep: {#1} }
+\cs_new:Npn \__fp_ln_square_t_pack:NNNNNw #1 #2#3#4#5 #6\__fp_sep:
+ { + #1#2#3#4#5 \__fp_sep: {#6} }
+\cs_new:Npn \__fp_ln_square_t_after:w 1 0 #1#2#3 #4\__fp_sep:
{ \__fp_ln_Taylor:wwNw {0#1#2#3} {#4} }
\cs_new:Npn \__fp_ln_Taylor:wwNw
- { \__fp_ln_Taylor_loop:www 21 ; {0000}{0000}{0000}{0000}{0000}{0000} ; }
-\cs_new:Npn \__fp_ln_Taylor_loop:www #1; #2; #3;
+ {
+ \__fp_ln_Taylor_loop:www
+ 21 \__fp_sep: {0000}{0000}{0000}{0000}{0000}{0000} \__fp_sep:
+ }
+\cs_new:Npn \__fp_ln_Taylor_loop:www #1\__fp_sep: #2\__fp_sep: #3\__fp_sep:
{
\if_int_compare:w #1 = \c_one_int
\__fp_ln_Taylor_break:w
\fi:
- \exp_after:wN \__fp_fixed_div_int:wwN \c__fp_one_fixed_tl #1;
- \__fp_fixed_add:wwn #2;
- \__fp_fixed_mul:wwn #3;
+ \exp_after:wN \__fp_fixed_div_int:wwN \c__fp_one_fixed_tl #1\__fp_sep:
+ \__fp_fixed_add:wwn #2\__fp_sep:
+ \__fp_fixed_mul:wwn #3\__fp_sep:
{
\exp_after:wN \__fp_ln_Taylor_loop:www
- \int_value:w \__fp_int_eval:w #1 - 2 ;
+ \int_value:w \__fp_int_eval:w #1 - 2 \__fp_sep:
}
- #3;
+ #3\__fp_sep:
}
-\cs_new:Npn \__fp_ln_Taylor_break:w \fi: #1 \__fp_fixed_add:wwn #2#3; #4 ;;
+\cs_new:Npn \__fp_ln_Taylor_break:w
+ \fi: #1 \__fp_fixed_add:wwn #2#3\__fp_sep: #4 \__fp_sep:\__fp_sep:
{
\fi:
\exp_after:wN \__fp_fixed_mul:wwn
- \exp_after:wN { \int_value:w \__fp_int_eval:w 10000 + #2 } #3;
+ \exp_after:wN { \int_value:w \__fp_int_eval:w 10000 + #2 } #3\__fp_sep:
}
-\cs_new:Npn \__fp_ln_c:NwNw #1 #2; #3
+\cs_new:Npn \__fp_ln_c:NwNw #1 #2\__fp_sep: #3
{
\if_meaning:w + #1
\exp_after:wN \exp_after:wN \exp_after:wN \__fp_fixed_sub:wwn
\else:
\exp_after:wN \exp_after:wN \exp_after:wN \__fp_fixed_add:wwn
\fi:
- #3 #2 ;
+ #3 #2 \__fp_sep:
}
-\cs_new:Npn \__fp_ln_exponent:wn #1; #2
+\cs_new:Npn \__fp_ln_exponent:wn #1\__fp_sep: #2
{
\if_case:w #2 \exp_stop_f:
0 \__fp_case_return:nw { \__fp_fixed_to_float_o:Nw 2 }
@@ -19461,25 +19679,25 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_fixed_add:wwn \int_value:w -
\fi:
\fi:
- #2; #1;
+ #2\__fp_sep: #1\__fp_sep:
}
-\cs_new:Npn \__fp_ln_exponent_one:ww 1; #1;
+\cs_new:Npn \__fp_ln_exponent_one:ww 1\__fp_sep: #1\__fp_sep:
{
0
- \exp_after:wN \__fp_fixed_sub:wwn \c__fp_ln_x_fixed_tl #1;
+ \exp_after:wN \__fp_fixed_sub:wwn \c__fp_ln_x_fixed_tl #1\__fp_sep:
\__fp_fixed_to_float_o:wN 0
}
-\cs_new:Npn \__fp_ln_exponent_small:NNww #1#2#3; #4#5#6#7#8#9;
+\cs_new:Npn \__fp_ln_exponent_small:NNww #1#2#3\__fp_sep: #4#5#6#7#8#9\__fp_sep:
{
4
\exp_after:wN \__fp_fixed_mul:wwn
\c__fp_ln_x_fixed_tl
- {#3}{0000}{0000}{0000}{0000}{0000} ;
+ {#3}{0000}{0000}{0000}{0000}{0000} \__fp_sep:
#2
- {0000}{#4}{#5}{#6}{#7}{#8};
+ {0000}{#4}{#5}{#6}{#7}{#8}\__fp_sep:
\__fp_fixed_to_float_o:wN #1
}
-\cs_new:Npn \__fp_exp_o:w #1 \s__fp \__fp_chk:w #2#3#4; @
+\cs_new:Npn \__fp_exp_o:w #1 \s__fp \__fp_chk:w #2#3#4\__fp_sep: @
{
\if_case:w #2 \exp_stop_f:
\__fp_case_return_o:Nw \c_one_fp
@@ -19496,7 +19714,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\or:
\__fp_case_return_same_o:w
\fi:
- \s__fp \__fp_chk:w #2#3#4;
+ \s__fp \__fp_chk:w #2#3#4\__fp_sep:
}
\cs_new:Npn \__fp_exp_normal_o:w \s__fp \__fp_chk:w 1#1
{
@@ -19506,7 +19724,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_exp_pos_o:NNwnw - \__fp_fixed_inv_to_float_o:wN
\fi:
}
-\cs_new:Npn \__fp_exp_pos_o:NNwnw #1#2#3 \fi: #4#5;
+\cs_new:Npn \__fp_exp_pos_o:NNwnw #1#2#3 \fi: #4#5\__fp_sep:
{
\fi:
\if_int_compare:w #4 > \c__fp_max_exp_exponent_int
@@ -19545,33 +19763,33 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN #1
\exp_after:wN #2
}
-\cs_new:Npn \__fp_exp_Taylor:Nnnwn #1#2#3 #4; #5 #6
+\cs_new:Npn \__fp_exp_Taylor:Nnnwn #1#2#3 #4\__fp_sep: #5 #6
{
#6
\__fp_pack_twice_four:wNNNNNNNN
\__fp_pack_twice_four:wNNNNNNNN
\__fp_pack_twice_four:wNNNNNNNN
\__fp_exp_Taylor_ii:ww
- ; #2#3#4 0000 0000 ;
+ \__fp_sep: #2#3#4 0000 0000 \__fp_sep:
}
-\cs_new:Npn \__fp_exp_Taylor_ii:ww #1; #2;
- { \__fp_exp_Taylor_loop:www 10 ; #1 ; #1 ; \s__fp_stop }
-\cs_new:Npn \__fp_exp_Taylor_loop:www #1; #2; #3;
+\cs_new:Npn \__fp_exp_Taylor_ii:ww #1\__fp_sep: #2\__fp_sep:
+ { \__fp_exp_Taylor_loop:www 10 \__fp_sep: #1 \__fp_sep: #1 \__fp_sep: \s__fp_stop }
+\cs_new:Npn \__fp_exp_Taylor_loop:www #1\__fp_sep: #2\__fp_sep: #3\__fp_sep:
{
\if_int_compare:w #1 = \c_one_int
\exp_after:wN \__fp_exp_Taylor_break:Nww
\fi:
- \__fp_fixed_div_int:wwN #3 ; #1 ;
+ \__fp_fixed_div_int:wwN #3 \__fp_sep: #1 \__fp_sep:
\__fp_fixed_add_one:wN
- \__fp_fixed_mul:wwn #2 ;
+ \__fp_fixed_mul:wwn #2 \__fp_sep:
{
\exp_after:wN \__fp_exp_Taylor_loop:www
- \int_value:w \__fp_int_eval:w #1 - 1 ;
- #2 ;
+ \int_value:w \__fp_int_eval:w #1 - 1 \__fp_sep:
+ #2 \__fp_sep:
}
}
-\cs_new:Npn \__fp_exp_Taylor_break:Nww #1 #2; #3 \s__fp_stop
- { \__fp_fixed_add_one:wN #2 ; }
+\cs_new:Npn \__fp_exp_Taylor_break:Nww #1 #2\__fp_sep: #3 \s__fp_stop
+ { \__fp_fixed_add_one:wN #2 \__fp_sep: }
\intarray_const_from_clist:Nn \c__fp_exp_intarray
{
1 , 1 1105 1709 , 1 1807 5647 , 1 6248 1171 ,
@@ -19629,23 +19847,23 @@ Type H <return> for immediate help}\def~{\errmessage{%
34744 , 1 3618 6973 , 1 3140 0875 , 1 3856 4102 ,
39087 , 1 3186 9209 , 1 6113 3900 , 1 6705 9685 ,
}
-\cs_new:Npn \__fp_exp_pos_large:NnnNwn #1#2#3 #4#5; #6
+\cs_new:Npn \__fp_exp_pos_large:NnnNwn #1#2#3 #4#5\__fp_sep: #6
{
\exp_after:wN \exp_after:wN \exp_after:wN \__fp_exp_large:NwN
\exp_after:wN \exp_after:wN \exp_after:wN #6
\exp_after:wN \c__fp_one_fixed_tl
\int_value:w #3 #4 \exp_stop_f:
- #5 00000 ;
+ #5 00000 \__fp_sep:
}
-\cs_new:Npn \__fp_exp_large:NwN #1#2; #3
+\cs_new:Npn \__fp_exp_large:NwN #1#2\__fp_sep: #3
{
\if_case:w #3 ~
\exp_after:wN \__fp_fixed_continue:wn
\else:
\exp_after:wN \__fp_exp_intarray:w
- \int_value:w \__fp_int_eval:w 36 * #1 + 4 * #3 \exp_after:wN ;
+ \int_value:w \__fp_int_eval:w 36 * #1 + 4 * #3 \exp_after:wN \__fp_sep:
\fi:
- #2;
+ #2\__fp_sep:
{
\if_meaning:w 0 #1
\exp_after:wN \__fp_exp_large_after:wwn
@@ -19655,7 +19873,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
}
}
-\cs_new:Npn \__fp_exp_intarray:w #1 ;
+\cs_new:Npn \__fp_exp_intarray:w #1 \__fp_sep:
{
+
\__kernel_intarray_item:Nn \c__fp_exp_intarray
@@ -19670,16 +19888,18 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_value:w \__kernel_intarray_item:Nn
\c__fp_exp_intarray { \__fp_int_eval:w #1 - 1 }
\exp_after:wN \__fp_exp_intarray_aux:w
- \int_value:w \__kernel_intarray_item:Nn \c__fp_exp_intarray {#1} ; ;
+ \int_value:w \__kernel_intarray_item:Nn
+ \c__fp_exp_intarray {#1} \__fp_sep: \__fp_sep:
}
-\cs_new:Npn \__fp_exp_intarray_aux:w 1 #1#2#3#4#5 ; { ; {#1#2#3#4} {#5} }
-\cs_new:Npn \__fp_exp_large_after:wwn #1; #2; #3
+\cs_new:Npn \__fp_exp_intarray_aux:w 1 #1#2#3#4#5 \__fp_sep:
+ { \__fp_sep: {#1#2#3#4} {#5} }
+\cs_new:Npn \__fp_exp_large_after:wwn #1\__fp_sep: #2\__fp_sep: #3
{
- \__fp_exp_Taylor:Nnnwn ? { } { } 0 #2; {} #3
- \__fp_fixed_mul:wwn #1;
+ \__fp_exp_Taylor:Nnnwn ? { } { } 0 #2\__fp_sep: {} #3
+ \__fp_fixed_mul:wwn #1\__fp_sep:
}
\cs_new:cpn { __fp_ \iow_char:N \^ _o:ww }
- \s__fp \__fp_chk:w #1#2#3; \s__fp \__fp_chk:w #4#5#6;
+ \s__fp \__fp_chk:w #1#2#3\__fp_sep: \s__fp \__fp_chk:w #4#5#6\__fp_sep:
{
\if_meaning:w 0 #4
\__fp_case_return_o:Nw \c_one_fp
@@ -19698,13 +19918,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\exp_after:wN \__fp_pow_zero_or_inf:ww
\fi:
- \s__fp \__fp_chk:w #1#2#3;
+ \s__fp \__fp_chk:w #1#2#3\__fp_sep:
}
- { \s__fp \__fp_chk:w #4#5#6; \s__fp \__fp_chk:w #1#2#3; }
- \s__fp \__fp_chk:w #4#5#6;
+ { \s__fp \__fp_chk:w #4#5#6\__fp_sep: \s__fp \__fp_chk:w #1#2#3\__fp_sep: }
+ \s__fp \__fp_chk:w #4#5#6\__fp_sep:
}
\cs_new:Npn \__fp_pow_zero_or_inf:ww
- \s__fp \__fp_chk:w #1#2; \s__fp \__fp_chk:w #3#4
+ \s__fp \__fp_chk:w #1#2\__fp_sep: \s__fp \__fp_chk:w #3#4
{
\if_meaning:w 1 #4
\__fp_case_return_same_o:w
@@ -19721,13 +19941,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_case_use:nw
{
\__fp_division_by_zero_o:NNww \c_inf_fp ^
- \s__fp \__fp_chk:w #1 #2 ;
+ \s__fp \__fp_chk:w #1 #2 \__fp_sep:
}
\fi:
\s__fp \__fp_chk:w #3#4
}
\cs_new:Npn \__fp_pow_normal_o:ww
- \s__fp \__fp_chk:w 1 #1#2#3; \s__fp \__fp_chk:w #4#5
+ \s__fp \__fp_chk:w 1 #1#2#3\__fp_sep: \s__fp \__fp_chk:w #4#5
{
\if:w 0 \__fp_str_if_eq:nn { #2 #3 } { 1 {1000} {0000} {0000} {0000} }
\if_int_compare:w #4 #1 = 32 \exp_stop_f:
@@ -19751,7 +19971,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\or:
\__fp_case_return_ii_o:ww
\fi:
- \s__fp \__fp_chk:w 1 #1 {#2} #3 ;
+ \s__fp \__fp_chk:w 1 #1 {#2} #3 \__fp_sep:
\s__fp \__fp_chk:w #4 #5
}
\cs_new:Npn \__fp_pow_npos_o:Nww #1 \s__fp \__fp_chk:w 1#2#3
@@ -19770,17 +19990,18 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
{#3}
}
-\cs_new:Npn \__fp_pow_npos_aux:NNnww #1#2#3#4#5; \s__fp \__fp_chk:w 1#6#7#8;
+\cs_new:Npn \__fp_pow_npos_aux:NNnww
+ #1#2#3#4#5\__fp_sep: \s__fp \__fp_chk:w 1#6#7#8\__fp_sep:
{
#1
\__fp_int_eval:w
\__fp_ln_significand:NNNNnnnN #4#5
\__fp_pow_exponent:wnN {#3}
- \__fp_fixed_mul:wwn #8 {0000}{0000} ;
- \__fp_pow_B:wwN #7;
+ \__fp_fixed_mul:wwn #8 {0000}{0000} \__fp_sep:
+ \__fp_pow_B:wwN #7\__fp_sep:
#1 #2 0 % fixed_to_float_o:wN
}
-\cs_new:Npn \__fp_pow_exponent:wnN #1; #2
+\cs_new:Npn \__fp_pow_exponent:wnN #1\__fp_sep: #2
{
\if_int_compare:w #2 > \c_zero_int
\exp_after:wN \__fp_pow_exponent:Nwnnnnnw % n\ln(10) - (-\ln(x))
@@ -19789,9 +20010,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_pow_exponent:Nwnnnnnw % -(|n|\ln(10) + (-\ln(x)))
\exp_after:wN -
\fi:
- #2; #1;
+ #2\__fp_sep: #1\__fp_sep:
}
-\cs_new:Npn \__fp_pow_exponent:Nwnnnnnw #1#2; #3#4#5#6#7#8;
+\cs_new:Npn \__fp_pow_exponent:Nwnnnnnw #1#2\__fp_sep: #3#4#5#6#7#8\__fp_sep:
{ %^^A todo: use that in ln.
\exp_after:wN \__fp_fixed_mul_after:wwn
\int_value:w \__fp_int_eval:w \c__fp_leading_shift_int
@@ -19810,9 +20031,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_pack:NNNNNw
\int_value:w \__fp_int_eval:w \c__fp_trailing_shift_int
#1 #2*8401 - #1 #7
- #1 ( #2*7991 - #8 ) / 1 0000 ; ;
+ #1 ( #2*7991 - #8 ) / 1 0000 \__fp_sep: \__fp_sep:
}
-\cs_new:Npn \__fp_pow_B:wwN #1#2#3#4#5#6; #7;
+\cs_new:Npn \__fp_pow_B:wwN #1#2#3#4#5#6\__fp_sep: #7\__fp_sep:
{
\if_int_compare:w #7 < \c_zero_int
\exp_after:wN \__fp_pow_C_neg:w \int_value:w -
@@ -19823,23 +20044,23 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_pow_C_overflow:w \int_value:w
\fi:
\fi:
- #7 \exp_after:wN ;
+ #7 \exp_after:wN \__fp_sep:
\int_value:w \__fp_int_eval:w 10 0000 + #1 \__fp_int_eval_end:
- #2#3#4#5#6 0000 0000 0000 0000 0000 0000 ; %^^A todo: how many 0?
+ #2#3#4#5#6 0000 0000 0000 0000 0000 0000 \__fp_sep: %^^A todo: how many 0?
}
-\cs_new:Npn \__fp_pow_C_overflow:w #1; #2; #3
+\cs_new:Npn \__fp_pow_C_overflow:w #1\__fp_sep: #2\__fp_sep: #3
{
+ 2 * \c__fp_max_exponent_int
\exp_after:wN \__fp_fixed_continue:wn \c__fp_one_fixed_tl
}
-\cs_new:Npn \__fp_pow_C_neg:w #1 ; 1
+\cs_new:Npn \__fp_pow_C_neg:w #1 \__fp_sep: 1
{
\exp_after:wN \exp_after:wN \exp_after:wN \__fp_pow_C_pack:w
\prg_replicate:nn {#1} {0}
}
-\cs_new:Npn \__fp_pow_C_pos:w #1; 1
- { \__fp_pow_C_pos_loop:wN #1; }
-\cs_new:Npn \__fp_pow_C_pos_loop:wN #1; #2
+\cs_new:Npn \__fp_pow_C_pos:w #1\__fp_sep: 1
+ { \__fp_pow_C_pos_loop:wN #1\__fp_sep: }
+\cs_new:Npn \__fp_pow_C_pos_loop:wN #1\__fp_sep: #2
{
\if_meaning:w 0 #1
\exp_after:wN \__fp_pow_C_pack:w
@@ -19850,7 +20071,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\exp_after:wN \__fp_pow_C_overflow:w \int_value:w
\fi:
- \__fp_int_eval:w #1 - 1 \exp_after:wN ;
+ \__fp_int_eval:w #1 - 1 \exp_after:wN \__fp_sep:
\fi:
}
\cs_new:Npn \__fp_pow_C_pack:w
@@ -19859,20 +20080,21 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN 5
\c__fp_one_fixed_tl
}
-\cs_new:Npn \__fp_pow_neg:www \s__fp \__fp_chk:w #1#2; #3; #4;
+\cs_new:Npn \__fp_pow_neg:www
+ \s__fp \__fp_chk:w #1#2\__fp_sep: #3\__fp_sep: #4\__fp_sep:
{
- \if_case:w \__fp_pow_neg_case:w #4 ;
+ \if_case:w \__fp_pow_neg_case:w #4 \__fp_sep:
\exp_after:wN \__fp_pow_neg_aux:wNN
\or:
\if_int_compare:w \__fp_int_eval:w #1 / 2 = \c_one_int
- \__fp_invalid_operation_o:Nww ^ #3; #4;
+ \__fp_invalid_operation_o:Nww ^ #3\__fp_sep: #4\__fp_sep:
\exp:w \exp_end_continue_f:w
\exp_after:wN \exp_after:wN
\exp_after:wN \__fp_use_none_until_s:w
\fi:
\fi:
\__fp_exp_after_o:w
- \s__fp \__fp_chk:w #1#2;
+ \s__fp \__fp_chk:w #1#2\__fp_sep:
}
\cs_new:Npn \__fp_pow_neg_aux:wNN #1 \s__fp \__fp_chk:w #2#3
{
@@ -19882,7 +20104,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN #2
\int_value:w \__fp_int_eval:w 2 - #3 \__fp_int_eval_end:
}
-\cs_new:Npn \__fp_pow_neg_case:w \s__fp \__fp_chk:w #1#2#3;
+\cs_new:Npn \__fp_pow_neg_case:w \s__fp \__fp_chk:w #1#2#3\__fp_sep:
{
\if_case:w #1 \exp_stop_f:
-1
@@ -19902,7 +20124,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{#2} {#3} {#4} {#5}
\fi:
}
-\cs_new:Npn \__fp_pow_neg_case_aux:Nnnw #1#2#3#4 ;
+\cs_new:Npn \__fp_pow_neg_case_aux:Nnnw #1#2#3#4 \__fp_sep:
{
\if_meaning:w 0 #1
\if_int_odd:w #3 \exp_stop_f:
@@ -19915,7 +20137,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
}
\int_const:Nn \c__fp_fact_max_arg_int { 3248 }
-\cs_new:Npn \__fp_fact_o:w #1 \s__fp \__fp_chk:w #2#3#4; @
+\cs_new:Npn \__fp_fact_o:w #1 \s__fp \__fp_chk:w #2#3#4\__fp_sep: @
{
\if_case:w #2 \exp_stop_f:
\__fp_case_return_o:Nw \c_one_fp
@@ -19931,13 +20153,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_case_use:nw { \__fp_invalid_operation_o:fw { fact } }
\fi:
\__fp_fact_pos_o:w
- \s__fp \__fp_chk:w #2 #3 #4 ;
+ \s__fp \__fp_chk:w #2 #3 #4 \__fp_sep:
}
-\cs_new:Npn \__fp_fact_pos_o:w #1;
+\cs_new:Npn \__fp_fact_pos_o:w #1\__fp_sep:
{
- \__fp_small_int:wTF #1;
+ \__fp_small_int:wTF #1\__fp_sep:
{ \__fp_fact_int_o:n }
- { \__fp_invalid_operation_o:fw { fact } #1; }
+ { \__fp_invalid_operation_o:fw { fact } #1\__fp_sep: }
}
\cs_new:Npn \__fp_fact_int_o:n #1
{
@@ -19951,9 +20173,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_sanitize:Nw
\exp_after:wN 0
\int_value:w \__fp_int_eval:w
- \__fp_fact_loop_o:w #1 . 4 , { 1 } { } { } { } { } { } ;
+ \__fp_fact_loop_o:w #1 . 4 , { 1 } { } { } { } { } { } \__fp_sep:
}
-\cs_new:Npn \__fp_fact_loop_o:w #1 . #2 ;
+\cs_new:Npn \__fp_fact_loop_o:w #1 . #2 \__fp_sep:
{
\if_int_compare:w #1 < 12 \exp_stop_f:
\__fp_fact_small_o:w #1
@@ -19961,14 +20183,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_ep_mul:wwwwn
\exp_after:wN 4 \exp_after:wN ,
\exp_after:wN { \int_value:w \__fp_int_eval:w #1 * (#1 - 1) }
- { } { } { } { } { } ;
- #2 ;
+ { } { } { } { } { } \__fp_sep:
+ #2 \__fp_sep:
{
\exp_after:wN \__fp_fact_loop_o:w
\int_value:w \__fp_int_eval:w #1 - 2 .
}
}
-\cs_new:Npn \__fp_fact_small_o:w #1 \fi: #2 ; #3 ; #4
+\cs_new:Npn \__fp_fact_small_o:w #1 \fi: #2 \__fp_sep: #3 \__fp_sep: #4
{
\fi:
\exp_after:wN \__fp_ep_mul:wwwwn
@@ -19980,8 +20202,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
1 \or: 1 \or: 2 \or: 6 \or: 24 \or: 120 \or: 720 \or: 5040
\or: 40320 \or: 362880 \or: 3628800 \or: 39916800
\fi:
- } { } { } { } { } { } ;
- #3 ;
+ } { } { } { } { } { } \__fp_sep:
+ #3 \__fp_sep:
\__fp_ep_to_float_o:wwN 0
}
%% File: l3fp-trig.dtx
@@ -20012,7 +20234,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__fp_parse_function:NNN \__fp_atan_o:Nw \use_i:nn }
\cs_new:Npn \__fp_parse_word_atand:N
{ \__fp_parse_function:NNN \__fp_atan_o:Nw \use_ii:nn }
-\cs_new:Npn \__fp_sin_o:w #1 \s__fp \__fp_chk:w #2#3#4; @
+\cs_new:Npn \__fp_sin_o:w #1 \s__fp \__fp_chk:w #2#3#4\__fp_sep: @
{
\if_case:w #2 \exp_stop_f:
\__fp_case_return_same_o:w
@@ -20025,9 +20247,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__fp_invalid_operation_o:fw { #1 { sin } { sind } } }
\else: \__fp_case_return_same_o:w
\fi:
- \s__fp \__fp_chk:w #2 #3 #4;
+ \s__fp \__fp_chk:w #2 #3 #4\__fp_sep:
}
-\cs_new:Npn \__fp_cos_o:w #1 \s__fp \__fp_chk:w #2#3; @
+\cs_new:Npn \__fp_cos_o:w #1 \s__fp \__fp_chk:w #2#3\__fp_sep: @
{
\if_case:w #2 \exp_stop_f:
\__fp_case_return_o:Nw \c_one_fp
@@ -20040,9 +20262,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__fp_invalid_operation_o:fw { #1 { cos } { cosd } } }
\else: \__fp_case_return_same_o:w
\fi:
- \s__fp \__fp_chk:w #2 #3;
+ \s__fp \__fp_chk:w #2 #3\__fp_sep:
}
-\cs_new:Npn \__fp_csc_o:w #1 \s__fp \__fp_chk:w #2#3#4; @
+\cs_new:Npn \__fp_csc_o:w #1 \s__fp \__fp_chk:w #2#3#4\__fp_sep: @
{
\if_case:w #2 \exp_stop_f:
\__fp_cot_zero_o:Nfw #3 { #1 { csc } { cscd } }
@@ -20055,9 +20277,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__fp_invalid_operation_o:fw { #1 { csc } { cscd } } }
\else: \__fp_case_return_same_o:w
\fi:
- \s__fp \__fp_chk:w #2 #3 #4;
+ \s__fp \__fp_chk:w #2 #3 #4\__fp_sep:
}
-\cs_new:Npn \__fp_sec_o:w #1 \s__fp \__fp_chk:w #2#3; @
+\cs_new:Npn \__fp_sec_o:w #1 \s__fp \__fp_chk:w #2#3\__fp_sep: @
{
\if_case:w #2 \exp_stop_f:
\__fp_case_return_o:Nw \c_one_fp
@@ -20070,9 +20292,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__fp_invalid_operation_o:fw { #1 { sec } { secd } } }
\else: \__fp_case_return_same_o:w
\fi:
- \s__fp \__fp_chk:w #2 #3;
+ \s__fp \__fp_chk:w #2 #3\__fp_sep:
}
-\cs_new:Npn \__fp_tan_o:w #1 \s__fp \__fp_chk:w #2#3#4; @
+\cs_new:Npn \__fp_tan_o:w #1 \s__fp \__fp_chk:w #2#3#4\__fp_sep: @
{
\if_case:w #2 \exp_stop_f:
\__fp_case_return_same_o:w
@@ -20085,9 +20307,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__fp_invalid_operation_o:fw { #1 { tan } { tand } } }
\else: \__fp_case_return_same_o:w
\fi:
- \s__fp \__fp_chk:w #2 #3 #4;
+ \s__fp \__fp_chk:w #2 #3 #4\__fp_sep:
}
-\cs_new:Npn \__fp_cot_o:w #1 \s__fp \__fp_chk:w #2#3#4; @
+\cs_new:Npn \__fp_cot_o:w #1 \s__fp \__fp_chk:w #2#3#4\__fp_sep: @
{
\if_case:w #2 \exp_stop_f:
\__fp_cot_zero_o:Nfw #3 { #1 { cot } { cotd } }
@@ -20100,7 +20322,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__fp_invalid_operation_o:fw { #1 { cot } { cotd } } }
\else: \__fp_case_return_same_o:w
\fi:
- \s__fp \__fp_chk:w #2 #3 #4;
+ \s__fp \__fp_chk:w #2 #3 #4\__fp_sep:
}
\cs_new:Npn \__fp_cot_zero_o:Nfw #1#2#3 \fi:
{
@@ -20110,7 +20332,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \exp_args:NNf \__fp_division_by_zero_o:Nnw \c_minus_inf_fp }
{#2}
}
-\cs_new:Npn \__fp_trig:NNNNNwn #1#2#3#4#5 \s__fp \__fp_chk:w 1#6#7#8;
+\cs_new:Npn \__fp_trig:NNNNNwn #1#2#3#4#5 \s__fp \__fp_chk:w 1#6#7#8\__fp_sep:
{
\exp_after:wN #2
\exp_after:wN #3
@@ -20122,44 +20344,44 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
#1 \__fp_trig_small:ww \__fp_trigd_small:ww
\fi:
- #7,#8{0000}{0000};
+ #7,#8{0000}{0000}\__fp_sep:
}
-\cs_new:Npn \__fp_trig_small:ww #1,#2;
- { \__fp_ep_to_fixed:wwn #1,#2; . #1,#2; }
-\cs_new:Npn \__fp_trigd_small:ww #1,#2;
+\cs_new:Npn \__fp_trig_small:ww #1,#2\__fp_sep:
+ { \__fp_ep_to_fixed:wwn #1,#2\__fp_sep: . #1,#2\__fp_sep: }
+\cs_new:Npn \__fp_trigd_small:ww #1,#2\__fp_sep:
{
\__fp_ep_mul_raw:wwwwN
- -1,{1745}{3292}{5199}{4329}{5769}{2369}; #1,#2;
+ -1,{1745}{3292}{5199}{4329}{5769}{2369}\__fp_sep: #1,#2\__fp_sep:
\__fp_trig_small:ww
}
-\cs_new:Npn \__fp_trigd_large:ww #1, #2#3#4#5#6#7;
+\cs_new:Npn \__fp_trigd_large:ww #1, #2#3#4#5#6#7\__fp_sep:
{
\exp_after:wN \__fp_pack_eight:wNNNNNNNN
\exp_after:wN \__fp_pack_eight:wNNNNNNNN
\exp_after:wN \__fp_pack_twice_four:wNNNNNNNN
\exp_after:wN \__fp_pack_twice_four:wNNNNNNNN
\exp_after:wN \__fp_trigd_large_auxi:nnnnwNNNN
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
\exp:w \exp_end_continue_f:w
\prg_replicate:nn { \int_max:nn { 22 - #1 } { 0 } } { 0 }
#2#3#4#5#6#7 0000 0000 0000 !
}
-\cs_new:Npn \__fp_trigd_large_auxi:nnnnwNNNN #1#2#3#4#5; #6#7#8#9
+\cs_new:Npn \__fp_trigd_large_auxi:nnnnwNNNN #1#2#3#4#5\__fp_sep: #6#7#8#9
{
\exp_after:wN \__fp_trigd_large_auxii:wNw
\int_value:w \__fp_int_eval:w #1 + #2
- (#1 + #2 - 4) / 9 * 9 \__fp_int_eval_end:
- #3;
- #4; #5{#6#7#8#9};
+ #3\__fp_sep:
+ #4\__fp_sep: #5{#6#7#8#9}\__fp_sep:
}
-\cs_new:Npn \__fp_trigd_large_auxii:wNw #1; #2#3;
+\cs_new:Npn \__fp_trigd_large_auxii:wNw #1\__fp_sep: #2#3\__fp_sep:
{
+ (#1#2 - 4) / 9 * 2
\exp_after:wN \__fp_trigd_large_auxiii:www
\int_value:w \__fp_int_eval:w #1#2
- - (#1#2 - 4) / 9 * 9 \__fp_int_eval_end: #3 ;
+ - (#1#2 - 4) / 9 * 9 \__fp_int_eval_end: #3 \__fp_sep:
}
-\cs_new:Npn \__fp_trigd_large_auxiii:www #1; #2; #3!
+\cs_new:Npn \__fp_trigd_large_auxiii:www #1\__fp_sep: #2\__fp_sep: #3!
{
\if_int_compare:w #1 < 4500 \exp_stop_f:
\exp_after:wN \__fp_use_i_until_s:nw
@@ -20167,8 +20389,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
+ 1
\fi:
- \__fp_fixed_sub:wwn {9000}{0000}{0000}{0000}{0000}{0000};
- {#1}#2{0000}{0000};
+ \__fp_fixed_sub:wwn {9000}{0000}{0000}{0000}{0000}{0000}\__fp_sep:
+ {#1}#2{0000}{0000}\__fp_sep:
{ \__fp_trigd_small:ww 2, }
}
\intarray_const_from_clist:Nn \c__fp_trig_intarray
@@ -20385,12 +20607,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
159592267, 181172796, 144388537, 196763139, 127431422, 179531145,
100064922, 112650013, 132686230, 121550837,
}
-\cs_new:Npn \__fp_trig_large:ww #1, #2#3#4#5#6;
+\cs_new:Npn \__fp_trig_large:ww #1, #2#3#4#5#6\__fp_sep:
{
\exp_after:wN \__fp_trig_large_auxi:w
\int_value:w \__fp_int_eval:w (#1 - 4) / 8 \exp_after:wN ,
- \int_value:w #1 , ;
- {#2}{#3}{#4}{#5} ;
+ \int_value:w #1 , \__fp_sep:
+ {#2}{#3}{#4}{#5} \__fp_sep:
}
\cs_new:Npn \__fp_trig_large_auxi:w #1, #2,
{
@@ -20435,10 +20657,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_pack_twice_four:wNNNNNNNN \__fp_pack_twice_four:wNNNNNNNN
\__fp_pack_twice_four:wNNNNNNNN \__fp_pack_twice_four:wNNNNNNNN
\__fp_pack_twice_four:wNNNNNNNN \__fp_pack_twice_four:wNNNNNNNN
- \__fp_trig_large_auxv:www ;
+ \__fp_trig_large_auxv:www \__fp_sep:
}
\cs_new:Npn \__fp_trig_large_auxiii:w 1 { \exp_stop_f: }
-\cs_new:Npn \__fp_trig_large_auxv:www #1; #2; #3;
+\cs_new:Npn \__fp_trig_large_auxv:www #1\__fp_sep: #2\__fp_sep: #3\__fp_sep:
{
\exp_after:wN \__fp_use_i_until_s:nw
\exp_after:wN \__fp_trig_large_auxvii:w
@@ -20447,24 +20669,24 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__fp_trig_large_auxvi:wnnnnnnnn }
+ \c__fp_trailing_shift_int - \c__fp_middle_shift_int
\__fp_use_i_until_s:nw
- ; #3 #1 ; ;
+ \__fp_sep: #3 #1 \__fp_sep: \__fp_sep:
}
-\cs_new:Npn \__fp_trig_large_auxvi:wnnnnnnnn #1; #2#3#4#5#6#7#8#9
+\cs_new:Npn \__fp_trig_large_auxvi:wnnnnnnnn #1\__fp_sep: #2#3#4#5#6#7#8#9
{
\exp_after:wN \__fp_trig_large_pack:NNNNNw
\int_value:w \__fp_int_eval:w \c__fp_middle_shift_int
+ #2*#9 + #3*#8 + #4*#7 + #5*#6
- #1; {#2}{#3}{#4}{#5} {#7}{#8}{#9}
+ #1\__fp_sep: {#2}{#3}{#4}{#5} {#7}{#8}{#9}
}
-\cs_new:Npn \__fp_trig_large_pack:NNNNNw #1#2#3#4#5#6;
- { + #1#2#3#4#5 ; #6 }
+\cs_new:Npn \__fp_trig_large_pack:NNNNNw #1#2#3#4#5#6\__fp_sep:
+ { + #1#2#3#4#5 \__fp_sep: #6 }
\cs_new:Npn \__fp_trig_large_auxvii:w #1#2#3
{
\exp_after:wN \__fp_trig_large_auxviii:ww
- \int_value:w \__fp_int_eval:w (#1#2#3 - 62) / 125 ;
+ \int_value:w \__fp_int_eval:w (#1#2#3 - 62) / 125 \__fp_sep:
#1#2#3
}
-\cs_new:Npn \__fp_trig_large_auxviii:ww #1;
+\cs_new:Npn \__fp_trig_large_auxviii:ww #1\__fp_sep:
{
+ #1
\if_int_odd:w #1 \exp_stop_f:
@@ -20483,25 +20705,25 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_replicate:nn { 13 }
{ \__fp_trig_large_auxx:wNNNNN }
+ \c__fp_trailing_shift_int - \c__fp_middle_shift_int
- ;
+ \__fp_sep:
}
-\cs_new:Npn \__fp_trig_large_auxx:wNNNNN #1; #2 #3#4#5#6
+\cs_new:Npn \__fp_trig_large_auxx:wNNNNN #1\__fp_sep: #2 #3#4#5#6
{
\exp_after:wN \__fp_trig_large_pack:NNNNNw
\int_value:w \__fp_int_eval:w \c__fp_middle_shift_int
#2 8 * #3#4#5#6
- #1; #2
+ #1\__fp_sep: #2
}
-\cs_new:Npn \__fp_trig_large_auxxi:w #1;
+\cs_new:Npn \__fp_trig_large_auxxi:w #1\__fp_sep:
{
\exp_after:wN \__fp_ep_mul_raw:wwwwN
- \int_value:w \__fp_int_eval:w 0 \__fp_ep_to_ep_loop:N #1 ; ; !
- 0,{7853}{9816}{3397}{4483}{0961}{5661};
+ \int_value:w \__fp_int_eval:w 0 \__fp_ep_to_ep_loop:N #1 \__fp_sep: \__fp_sep: !
+ 0,{7853}{9816}{3397}{4483}{0961}{5661}\__fp_sep:
\__fp_trig_small:ww
}
-\cs_new:Npn \__fp_sin_series_o:NNwwww #1#2#3. #4;
+\cs_new:Npn \__fp_sin_series_o:NNwwww #1#2#3. #4\__fp_sep:
{
- \__fp_fixed_mul:wwn #4; #4;
+ \__fp_fixed_mul:wwn #4\__fp_sep: #4\__fp_sep:
{
\exp_after:wN \__fp_sin_series_aux_o:NNnwww
\exp_after:wN #1
@@ -20514,7 +20736,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{#3}
}
}
-\cs_new:Npn \__fp_sin_series_aux_o:NNnwww #1#2#3 #4; #5,#6;
+\cs_new:Npn \__fp_sin_series_aux_o:NNnwww #1#2#3 #4\__fp_sep: #5,#6\__fp_sep:
{
\if_int_odd:w \__fp_int_eval:w #3 / 2 \__fp_int_eval_end:
\exp_after:wN \use_i:nn
@@ -20522,29 +20744,46 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \use_ii:nn
\fi:
{ % 1/18!
- \__fp_fixed_mul_sub_back:wwwn {0000}{0000}{0000}{0001}{5619}{2070};
- #4;{0000}{0000}{0000}{0477}{9477}{3324};
- \__fp_fixed_mul_sub_back:wwwn #4;{0000}{0000}{0011}{4707}{4559}{7730};
- \__fp_fixed_mul_sub_back:wwwn #4;{0000}{0000}{2087}{6756}{9878}{6810};
- \__fp_fixed_mul_sub_back:wwwn #4;{0000}{0027}{5573}{1922}{3985}{8907};
- \__fp_fixed_mul_sub_back:wwwn #4;{0000}{2480}{1587}{3015}{8730}{1587};
- \__fp_fixed_mul_sub_back:wwwn #4;{0013}{8888}{8888}{8888}{8888}{8889};
- \__fp_fixed_mul_sub_back:wwwn #4;{0416}{6666}{6666}{6666}{6666}{6667};
- \__fp_fixed_mul_sub_back:wwwn #4;{5000}{0000}{0000}{0000}{0000}{0000};
- \__fp_fixed_mul_sub_back:wwwn#4;{10000}{0000}{0000}{0000}{0000}{0000};
+ \__fp_fixed_mul_sub_back:wwwn {0000}{0000}{0000}{0001}{5619}{2070}\__fp_sep:
+ #4\__fp_sep:
+ {0000}{0000}{0000}{0477}{9477}{3324}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {0000}{0000}{0011}{4707}{4559}{7730}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {0000}{0000}{2087}{6756}{9878}{6810}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {0000}{0027}{5573}{1922}{3985}{8907}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {0000}{2480}{1587}{3015}{8730}{1587}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {0013}{8888}{8888}{8888}{8888}{8889}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {0416}{6666}{6666}{6666}{6666}{6667}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {5000}{0000}{0000}{0000}{0000}{0000}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn#4\__fp_sep:
+ {10000}{0000}{0000}{0000}{0000}{0000}\__fp_sep:
{ \__fp_fixed_continue:wn 0, }
}
{ % 1/17!
- \__fp_fixed_mul_sub_back:wwwn {0000}{0000}{0000}{0028}{1145}{7254};
- #4;{0000}{0000}{0000}{7647}{1637}{3182};
- \__fp_fixed_mul_sub_back:wwwn #4;{0000}{0000}{0160}{5904}{3836}{8216};
- \__fp_fixed_mul_sub_back:wwwn #4;{0000}{0002}{5052}{1083}{8544}{1719};
- \__fp_fixed_mul_sub_back:wwwn #4;{0000}{0275}{5731}{9223}{9858}{9065};
- \__fp_fixed_mul_sub_back:wwwn #4;{0001}{9841}{2698}{4126}{9841}{2698};
- \__fp_fixed_mul_sub_back:wwwn #4;{0083}{3333}{3333}{3333}{3333}{3333};
- \__fp_fixed_mul_sub_back:wwwn #4;{1666}{6666}{6666}{6666}{6666}{6667};
- \__fp_fixed_mul_sub_back:wwwn#4;{10000}{0000}{0000}{0000}{0000}{0000};
- { \__fp_ep_mul:wwwwn 0, } #5,#6;
+ \__fp_fixed_mul_sub_back:wwwn {0000}{0000}{0000}{0028}{1145}{7254}\__fp_sep:
+ #4\__fp_sep:
+ {0000}{0000}{0000}{7647}{1637}{3182}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {0000}{0000}{0160}{5904}{3836}{8216}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {0000}{0002}{5052}{1083}{8544}{1719}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {0000}{0275}{5731}{9223}{9858}{9065}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {0001}{9841}{2698}{4126}{9841}{2698}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {0083}{3333}{3333}{3333}{3333}{3333}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #4\__fp_sep:
+ {1666}{6666}{6666}{6666}{6666}{6667}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn#4\__fp_sep:
+ {10000}{0000}{0000}{0000}{0000}{0000}\__fp_sep:
+ { \__fp_ep_mul:wwwwn 0, } #5,#6\__fp_sep:
}
{
\exp_after:wN \__fp_sanitize:Nw
@@ -20553,9 +20792,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
#2
}
-\cs_new:Npn \__fp_tan_series_o:NNwwww #1#2#3. #4;
+\cs_new:Npn \__fp_tan_series_o:NNwwww #1#2#3. #4\__fp_sep:
{
- \__fp_fixed_mul:wwn #4; #4;
+ \__fp_fixed_mul:wwn #4\__fp_sep: #4\__fp_sep:
{
\exp_after:wN \__fp_tan_series_aux_o:Nnwww
\int_value:w
@@ -20566,22 +20805,32 @@ Type H <return> for immediate help}\def~{\errmessage{%
{#3}
}
}
-\cs_new:Npn \__fp_tan_series_aux_o:Nnwww #1 #2 #3; #4,#5;
- {
- \__fp_fixed_mul_sub_back:wwwn {0000}{0000}{1527}{3493}{0856}{7059};
- #3; {0000}{0159}{6080}{0274}{5257}{6472};
- \__fp_fixed_mul_sub_back:wwwn #3; {0002}{4571}{2320}{0157}{2558}{8481};
- \__fp_fixed_mul_sub_back:wwwn #3; {0115}{5830}{7533}{5397}{3168}{2147};
- \__fp_fixed_mul_sub_back:wwwn #3; {1929}{8245}{6140}{3508}{7719}{2982};
- \__fp_fixed_mul_sub_back:wwwn #3;{10000}{0000}{0000}{0000}{0000}{0000};
- { \__fp_ep_mul:wwwwn 0, } #4,#5;
+\cs_new:Npn \__fp_tan_series_aux_o:Nnwww #1 #2 #3\__fp_sep: #4,#5\__fp_sep:
+ {
+ \__fp_fixed_mul_sub_back:wwwn {0000}{0000}{1527}{3493}{0856}{7059}\__fp_sep:
+ #3\__fp_sep:
+ {0000}{0159}{6080}{0274}{5257}{6472}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #3\__fp_sep:
+ {0002}{4571}{2320}{0157}{2558}{8481}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #3\__fp_sep:
+ {0115}{5830}{7533}{5397}{3168}{2147}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #3\__fp_sep:
+ {1929}{8245}{6140}{3508}{7719}{2982}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #3\__fp_sep:
+ {10000}{0000}{0000}{0000}{0000}{0000}\__fp_sep:
+ { \__fp_ep_mul:wwwwn 0, } #4,#5\__fp_sep:
{
- \__fp_fixed_mul_sub_back:wwwn {0000}{0007}{0258}{0681}{9408}{4706};
- #3;{0000}{2343}{7175}{1399}{6151}{7670};
- \__fp_fixed_mul_sub_back:wwwn #3;{0019}{2638}{4588}{9232}{8861}{3691};
- \__fp_fixed_mul_sub_back:wwwn #3;{0536}{6357}{0691}{4344}{6852}{4252};
- \__fp_fixed_mul_sub_back:wwwn #3;{5263}{1578}{9473}{6842}{1052}{6315};
- \__fp_fixed_mul_sub_back:wwwn#3;{10000}{0000}{0000}{0000}{0000}{0000};
+ \__fp_fixed_mul_sub_back:wwwn {0000}{0007}{0258}{0681}{9408}{4706}\__fp_sep:
+ #3\__fp_sep:
+ {0000}{2343}{7175}{1399}{6151}{7670}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #3\__fp_sep:
+ {0019}{2638}{4588}{9232}{8861}{3691}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #3\__fp_sep:
+ {0536}{6357}{0691}{4344}{6852}{4252}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn #3\__fp_sep:
+ {5263}{1578}{9473}{6842}{1052}{6315}\__fp_sep:
+ \__fp_fixed_mul_sub_back:wwwn#3\__fp_sep:
+ {10000}{0000}{0000}{0000}{0000}{0000}\__fp_sep:
{
\reverse_if:N \if_int_odd:w
\__fp_int_eval:w (#2 - 1) / 2 \__fp_int_eval_end:
@@ -20611,7 +20860,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npe \__fp_atan_default:w #1#2#3 @ { #1 #2 #3 \c_one_fp @ }
\cs_new:Npn \__fp_atanii_o:Nww
- #1 \s__fp \__fp_chk:w #2#3#4; \s__fp \__fp_chk:w #5 #6 @
+ #1 \s__fp \__fp_chk:w #2#3#4\__fp_sep: \s__fp \__fp_chk:w #5 #6 @
{
\if_meaning:w 3 #2 \__fp_case_return_i_o:ww \fi:
\if_meaning:w 3 #5 \__fp_case_return_ii_o:ww \fi:
@@ -20627,29 +20876,29 @@ Type H <return> for immediate help}\def~{\errmessage{%
\or: \__fp_case_return:nw { \__fp_atan_inf_o:NNNw #1 #3 0 }
\fi:
\__fp_atan_normal_o:NNnwNnw #1
- \s__fp \__fp_chk:w #2#3#4;
+ \s__fp \__fp_chk:w #2#3#4\__fp_sep:
\s__fp \__fp_chk:w #5 #6
}
-\cs_new:Npn \__fp_acotii_o:Nww #1#2; #3;
- { \__fp_atanii_o:Nww #1#3; #2; }
-\cs_new:Npn \__fp_atan_inf_o:NNNw #1#2#3 \s__fp \__fp_chk:w #4#5#6;
+\cs_new:Npn \__fp_acotii_o:Nww #1#2\__fp_sep: #3\__fp_sep:
+ { \__fp_atanii_o:Nww #1#3\__fp_sep: #2\__fp_sep: }
+\cs_new:Npn \__fp_atan_inf_o:NNNw #1#2#3 \s__fp \__fp_chk:w #4#5#6\__fp_sep:
{
\exp_after:wN \__fp_atan_combine_o:NwwwwwN
\exp_after:wN #2
\int_value:w \__fp_int_eval:w
- \if_meaning:w 2 #5 7 - \fi: #3 \exp_after:wN ;
+ \if_meaning:w 2 #5 7 - \fi: #3 \exp_after:wN \__fp_sep:
\c__fp_one_fixed_tl
- {0000}{0000}{0000}{0000}{0000}{0000};
- 0,{0000}{0000}{0000}{0000}{0000}{0000}; #1
+ {0000}{0000}{0000}{0000}{0000}{0000}\__fp_sep:
+ 0,{0000}{0000}{0000}{0000}{0000}{0000}\__fp_sep: #1
}
\cs_new_protected:Npn \__fp_atan_normal_o:NNnwNnw
- #1 \s__fp \__fp_chk:w 1#2#3#4; \s__fp \__fp_chk:w 1#5#6#7;
+ #1 \s__fp \__fp_chk:w 1#2#3#4\__fp_sep: \s__fp \__fp_chk:w 1#5#6#7\__fp_sep:
{
\__fp_atan_test_o:NwwNwwN
- #2 #3, #4{0000}{0000};
- #5 #6, #7{0000}{0000}; #1
+ #2 #3, #4{0000}{0000}\__fp_sep:
+ #5 #6, #7{0000}{0000}\__fp_sep: #1
}
-\cs_new:Npn \__fp_atan_test_o:NwwNwwN #1#2,#3; #4#5,#6;
+\cs_new:Npn \__fp_atan_test_o:NwwNwwN #1#2,#3\__fp_sep: #4#5,#6\__fp_sep:
{
\exp_after:wN \__fp_atan_combine_o:NwwwwwN
\exp_after:wN #1
@@ -20658,13 +20907,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
7 - \__fp_int_eval:w
\fi:
\if_int_compare:w
- \__fp_ep_compare:wwww #2,#3; #5,#6; > \c_zero_int
+ \__fp_ep_compare:wwww #2,#3\__fp_sep: #5,#6\__fp_sep: > \c_zero_int
3 -
\exp_after:wN \__fp_reverse_args:Nww
\fi:
- \__fp_atan_div:wnwwnw #2,#3; #5,#6;
+ \__fp_atan_div:wnwwnw #2,#3\__fp_sep: #5,#6\__fp_sep:
}
-\cs_new:Npn \__fp_atan_div:wnwwnw #1,#2#3; #4,#5#6;
+\cs_new:Npn \__fp_atan_div:wnwwnw #1,#2#3\__fp_sep: #4,#5#6\__fp_sep:
{
\if_int_compare:w
\__fp_int_eval:w 41421 * #5 < #2 000
@@ -20674,49 +20923,50 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_atan_near:wwwn
\fi:
0
- \__fp_ep_div:wwwwn #1,{#2}#3; #4,{#5}#6;
+ \__fp_ep_div:wwwwn #1,{#2}#3\__fp_sep: #4,{#5}#6\__fp_sep:
\__fp_atan_auxi:ww
}
\cs_new:Npn \__fp_atan_near:wwwn
- 0 \__fp_ep_div:wwwwn #1,#2; #3,
+ 0 \__fp_ep_div:wwwwn #1,#2\__fp_sep: #3,
{
1
- \__fp_ep_to_fixed:wwn #1 - #3, #2;
+ \__fp_ep_to_fixed:wwn #1 - #3, #2\__fp_sep:
\__fp_atan_near_aux:wwn
}
-\cs_new:Npn \__fp_atan_near_aux:wwn #1; #2;
+\cs_new:Npn \__fp_atan_near_aux:wwn #1\__fp_sep: #2\__fp_sep:
{
- \__fp_fixed_add:wwn #1; #2;
- { \__fp_fixed_sub:wwn #2; #1; { \__fp_ep_div:wwwwn 0, } 0, }
+ \__fp_fixed_add:wwn #1\__fp_sep: #2\__fp_sep:
+ { \__fp_fixed_sub:wwn #2\__fp_sep: #1\__fp_sep: { \__fp_ep_div:wwwwn 0, } 0, }
}
-\cs_new:Npn \__fp_atan_auxi:ww #1,#2;
- { \__fp_ep_to_fixed:wwn #1,#2; \__fp_atan_auxii:w #1,#2; }
-\cs_new:Npn \__fp_atan_auxii:w #1;
+\cs_new:Npn \__fp_atan_auxi:ww #1,#2\__fp_sep:
+ { \__fp_ep_to_fixed:wwn #1,#2\__fp_sep: \__fp_atan_auxii:w #1,#2\__fp_sep: }
+\cs_new:Npn \__fp_atan_auxii:w #1\__fp_sep:
{
- \__fp_fixed_mul:wwn #1; #1;
+ \__fp_fixed_mul:wwn #1\__fp_sep: #1\__fp_sep:
{
- \__fp_atan_Taylor_loop:www 39 ;
- {0000}{0000}{0000}{0000}{0000}{0000} ;
+ \__fp_atan_Taylor_loop:www 39 \__fp_sep:
+ {0000}{0000}{0000}{0000}{0000}{0000} \__fp_sep:
}
- ! #1;
+ ! #1\__fp_sep:
}
-\cs_new:Npn \__fp_atan_Taylor_loop:www #1; #2; #3;
+\cs_new:Npn \__fp_atan_Taylor_loop:www #1\__fp_sep: #2\__fp_sep: #3\__fp_sep:
{
\if_int_compare:w #1 = - \c_one_int
\__fp_atan_Taylor_break:w
\fi:
- \exp_after:wN \__fp_fixed_div_int:wwN \c__fp_one_fixed_tl #1;
- \__fp_rrot:www \__fp_fixed_mul_sub_back:wwwn #2; #3;
+ \exp_after:wN \__fp_fixed_div_int:wwN \c__fp_one_fixed_tl #1\__fp_sep:
+ \__fp_rrot:www \__fp_fixed_mul_sub_back:wwwn #2\__fp_sep: #3\__fp_sep:
{
\exp_after:wN \__fp_atan_Taylor_loop:www
- \int_value:w \__fp_int_eval:w #1 - 2 ;
+ \int_value:w \__fp_int_eval:w #1 - 2 \__fp_sep:
}
- #3;
+ #3\__fp_sep:
}
\cs_new:Npn \__fp_atan_Taylor_break:w
- \fi: #1 \__fp_fixed_mul_sub_back:wwwn #2; #3 !
- { \fi: ; #2 ; }
-\cs_new:Npn \__fp_atan_combine_o:NwwwwwN #1 #2; #3; #4; #5,#6; #7
+ \fi: #1 \__fp_fixed_mul_sub_back:wwwn #2\__fp_sep: #3 !
+ { \fi: \__fp_sep: #2 \__fp_sep: }
+\cs_new:Npn \__fp_atan_combine_o:NwwwwwN
+ #1 #2\__fp_sep: #3\__fp_sep: #4\__fp_sep: #5,#6\__fp_sep: #7
{
\exp_after:wN \__fp_sanitize:Nw
\exp_after:wN #1
@@ -20726,22 +20976,22 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\exp_after:wN \use_ii:nn
\fi:
- { #5 \__fp_fixed_mul:wwn #3; #6; }
+ { #5 \__fp_fixed_mul:wwn #3\__fp_sep: #6\__fp_sep: }
{
- \__fp_fixed_mul:wwn #3; #4;
+ \__fp_fixed_mul:wwn #3\__fp_sep: #4\__fp_sep:
{
\exp_after:wN \__fp_atan_combine_aux:ww
- \int_value:w \__fp_int_eval:w #2 / 2 ; #2;
+ \int_value:w \__fp_int_eval:w #2 / 2 \__fp_sep: #2\__fp_sep:
}
}
{ #7 \__fp_fixed_to_float_o:wN \__fp_fixed_to_float_rad_o:wN }
#1
}
-\cs_new:Npn \__fp_atan_combine_aux:ww #1; #2;
+\cs_new:Npn \__fp_atan_combine_aux:ww #1\__fp_sep: #2\__fp_sep:
{
\__fp_fixed_mul_short:wwn
- {7853}{9816}{3397}{4483}{0961}{5661};
- {#1}{0000}{0000};
+ {7853}{9816}{3397}{4483}{0961}{5661}\__fp_sep:
+ {#1}{0000}{0000}\__fp_sep:
{
\if_int_odd:w #2 \exp_stop_f:
\exp_after:wN \__fp_fixed_sub:wwn
@@ -20750,7 +21000,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
}
}
-\cs_new:Npn \__fp_asin_o:w #1 \s__fp \__fp_chk:w #2#3; @
+\cs_new:Npn \__fp_asin_o:w #1 \s__fp \__fp_chk:w #2#3\__fp_sep: @
{
\if_case:w #2 \exp_stop_f:
\__fp_case_return_same_o:w
@@ -20763,9 +21013,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\__fp_case_return_same_o:w
\fi:
- \s__fp \__fp_chk:w #2 #3;
+ \s__fp \__fp_chk:w #2 #3\__fp_sep:
}
-\cs_new:Npn \__fp_acos_o:w #1 \s__fp \__fp_chk:w #2#3; @
+\cs_new:Npn \__fp_acos_o:w #1 \s__fp \__fp_chk:w #2#3\__fp_sep: @
{
\if_case:w #2 \exp_stop_f:
\__fp_case_use:nw { \__fp_atan_inf_o:NNNw #1 0 4 }
@@ -20781,10 +21031,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\__fp_case_return_same_o:w
\fi:
- \s__fp \__fp_chk:w #2 #3;
+ \s__fp \__fp_chk:w #2 #3\__fp_sep:
}
\cs_new:Npn \__fp_asin_normal_o:NfwNnnnnw
- #1#2#3 \s__fp \__fp_chk:w 1#4#5#6#7#8#9;
+ #1#2#3 \s__fp \__fp_chk:w 1#4#5#6#7#8#9\__fp_sep:
{
\if_int_compare:w #5 < \c_one_int
\exp_after:wN \__fp_use_none_until_s:w
@@ -20794,30 +21044,30 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\__fp_use_i:ww
\__fp_invalid_operation_o:fw {#2}
- \s__fp \__fp_chk:w 1#4{#5}{#6}{#7}{#8}{#9};
+ \s__fp \__fp_chk:w 1#4{#5}{#6}{#7}{#8}{#9}\__fp_sep:
\__fp_asin_auxi_o:NnNww
- #1 {#3} #4 #5,{#6}{#7}{#8}{#9}{0000}{0000};
+ #1 {#3} #4 #5,{#6}{#7}{#8}{#9}{0000}{0000}\__fp_sep:
}
-\cs_new:Npn \__fp_asin_auxi_o:NnNww #1#2#3#4,#5;
+\cs_new:Npn \__fp_asin_auxi_o:NnNww #1#2#3#4,#5\__fp_sep:
{
- \__fp_ep_to_fixed:wwn #4,#5;
+ \__fp_ep_to_fixed:wwn #4,#5\__fp_sep:
\__fp_asin_isqrt:wn
- \__fp_ep_mul:wwwwn #4,#5;
+ \__fp_ep_mul:wwwwn #4,#5\__fp_sep:
\__fp_ep_to_ep:wwN
\__fp_fixed_continue:wn
{ #2 \__fp_atan_test_o:NwwNwwN #3 }
- 0 1,{1000}{0000}{0000}{0000}{0000}{0000}; #1
+ 0 1,{1000}{0000}{0000}{0000}{0000}{0000}\__fp_sep: #1
}
-\cs_new:Npn \__fp_asin_isqrt:wn #1;
+\cs_new:Npn \__fp_asin_isqrt:wn #1\__fp_sep:
{
- \exp_after:wN \__fp_fixed_sub:wwn \c__fp_one_fixed_tl #1;
+ \exp_after:wN \__fp_fixed_sub:wwn \c__fp_one_fixed_tl #1\__fp_sep:
{
- \__fp_fixed_add_one:wN #1;
+ \__fp_fixed_add_one:wN #1\__fp_sep:
\__fp_fixed_continue:wn { \__fp_ep_mul:wwwwn 0, } 0,
}
\__fp_ep_isqrt:wwn
}
-\cs_new:Npn \__fp_acsc_o:w #1 \s__fp \__fp_chk:w #2#3#4; @
+\cs_new:Npn \__fp_acsc_o:w #1 \s__fp \__fp_chk:w #2#3#4\__fp_sep: @
{
\if_case:w \if_meaning:w 2 #2 #3 \fi: #2 \exp_stop_f:
\__fp_case_use:nw
@@ -20828,9 +21078,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\or: \__fp_case_return_same_o:w
\else: \__fp_case_return_o:Nw \c_minus_zero_fp
\fi:
- \s__fp \__fp_chk:w #2 #3 #4;
+ \s__fp \__fp_chk:w #2 #3 #4\__fp_sep:
}
-\cs_new:Npn \__fp_asec_o:w #1 \s__fp \__fp_chk:w #2#3; @
+\cs_new:Npn \__fp_asec_o:w #1 \s__fp \__fp_chk:w #2#3\__fp_sep: @
{
\if_case:w #2 \exp_stop_f:
\__fp_case_use:nw
@@ -20844,24 +21094,24 @@ Type H <return> for immediate help}\def~{\errmessage{%
\or: \__fp_case_use:nw { \__fp_atan_inf_o:NNNw #1 0 4 }
\else: \__fp_case_return_same_o:w
\fi:
- \s__fp \__fp_chk:w #2 #3;
+ \s__fp \__fp_chk:w #2 #3\__fp_sep:
}
-\cs_new:Npn \__fp_acsc_normal_o:NfwNnw #1#2#3 \s__fp \__fp_chk:w 1#4#5#6;
+\cs_new:Npn \__fp_acsc_normal_o:NfwNnw #1#2#3 \s__fp \__fp_chk:w 1#4#5#6\__fp_sep:
{
\int_compare:nNnTF {#5} < 1
{
\__fp_invalid_operation_o:fw {#2}
- \s__fp \__fp_chk:w 1#4{#5}#6;
+ \s__fp \__fp_chk:w 1#4{#5}#6\__fp_sep:
}
{
\__fp_ep_div:wwwwn
- 1,{1000}{0000}{0000}{0000}{0000}{0000};
- #5,#6{0000}{0000};
+ 1,{1000}{0000}{0000}{0000}{0000}{0000}\__fp_sep:
+ #5,#6{0000}{0000}\__fp_sep:
{ \__fp_asin_auxi_o:NnNww #1 {#3} #4 }
}
}
%% File: l3fp-convert.dtx
-\cs_new:Npn \__fp_tuple_convert:Nw #1 \s__fp_tuple \__fp_tuple_chk:w #2 ;
+\cs_new:Npn \__fp_tuple_convert:Nw #1 \s__fp_tuple \__fp_tuple_chk:w #2 \__fp_sep:
{
\int_case:nnF { \__fp_array_count:n {#2} }
{
@@ -20870,26 +21120,29 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
{
\__fp_tuple_convert_loop:nNw { } #1
- #2 { ? \__fp_tuple_convert_end:w } ;
+ #2 { ? \__fp_tuple_convert_end:w } \__fp_sep:
@ { \use_none:nn }
}
}
-\cs_new:Npn \__fp_tuple_convert_loop:nNw #1#2#3#4; #5 @ #6
+\cs_new:Npn \__fp_tuple_convert_loop:nNw #1#2#3#4\__fp_sep: #5 @ #6
{
\use_none:n #3
- \exp_args:Nf \__fp_tuple_convert_loop:nNw { #2 #3#4 ; } #2 #5
+ \exp_args:Nf \__fp_tuple_convert_loop:nNw { #2 #3#4 \__fp_sep: } #2 #5
@ { #6 , ~ #1 }
}
\cs_new:Npn \__fp_tuple_convert_end:w #1 @ #2
{ \exp_after:wN ( \exp:w \exp_end_continue_f:w #2 ) }
-\cs_new:Npn \__fp_trim_zeros:w #1 ;
+\cs_new:Npn \__fp_trim_zeros:w #1 \__fp_sep:
{
- \__fp_trim_zeros_loop:w #1
- ; \__fp_trim_zeros_loop:w 0; \__fp_trim_zeros_dot:w .; \s__fp_stop
+ \__fp_trim_zeros_loop:w #1 \__fp_sep:
+ \__fp_trim_zeros_loop:w 0\__fp_sep:
+ \__fp_trim_zeros_dot:w .\__fp_sep:
+ \s__fp_stop
}
-\cs_new:Npn \__fp_trim_zeros_loop:w #1 0; #2 { #2 #1 ; #2 }
-\cs_new:Npn \__fp_trim_zeros_dot:w #1 .; { \__fp_trim_zeros_end:w #1 ; }
-\cs_new:Npn \__fp_trim_zeros_end:w #1 ; #2 \s__fp_stop { #1 }
+\cs_new:Npn \__fp_trim_zeros_loop:w #1 0\__fp_sep: #2 { #2 #1 \__fp_sep: #2 }
+\cs_new:Npn \__fp_trim_zeros_dot:w #1 .\__fp_sep:
+ { \__fp_trim_zeros_end:w #1 \__fp_sep: }
+\cs_new:Npn \__fp_trim_zeros_end:w #1 \__fp_sep: #2 \s__fp_stop { #1 }
\cs_new:Npn \fp_to_scientific:N #1
{ \exp_after:wN \__fp_to_scientific_dispatch:w #1 }
\cs_generate_variant:Nn \fp_to_scientific:N { c }
@@ -20904,9 +21157,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
#1 \__fp_to_scientific:w \__fp_to_scientific_recover:w
#1
}
-\cs_new:Npn \__fp_to_scientific_recover:w #1 #2 ;
+\cs_new:Npn \__fp_to_scientific_recover:w #1 #2 \__fp_sep:
{
- \__fp_error:nffn { unknown-type } { \tl_to_str:n { #2 ; } } { } { }
+ \__fp_error:nffn { unknown-type } { \tl_to_str:n { #2 \__fp_sep: } } { } { }
nan
}
\cs_new:Npn \__fp_tuple_to_scientific:w
@@ -20935,14 +21188,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\s__fp \__fp_chk:w #1 #2
}
\cs_new:Npn \__fp_to_scientific_normal:wnnnnn
- \s__fp \__fp_chk:w 1 #1 #2 #3#4#5#6 ;
+ \s__fp \__fp_chk:w 1 #1 #2 #3#4#5#6 \__fp_sep:
{
\exp_after:wN \__fp_to_scientific_normal:wNw
\exp_after:wN e
\int_value:w \__fp_int_eval:w #2 - 1
- ; #3 #4 #5 #6 ;
+ \__fp_sep: #3 #4 #5 #6 \__fp_sep:
}
-\cs_new:Npn \__fp_to_scientific_normal:wNw #1 ; #2#3;
+\cs_new:Npn \__fp_to_scientific_normal:wNw #1 \__fp_sep: #2#3\__fp_sep:
{ #2.#3 #1 }
\cs_new:Npn \fp_to_decimal:N #1
{ \exp_after:wN \__fp_to_decimal_dispatch:w #1 }
@@ -20958,9 +21211,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
#1 \__fp_to_decimal:w \__fp_to_decimal_recover:w
#1
}
-\cs_new:Npn \__fp_to_decimal_recover:w #1 #2 ;
+\cs_new:Npn \__fp_to_decimal_recover:w #1 #2 \__fp_sep:
{
- \__fp_error:nffn { unknown-type } { \tl_to_str:n { #2 ; } } { } { }
+ \__fp_error:nffn { unknown-type } { \tl_to_str:n { #2 \__fp_sep: } } { } { }
nan
}
\cs_new:Npn \__fp_tuple_to_decimal:w
@@ -20989,7 +21242,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\s__fp \__fp_chk:w #1 #2
}
\cs_new:Npn \__fp_to_decimal_normal:wnnnnn
- \s__fp \__fp_chk:w 1 #1 #2 #3#4#5#6 ;
+ \s__fp \__fp_chk:w 1 #1 #2 #3#4#5#6 \__fp_sep:
{
\int_compare:nNnTF {#2} > 0
{
@@ -21001,7 +21254,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\exp_after:wN \exp_after:wN
\exp_after:wN \__fp_to_decimal_huge:wnnnn
- \prg_replicate:nn { #2 - \c__fp_prec_int } { 0 } ;
+ \prg_replicate:nn { #2 - \c__fp_prec_int } { 0 } \__fp_sep:
}
{#3} {#4} {#5} {#6}
}
@@ -21010,19 +21263,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN 0
\exp_after:wN .
\exp:w \exp_end_continue_f:w \prg_replicate:nn { - #2 } { 0 }
- #3#4#5#6 ;
+ #3#4#5#6 \__fp_sep:
}
}
-\cs_new:Npn \__fp_to_decimal_large:Nnnw #1#2#3#4;
+\cs_new:Npn \__fp_to_decimal_large:Nnnw #1#2#3#4\__fp_sep:
{
\exp_after:wN \__fp_trim_zeros:w \int_value:w
\if_int_compare:w #2 > \c_zero_int
#2
\fi:
\exp_stop_f:
- #3.#4 ;
+ #3.#4 \__fp_sep:
}
-\cs_new:Npn \__fp_to_decimal_huge:wnnnn #1; #2#3#4#5 { #2#3#4#5 #1 }
+\cs_new:Npn \__fp_to_decimal_huge:wnnnn #1\__fp_sep: #2#3#4#5 { #2#3#4#5 #1 }
\cs_new:Npn \fp_to_tl:N #1 { \exp_after:wN \__fp_to_tl_dispatch:w #1 }
\cs_generate_variant:Nn \fp_to_tl:N { c }
\cs_new:Npn \fp_to_tl:n
@@ -21032,9 +21285,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__fp_to_tl_dispatch:w #1
{ \__fp_change_func_type:NNN #1 \__fp_to_tl:w \__fp_to_tl_recover:w #1 }
-\cs_new:Npn \__fp_to_tl_recover:w #1 #2 ;
+\cs_new:Npn \__fp_to_tl_recover:w #1 #2 \__fp_sep:
{
- \__fp_error:nffn { unknown-type } { \tl_to_str:n { #2 ; } } { } { }
+ \__fp_error:nffn { unknown-type } { \tl_to_str:n { #2 \__fp_sep: } } { } { }
nan
}
\cs_new:Npn \__fp_tuple_to_tl:w
@@ -21058,15 +21311,15 @@ Type H <return> for immediate help}\def~{\errmessage{%
\s__fp \__fp_chk:w 1 0 {#1}
}
\cs_new:Npn \__fp_to_tl_scientific:wnnnnn
- \s__fp \__fp_chk:w 1 #1 #2 #3#4#5#6 ;
+ \s__fp \__fp_chk:w 1 #1 #2 #3#4#5#6 \__fp_sep:
{
\exp_after:wN \__fp_to_tl_scientific:wNw
\exp_after:wN e
\int_value:w \__fp_int_eval:w #2 - 1
- ; #3 #4 #5 #6 ;
+ \__fp_sep: #3 #4 #5 #6 \__fp_sep:
}
-\cs_new:Npn \__fp_to_tl_scientific:wNw #1 ; #2#3;
- { \__fp_trim_zeros:w #2.#3 ; #1 }
+\cs_new:Npn \__fp_to_tl_scientific:wNw #1 \__fp_sep: #2#3\__fp_sep:
+ { \__fp_trim_zeros:w #2.#3 \__fp_sep: #1 }
\cs_new:Npn \fp_to_dim:N #1
{ \exp_after:wN \__fp_to_dim_dispatch:w #1 }
\cs_generate_variant:Nn \fp_to_dim:N { c }
@@ -21075,14 +21328,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_to_dim_dispatch:w
\exp:w \exp_end_continue_f:w \__fp_parse:n
}
-\cs_new:Npn \__fp_to_dim_dispatch:w #1#2 ;
+\cs_new:Npn \__fp_to_dim_dispatch:w #1#2 \__fp_sep:
{
\__fp_change_func_type:NNN #1 \__fp_to_dim:w \__fp_to_dim_recover:w
- #1 #2 ;
+ #1 #2 \__fp_sep:
}
\cs_new:Npn \__fp_to_dim_recover:w #1
{ \__fp_invalid_operation:nnw { 0pt } { fp_to_dim } }
-\cs_new:Npn \__fp_to_dim:w #1 ; { \__fp_to_decimal:w #1 ; pt }
+\cs_new:Npn \__fp_to_dim:w #1 \__fp_sep: { \__fp_to_decimal:w #1 \__fp_sep: pt }
\cs_new:Npn \fp_to_int:N #1 { \exp_after:wN \__fp_to_int_dispatch:w #1 }
\cs_generate_variant:Nn \fp_to_int:N { c }
\cs_new:Npn \fp_to_int:n
@@ -21090,24 +21343,24 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_to_int_dispatch:w
\exp:w \exp_end_continue_f:w \__fp_parse:n
}
-\cs_new:Npn \__fp_to_int_dispatch:w #1#2 ;
+\cs_new:Npn \__fp_to_int_dispatch:w #1#2 \__fp_sep:
{
\__fp_change_func_type:NNN #1 \__fp_to_int:w \__fp_to_int_recover:w
- #1 #2 ;
+ #1 #2 \__fp_sep:
}
\cs_new:Npn \__fp_to_int_recover:w #1
{ \__fp_invalid_operation:nnw { 0 } { fp_to_int } }
-\cs_new:Npn \__fp_to_int:w #1;
+\cs_new:Npn \__fp_to_int:w #1\__fp_sep:
{
\exp_after:wN \__fp_to_decimal:w \exp:w \exp_end_continue_f:w
- \__fp_round:Nwn \__fp_round_to_nearest:NNN #1; { 0 }
+ \__fp_round:Nwn \__fp_round_to_nearest:NNN #1\__fp_sep: { 0 }
}
\cs_new:Npn \dim_to_fp:n #1
{
\exp_after:wN \__fp_from_dim_test:ww
\exp_after:wN 0
\exp_after:wN ,
- \int_value:w \tex_glueexpr:D #1 ;
+ \int_value:w \tex_glueexpr:D #1 \__fp_sep:
}
\cs_new:Npn \__fp_from_dim_test:ww #1, #2
{
@@ -21123,18 +21376,18 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\fi:
}
-\cs_new:Npn \__fp_from_dim:wNw #1,#2#3;
+\cs_new:Npn \__fp_from_dim:wNw #1,#2#3\__fp_sep:
{
- \__fp_pack_twice_four:wNNNNNNNN \__fp_from_dim:wNNnnnnnn ;
- #3 000 0000 00 {10}987654321; #2 {#1}
+ \__fp_pack_twice_four:wNNNNNNNN \__fp_from_dim:wNNnnnnnn \__fp_sep:
+ #3 000 0000 00 {10}987654321\__fp_sep: #2 {#1}
}
-\cs_new:Npn \__fp_from_dim:wNNnnnnnn #1; #2#3#4#5#6#7#8#9
- { \__fp_from_dim:wnnnnwNn #1 {#2#300} {0000} ; }
-\cs_new:Npn \__fp_from_dim:wnnnnwNn #1; #2#3#4#5#6; #7#8
+\cs_new:Npn \__fp_from_dim:wNNnnnnnn #1\__fp_sep: #2#3#4#5#6#7#8#9
+ { \__fp_from_dim:wnnnnwNn #1 {#2#300} {0000} \__fp_sep: }
+\cs_new:Npn \__fp_from_dim:wnnnnwNn #1\__fp_sep: #2#3#4#5#6\__fp_sep: #7#8
{
\__fp_mul_npos_o:Nww #7
- \s__fp \__fp_chk:w 1 #7 {#5} #1 ;
- \s__fp \__fp_chk:w 1 0 {#8} {1525} {8789} {0625} {0000} ;
+ \s__fp \__fp_chk:w 1 #7 {#5} #1 \__fp_sep:
+ \s__fp \__fp_chk:w 1 0 {#8} {1525} {8789} {0625} {0000} \__fp_sep:
\prg_do_nothing:
}
\cs_new_eq:NN \fp_use:N \fp_to_decimal:N
@@ -21154,16 +21407,16 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\exp_last_unbraced:Ne \use_ii:nn
{
- \__fp_array_to_clist_loop:Nw #1 { ? \prg_break: } ;
+ \__fp_array_to_clist_loop:Nw #1 { ? \prg_break: } \__fp_sep:
\prg_break_point:
}
}
}
-\cs_new:Npn \__fp_array_to_clist_loop:Nw #1#2;
+\cs_new:Npn \__fp_array_to_clist_loop:Nw #1#2\__fp_sep:
{
\use_none:n #1
, ~
- \exp_not:f { \__fp_to_tl_dispatch:w #1 #2 ; }
+ \exp_not:f { \__fp_to_tl_dispatch:w #1 #2 \__fp_sep: }
\__fp_array_to_clist_loop:Nw
}
%% File: l3fp-random.dtx
@@ -21178,7 +21431,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
+ \tex_uniformdeviate:D #1 + 8192 ) / 16384
}
\cs_new:Npn \__fp_rand_myriads:n #1
- { \__fp_rand_myriads_loop:w #1 \prg_break: X \prg_break_point: ; }
+ { \__fp_rand_myriads_loop:w #1 \prg_break: X \prg_break_point: \__fp_sep: }
\cs_new:Npn \__fp_rand_myriads_loop:w #1 X
{
#1
@@ -21187,14 +21440,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_randint:n { 10000 }
\__fp_rand_myriads_loop:w
}
-\cs_new:Npn \__fp_rand_myriads_get:w 1 #1 ; { ; {#1} }
+\cs_new:Npn \__fp_rand_myriads_get:w 1 #1 \__fp_sep: { \__fp_sep: {#1} }
\cs_new:Npn \__fp_rand_o:Nw ? #1 @
{
\tl_if_empty:nTF {#1}
{
\exp_after:wN \__fp_rand_o:w
\exp:w \exp_end_continue_f:w
- \__fp_rand_myriads:n { XXXX } { 0000 } { 0000 } ; 0
+ \__fp_rand_myriads:n { XXXX } { 0000 } { 0000 } \__fp_sep: 0
}
{
\msg_expandable_error:nnnnn
@@ -21202,7 +21455,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \c_nan_fp
}
}
-\cs_new:Npn \__fp_rand_o:w ;
+\cs_new:Npn \__fp_rand_o:w \__fp_sep:
{
\exp_after:wN \__fp_sanitize:Nw
\exp_after:wN 0
@@ -21216,41 +21469,41 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__fp_randint_default:w \__fp_randint_o:w }
}
\cs_new:Npn \__fp_randint_default:w #1 { \exp_after:wN #1 \c_one_fp }
-\cs_new:Npn \__fp_randint_badarg:w \s__fp \__fp_chk:w #1#2#3;
+\cs_new:Npn \__fp_randint_badarg:w \s__fp \__fp_chk:w #1#2#3\__fp_sep:
{
- \__fp_int:wTF \s__fp \__fp_chk:w #1#2#3;
+ \__fp_int:wTF \s__fp \__fp_chk:w #1#2#3\__fp_sep:
{
\if_meaning:w 1 #1
\if_int_compare:w
- \__fp_use_i_until_s:nw #3 ; > \c__fp_prec_int
+ \__fp_use_i_until_s:nw #3 \__fp_sep: > \c__fp_prec_int
\c_one_int
\fi:
\fi:
}
{ \c_one_int }
}
-\cs_new:Npn \__fp_randint_o:w #1; #2; @
+\cs_new:Npn \__fp_randint_o:w #1\__fp_sep: #2\__fp_sep: @
{
\if_case:w
- \__fp_randint_badarg:w #1;
- \__fp_randint_badarg:w #2;
- \if:w 1 \__fp_compare_back:ww #2; #1; \c_one_int \fi:
+ \__fp_randint_badarg:w #1\__fp_sep:
+ \__fp_randint_badarg:w #2\__fp_sep:
+ \if:w 1 \__fp_compare_back:ww #2\__fp_sep: #1\__fp_sep: \c_one_int \fi:
\c_zero_int
- \__fp_randint_auxi_o:ww #1; #2;
+ \__fp_randint_auxi_o:ww #1\__fp_sep: #2\__fp_sep:
\or:
\__fp_invalid_operation_tl_o:ff
- { randint } { \__fp_array_to_clist:n { #1; #2; } }
+ { randint } { \__fp_array_to_clist:n { #1\__fp_sep: #2\__fp_sep: } }
\exp:w
\fi:
\exp_after:wN \exp_end:
}
-\cs_new:Npn \__fp_randint_auxi_o:ww #1 ; #2 ; #3 \exp_end:
+\cs_new:Npn \__fp_randint_auxi_o:ww #1 \__fp_sep: #2 \__fp_sep: #3 \exp_end:
{
\fi:
- \__fp_randint_auxii:wn #2 ;
- { \__fp_randint_auxii:wn #1 ; \__fp_randint_auxiii_o:ww }
+ \__fp_randint_auxii:wn #2 \__fp_sep:
+ { \__fp_randint_auxii:wn #1 \__fp_sep: \__fp_randint_auxiii_o:ww }
}
-\cs_new:Npn \__fp_randint_auxii:wn \s__fp \__fp_chk:w #1#2#3#4 ;
+\cs_new:Npn \__fp_randint_auxii:wn \s__fp \__fp_chk:w #1#2#3#4 \__fp_sep:
{
\if_meaning:w 0 #1
\exp_after:wN \use_i:nn
@@ -21261,7 +21514,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\exp_after:wN \__fp_ep_to_fixed:wwn
\int_value:w \__fp_int_eval:w
- #3 - \c__fp_prec_int , #4 {0000} {0000} ;
+ #3 - \c__fp_prec_int , #4 {0000} {0000} \__fp_sep:
{
\if_meaning:w 0 #2
\exp_after:wN \use_i:nnnn
@@ -21272,22 +21525,22 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_fixed_continue:wn
}
}
-\cs_new:Npn \__fp_randint_auxiii_o:ww #1 ; #2 ;
+\cs_new:Npn \__fp_randint_auxiii_o:ww #1 \__fp_sep: #2 \__fp_sep:
{
- \__fp_fixed_add:wwn #2 ;
- {0000} {0000} {0000} {0001} {0000} {0000} ;
- \__fp_fixed_sub:wwn #1 ;
+ \__fp_fixed_add:wwn #2 \__fp_sep:
+ {0000} {0000} {0000} {0001} {0000} {0000} \__fp_sep:
+ \__fp_fixed_sub:wwn #1 \__fp_sep:
{
\exp_after:wN \use_i:nn
\exp_after:wN \__fp_fixed_mul_add:wwwn
- \exp:w \exp_end_continue_f:w \__fp_rand_myriads:n { XXXXXX } ;
+ \exp:w \exp_end_continue_f:w \__fp_rand_myriads:n { XXXXXX } \__fp_sep:
}
- #1 ;
+ #1 \__fp_sep:
\__fp_randint_auxiv_o:ww
- #2 ;
- \__fp_randint_auxv_o:w #1 ; @
+ #2 \__fp_sep:
+ \__fp_randint_auxv_o:w #1 \__fp_sep: @
}
-\cs_new:Npn \__fp_randint_auxiv_o:ww #1#2#3#4#5 ; #6#7#8#9
+\cs_new:Npn \__fp_randint_auxiv_o:ww #1#2#3#4#5 \__fp_sep: #6#7#8#9
{
\if_int_compare:w
\if_int_compare:w #1#2 > #6#7 \exp_stop_f: 1 \else:
@@ -21297,7 +21550,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\__fp_randint_auxv_o:w {#1}{#2}{#3}{#4}#5
}
-\cs_new:Npn \__fp_randint_auxv_o:w #1#2#3#4#5 ; #6 @
+\cs_new:Npn \__fp_randint_auxv_o:w #1#2#3#4#5 \__fp_sep: #6 @
{
\exp_after:wN \__fp_sanitize:Nw
\int_value:w
@@ -21309,7 +21562,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_reverse_args:Nww
\fi:
\exp_after:wN \__fp_fixed_sub:wwn \c__fp_one_fixed_tl
- {#1} {#2} {#3} {#4} {0000} {0000} ;
+ {#1} {#2} {#3} {#4} {0000} {0000} \__fp_sep:
{
\exp_after:wN \exp_stop_f:
\int_value:w \__fp_int_eval:w \c__fp_prec_int
@@ -21323,16 +21576,16 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_eval:n
{
\exp_after:wN \__fp_randint:ww
- \int_value:w \int_eval:n {#1} \exp_after:wN ;
- \int_value:w \int_eval:n {#2} ;
+ \int_value:w \int_eval:n {#1} \exp_after:wN \__fp_sep:
+ \int_value:w \int_eval:n {#2} \__fp_sep:
}
}
-\cs_new:Npn \__fp_randint:ww #1; #2;
+\cs_new:Npn \__fp_randint:ww #1\__fp_sep: #2\__fp_sep:
{
\if_int_compare:w #1 > #2 \exp_stop_f:
\msg_expandable_error:nnnn
{ kernel } { randint-backward-range } {#1} {#2}
- \__fp_randint:ww #2; #1;
+ \__fp_randint:ww #2\__fp_sep: #1\__fp_sep:
\else:
\if_int_compare:w \__fp_int_eval:w #2
\if_int_compare:w #1 > \c_zero_int
@@ -21356,46 +21609,49 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_randint_wide_aux:w
\int_value:w
\exp_after:wN \__fp_randint_split_o:Nw
- \tex_uniformdeviate:D 268435456 ;
+ \tex_uniformdeviate:D 268435456 \__fp_sep:
\int_value:w
\exp_after:wN \__fp_randint_split_o:Nw
- \tex_uniformdeviate:D 268435456 ;
+ \tex_uniformdeviate:D 268435456 \__fp_sep:
\int_value:w
\exp_after:wN \__fp_randint_split_o:Nw
\int_value:w \__fp_int_eval:w 131072 +
\exp_after:wN \__fp_randint_split_o:Nw
\int_value:w
- \__kernel_int_add:nnn {#2} { -#1 } { -\c_max_int } ;
+ \__kernel_int_add:nnn {#2} { -#1 } { -\c_max_int } \__fp_sep:
.
}
-\cs_new:Npn \__fp_randint_split_o:Nw #1#2 ;
+\cs_new:Npn \__fp_randint_split_o:Nw #1#2 \__fp_sep:
{
\if_meaning:w 0 #1
- 0 \exp_after:wN ; \int_value:w 0
+ 0 \exp_after:wN \__fp_sep: \int_value:w 0
\else:
\exp_after:wN \__fp_randint_split_aux:w
- \int_value:w \__fp_int_eval:w (#1#2 - 8192) / 16384 ;
+ \int_value:w \__fp_int_eval:w (#1#2 - 8192) / 16384 \__fp_sep:
+ #1#2
\fi:
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
}
-\cs_new:Npn \__fp_randint_split_aux:w #1 ;
+\cs_new:Npn \__fp_randint_split_aux:w #1 \__fp_sep:
{
- #1 \exp_after:wN ;
+ #1 \exp_after:wN \__fp_sep:
\int_value:w \__fp_int_eval:w - #1 * 16384
}
-\cs_new:Npn \__fp_randint_wide_aux:w #1;#2; #3;#4; #5;#6;#7; .
+\cs_new:Npn \__fp_randint_wide_aux:w
+ #1\__fp_sep:#2\__fp_sep: #3\__fp_sep:#4\__fp_sep:
+ #5\__fp_sep:#6\__fp_sep:#7\__fp_sep: .
{
\exp_after:wN \__fp_randint_wide_auxii:w
\int_value:w \__fp_int_eval:w #5 * #3 + #6 * #1 +
(#5 * #4 + #6 * #3 + #7 * #1 +
(#5 * #2 + #7 * #3 +
(16384 * #6 + #7) * (16384 * #4 + #2) / 268435456) / 16384
- ) / 16384 \exp_after:wN ;
- \int_value:w \__fp_int_eval:w (#5 + #6) * 16384 + #7 ;
- #1 ; #5 ;
+ ) / 16384 \exp_after:wN \__fp_sep:
+ \int_value:w \__fp_int_eval:w (#5 + #6) * 16384 + #7 \__fp_sep:
+ #1 \__fp_sep: #5 \__fp_sep:
}
-\cs_new:Npn \__fp_randint_wide_auxii:w #1; #2; #3; #4;
+\cs_new:Npn \__fp_randint_wide_auxii:w
+ #1\__fp_sep: #2\__fp_sep: #3\__fp_sep: #4\__fp_sep:
{
\if_int_odd:w 0
\if_int_compare:w #1 = #2 \else: \exp_stop_f: \fi:
@@ -21422,7 +21678,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\if_int_compare:w #1 < \c_one_int
\msg_expandable_error:nnnn
{ kernel } { randint-backward-range } { 1 } {#1}
- \__fp_randint:ww #1; 1;
+ \__fp_randint:ww #1\__fp_sep: 1\__fp_sep:
\else:
\if_int_compare:w #1 > \c__kernel_randint_max_int
\__kernel_randint:nn { 1 } {#1}
@@ -21470,7 +21726,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_last_unbraced:Nf \__fp_types_binary_auxi:Nww
{ \__fp_types_cs_to_op:N #1 }
}
-\cs_new:Npn \__fp_types_binary_auxi:Nww #1#2#3; #4#5; @
+\cs_new:Npn \__fp_types_binary_auxi:Nww #1#2#3\__fp_sep: #4#5\__fp_sep: @
{
\exp_after:wN \__fp_types_binary_auxii:NNww
\cs:w
@@ -21480,7 +21736,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_type_from_scan:N #4
_o:ww
\cs_end:
- #1 #2#3; #4#5;
+ #1 #2#3\__fp_sep: #4#5\__fp_sep:
}
\cs_new:Npn \__fp_types_binary_auxii:NNww #1#2
{
@@ -21491,12 +21747,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
%% File l3fp-symbolic.dtx (C) Copyright 2012-2015,2017,2018,2020,2021,2023 The LaTeX Project
\fp_new:N \l__fp_symbolic_fp
\scan_new:N \s__fp_symbolic
-\cs_new_protected:Npn \__fp_symbolic_chk:w #1,#2#3;
+\cs_new_protected:Npn \__fp_symbolic_chk:w #1,#2#3\__fp_sep:
{
\msg_error:nne { fp } { misused-fp }
{
\__fp_to_tl_dispatch:w
- \s__fp_symbolic \__fp_symbolic_chk:w #1,{#2};
+ \s__fp_symbolic \__fp_symbolic_chk:w #1,{#2}\__fp_sep:
}
}
\cs_new:Npn \__fp_if_has_symbolic:nTF #1
@@ -21509,7 +21765,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__fp_if_has_symbolic_aux:w
#1 \s__fp_symbolic #2 \s__fp_mark #3#4 \s__fp_stop { #3 }
\cs_new:Npn \__fp_exp_after_symbolic_f:nw
- #1 \s__fp_symbolic \__fp_symbolic_chk:w #2, #3#4;
+ #1 \s__fp_symbolic \__fp_symbolic_chk:w #2, #3#4\__fp_sep:
{
\exp_after:wN \__fp_exp_after_symbolic_aux:w
\exp:w
@@ -21521,13 +21777,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_exp_after_array_f:w #3 \s__fp_expr_stop
\exp_after:wN
}
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
\exp:w \exp_end_continue_f:w #1
}
-\cs_new:Npn \__fp_exp_after_symbolic_aux:w #1, #2;
+\cs_new:Npn \__fp_exp_after_symbolic_aux:w #1, #2\__fp_sep:
{
\__fp_if_has_symbolic:nTF {#2}
- { \s__fp_symbolic \__fp_symbolic_chk:w #1, {#2} ; }
+ { \s__fp_symbolic \__fp_symbolic_chk:w #1, {#2} \__fp_sep: }
{ #1 #2 @ \prg_do_nothing: }
}
\cs_new:Npn \__fp_exp_after_symbolic_loop:N #1
@@ -21537,11 +21793,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp:w
\__fp_exp_after_symbolic_loop:N
}
-\cs_new:Npn \__fp_symbolic_binary_o:Nww #1 #2; #3;
+\cs_new:Npn \__fp_symbolic_binary_o:Nww #1 #2\__fp_sep: #3\__fp_sep:
{
\__fp_exp_after_symbolic_f:nw { \exp_after:wN \exp_stop_f: }
\s__fp_symbolic \__fp_symbolic_chk:w
- \__fp_types_binary:Nww #1 , { #2; #3; } ;
+ \__fp_types_binary:Nww #1 , { #2\__fp_sep: #3\__fp_sep: } \__fp_sep:
}
\cs_set_protected:Npn \__fp_tmp:w #1#2
{
@@ -21557,11 +21813,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\tl_map_inline:nn { + - * / ^ & | }
{ \exp_args:Nc \__fp_tmp:w { __fp_#1_o:ww } {#1} }
-\cs_new:Npn \__fp_symbolic_unary_o:NNw #1#2#3; @
+\cs_new:Npn \__fp_symbolic_unary_o:NNw #1#2#3\__fp_sep: @
{
\__fp_exp_after_symbolic_f:nw { \exp_after:wN \exp_stop_f: }
\s__fp_symbolic \__fp_symbolic_chk:w
- \__fp_types_unary:NNw #1#2 , { #3; } ;
+ \__fp_types_unary:NNw #1#2 , { #3\__fp_sep: } \__fp_sep:
}
\tl_map_inline:nn
{
@@ -21587,11 +21843,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_tmp:w { decimal } { 0 } \__fp_to_decimal_dispatch:w
\__fp_tmp:w { int } { 0 } \__fp_to_int_dispatch:w
\__fp_tmp:w { scientific } { nan } \__fp_to_scientific_dispatch:w
-\cs_new:Npn \__fp_symbolic_convert:wnnN #1#2; #3#4#5
+\cs_new:Npn \__fp_symbolic_convert:wnnN #1#2\__fp_sep: #3#4#5
{
\str_if_eq:nnTF {#1} { \s__fp_symbolic }
- { \__fp_invalid_operation:nnw {#3} {#4} #1#2; }
- { #5 #1#2; }
+ { \__fp_invalid_operation:nnw {#3} {#4} #1#2\__fp_sep: }
+ { #5 #1#2\__fp_sep: }
}
\cs_new:Npn \__fp_symbolic_cs_arg_to_fn:NN #1
{
@@ -21612,7 +21868,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
\cs_new:Npn \__fp_symbolic_to_tl:w
- \s__fp_symbolic \__fp_symbolic_chk:w #1#2, #3#4;
+ \s__fp_symbolic \__fp_symbolic_chk:w #1#2, #3#4\__fp_sep:
{
\str_case:nnTF {#1}
{
@@ -21631,13 +21887,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
( \__fp_to_tl_dispatch:w #3 )
}
}
-\cs_new:Npn \__fp_symbolic_binary_to_tl:Nww #1, #2; #3; @
+\cs_new:Npn \__fp_symbolic_binary_to_tl:Nww #1, #2\__fp_sep: #3\__fp_sep: @
{
\use:e
{
- ( \__fp_to_tl_dispatch:w #2; )
+ ( \__fp_to_tl_dispatch:w #2\__fp_sep: )
\__fp_types_cs_to_op:N #1
- ( \__fp_to_tl_dispatch:w #3; )
+ ( \__fp_to_tl_dispatch:w #3\__fp_sep: )
}
}
\cs_new:Npn \__fp_symbolic_function_to_tl:Nw #1, #2@
@@ -21685,7 +21941,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\token_if_eq_meaning:NNTF #2 \prg_do_nothing:
{
\s__fp_symbolic \__fp_symbolic_chk:w
- \__fp_variable_o:w #1 , { } ;
+ \__fp_variable_o:w #1 , { } \__fp_sep:
}
{
\exp_after:wN \s__fp_symbolic
@@ -21695,7 +21951,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_exp_after_symbolic_loop:N #1
{ , \exp:w \use_none:nn }
\exp_after:wN \exp_end:
- \exp_after:wN { \exp_after:wN } \exp_after:wN ;
+ \exp_after:wN { \exp_after:wN } \exp_after:wN \__fp_sep:
#2
}
}
@@ -21706,7 +21962,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\__fp_exp_after_symbolic_f:nw { \__fp_parse_infix:NN }
\s__fp_symbolic \__fp_symbolic_chk:w
- \__fp_variable_o:w #2 , { } ;
+ \__fp_variable_o:w #2 , { } \__fp_sep:
}
\exp_args:NNc \__fp_variable_set_parsing_aux:NNn #1
{ __fp_parse_word_#2:N } {#2}
@@ -21871,7 +22127,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_exp_after_array_f:w #2 \s__fp_expr_stop
\exp_after:wN
}
- \exp_after:wN ;
+ \exp_after:wN \__fp_sep:
}
}
\int_new:N \l__fp_function_arg_int
@@ -21903,7 +22159,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_not:N \__fp_symbolic_chk:w
\exp_not:N \__fp_function_arg_o:w
\int_use:N \l__fp_function_arg_int
- ########1 , { } ;
+ ########1 , { } \__fp_sep:
}
}
\cs_set:Npn \__fp_function_arg_o:w ##1 @
@@ -21915,7 +22171,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__fp_exp_after_symbolic_loop:N ##1
{ , \tex_romannumeral:D \use_none:nn }
\exp_after:wN \c_zero_int
- \exp_after:wN { \exp_after:wN } \exp_after:wN ;
+ \exp_after:wN { \exp_after:wN } \exp_after:wN \__fp_sep:
}
\fp_set:Nn \l__fp_symbolic_fp {#4}
\use:e
@@ -21952,9 +22208,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
#2
}
\cs_new:Npn \__fp_function_arg_few:w #1 @ { \exp_after:wN \c_nan_fp }
-\cs_new:Npn \__fp_function_arg_get:w #1#2#3; #4 @
+\cs_new:Npn \__fp_function_arg_get:w #1#2#3\__fp_sep: #4 @
{
- \__fp_exp_after_array_f:w #3; \s__fp_expr_stop
+ \__fp_exp_after_array_f:w #3\__fp_sep: \s__fp_expr_stop
\exp_after:wN \exp_stop_f:
}
\cs_new_protected:Npn \fp_clear_function:n #1
@@ -22029,25 +22285,25 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_array_gset:NNNNww
\exp_after:wN #1
\exp_after:wN #1
- \int_value:w \int_eval:n {#2} \exp_after:wN ;
+ \int_value:w \int_eval:n {#2} \exp_after:wN \__fp_sep:
\exp:w \exp_end_continue_f:w \__fp_parse:n {#3}
}
\cs_generate_variant:Nn \fparray_gset:Nnn { c }
-\cs_new_protected:Npn \__fp_array_gset:NNNNww #1#2#3#4#5 ; #6 ;
+\cs_new_protected:Npn \__fp_array_gset:NNNNww #1#2#3#4#5 \__fp_sep: #6 \__fp_sep:
{
\__fp_array_bounds:NNnTF \msg_error:nneee #4 {#5}
{
\exp_after:wN \__fp_change_func_type:NNN
- \__fp_use_i_until_s:nw #6 ;
+ \__fp_use_i_until_s:nw #6 \__fp_sep:
\__fp_array_gset:w
\__fp_array_gset_recover:Nw
- #6 ; {#5} #1 #2 #3
+ #6 \__fp_sep: {#5} #1 #2 #3
}
{ }
}
-\cs_new_protected:Npn \__fp_array_gset_recover:Nw #1#2 ;
+\cs_new_protected:Npn \__fp_array_gset_recover:Nw #1#2 \__fp_sep:
{
- \__fp_error:nffn { unknown-type } { \tl_to_str:n { #2 ; } } { } { }
+ \__fp_error:nffn { unknown-type } { \tl_to_str:n { #2 \__fp_sep: } } { } { }
\exp_after:wN #1 \c_nan_fp
}
\cs_new_protected:Npn \__fp_array_gset:w \s__fp \__fp_chk:w #1#2
@@ -22061,7 +22317,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\s__fp \__fp_chk:w #1 #2
}
\cs_new_protected:Npn \__fp_array_gset_normal:w
- \s__fp \__fp_chk:w 1 #1 #2 #3#4#5 ; #6#7#8#9
+ \s__fp \__fp_chk:w 1 #1 #2 #3#4#5 \__fp_sep: #6#7#8#9
{
\__kernel_intarray_gset:Nnn #7 {#6} {#2}
\__kernel_intarray_gset:Nnn #8 {#6}
@@ -22091,7 +22347,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\exp_after:wN \__fp_array_item:NwN
\exp_after:wN #1
- \int_value:w \int_eval:n {#2} ;
+ \int_value:w \int_eval:n {#2} \__fp_sep:
\__fp_to_decimal:w
}
\cs_generate_variant:Nn \fparray_item:Nn { c }
@@ -22099,11 +22355,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\exp_after:wN \__fp_array_item:NwN
\exp_after:wN #1
- \int_value:w \int_eval:n {#2} ;
+ \int_value:w \int_eval:n {#2} \__fp_sep:
\__fp_to_tl:w
}
\cs_generate_variant:Nn \fparray_item_to_tl:Nn { c }
-\cs_new:Npn \__fp_array_item:NwN #1#2 ; #3
+\cs_new:Npn \__fp_array_item:NwN #1#2 \__fp_sep: #3
{
\__fp_array_bounds:NNnTF \msg_expandable_error:nnfff #1 {#2}
{ \exp_after:wN \__fp_array_item:NNNnN #1 {#2} #3 }
@@ -22112,22 +22368,22 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__fp_array_item:NNNnN #1#2#3#4
{
\exp_after:wN \__fp_array_item:N
- \int_value:w \__kernel_intarray_item:Nn #2 {#4} \exp_after:wN ;
- \int_value:w \__kernel_intarray_item:Nn #3 {#4} \exp_after:wN ;
- \int_value:w \__kernel_intarray_item:Nn #1 {#4} ;
+ \int_value:w \__kernel_intarray_item:Nn #2 {#4} \exp_after:wN \__fp_sep:
+ \int_value:w \__kernel_intarray_item:Nn #3 {#4} \exp_after:wN \__fp_sep:
+ \int_value:w \__kernel_intarray_item:Nn #1 {#4} \__fp_sep:
}
\cs_new:Npn \__fp_array_item:N #1
{
\if_meaning:w 0 #1 \exp_after:wN \__fp_array_item_special:w \fi:
\__fp_array_item:w #1
}
-\cs_new:Npn \__fp_array_item:w #1 #2#3#4#5 #6 ; 1 #7 ;
+\cs_new:Npn \__fp_array_item:w #1 #2#3#4#5 #6 \__fp_sep: 1 #7 \__fp_sep:
{
\exp_after:wN \__fp_array_item_normal:w
\int_value:w \if_meaning:w #1 1 0 \else: 2 \fi: \exp_stop_f:
- #7 ; {#2#3#4#5} {#6} ;
+ #7 \__fp_sep: {#2#3#4#5} {#6} \__fp_sep:
}
-\cs_new:Npn \__fp_array_item_special:w #1 ; #2 ; #3 ; #4
+\cs_new:Npn \__fp_array_item_special:w #1 \__fp_sep: #2 \__fp_sep: #3 \__fp_sep: #4
{
\exp_after:wN #4
\exp:w \exp_end_continue_f:w
@@ -22139,8 +22395,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else: \exp_after:wN \c_minus_inf_fp
\fi:
}
-\cs_new:Npn \__fp_array_item_normal:w #1 #2#3#4#5 #6 ; #7 ; #8 ; #9
- { #9 \s__fp \__fp_chk:w 1 #1 {#8} #7 {#2#3#4#5} {#6} ; }
+\cs_new:Npn \__fp_array_item_normal:w
+ #1 #2#3#4#5 #6 \__fp_sep: #7 \__fp_sep: #8 \__fp_sep: #9
+ { #9 \s__fp \__fp_chk:w 1 #1 {#8} #7 {#2#3#4#5} {#6} \__fp_sep: }
\prg_new_eq_conditional:NNn \fparray_if_exist:N \cs_if_exist:N
{ TF , T , F , p }
\prg_new_eq_conditional:NNn \fparray_if_exist:c \cs_if_exist:c
@@ -22288,6 +22545,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_generate_variant:Nn \bitset_to_arabic:N { c }
\cs_generate_variant:Nn \bitset_to_bin:N { c }
+\cs_new_eq:NN \bitset_use:N \tl_use:N
+\cs_generate_variant:Nn \bitset_use:N { c }
\cs_new:Npn \bitset_item:Nn #1#2
{
\prop_if_in:cnTF { g__bitset_ \cs_to_str:N #1 _name_prop } {#2}
@@ -22670,8 +22929,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\group_begin:
\int_set:Nn \tex_endlinechar:D { 32 }
\char_set_catcode_invalid:n { 0 }
- \bool_lazy_or:nnTF
- { \sys_if_engine_xetex_p: } { \sys_if_engine_luatex_p: }
+ \sys_if_engine_opentype:TF
{ \int_step_function:nN { 31 } \char_set_catcode_invalid:n }
{ \int_step_function:nN { 31 } \char_set_catcode_active:n }
\int_step_function:nnN { 33 } { 64 } \char_set_catcode_other:n
@@ -22696,8 +22954,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\char_set_catcode_group_end:n { 125 } % right brace
\char_set_catcode_space:n { 126 } % tilde
\char_set_catcode_invalid:n { 127 } % ^^?
- \bool_lazy_or:nnF
- { \sys_if_engine_xetex_p: } { \sys_if_engine_luatex_p: }
+ \sys_if_engine_opentype:F
{ \int_step_function:nnN { 128 } { 255 } \char_set_catcode_active:n }
\__cctab_gset:n { \c_code_cctab }
\group_end:
@@ -24476,9 +24733,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_args:Ne \tl_to_str:n
{ \str_map_function:nN {#1} \__str_convert_pdfname:n }
}
-\bool_lazy_or:nnTF
- { \sys_if_engine_luatex_p: }
- { \sys_if_engine_xetex_p: }
+\sys_if_engine_opentype:TF
{
\cs_new:Npn \__str_convert_pdfname:n #1
{
@@ -24885,27 +25140,30 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__tl_analysis_map:NwNw #1
}
\cs_new_protected:Npn \tl_analysis_show:N
- { \__tl_analysis_show:NNN \msg_show:nneeee \tl_show:N }
+ { \__tl_analysis_show:NNnnN \msg_show:nneeee \tl_show:N {} {} }
\cs_new_protected:Npn \tl_analysis_log:N
- { \__tl_analysis_show:NNN \msg_log:nneeee \tl_log:N }
-\cs_new_protected:Npn \__tl_analysis_show:NNN #1#2#3
{
- \tl_if_exist:NTF #3
+ \__tl_analysis_show:NNnnN \msg_log:nneeee \tl_log:N
+ { \iow_newline: >~ . } { . }
+ }
+\cs_new_protected:Npn \__tl_analysis_show:NNnnN #1#2#3#4#5
+ {
+ \tl_if_exist:NTF #5
{
- \exp_args:No \__tl_analysis:n {#3}
+ \exp_args:No \__tl_analysis:n {#5}
#1 { tl } { show-analysis }
- { \token_to_str:N #3 } { \__tl_analysis_show: } { } { }
+ { \token_to_str:N #5 } { \__tl_analysis_show: } {#3} {#4}
}
{ #2 #3 }
}
\cs_new_protected:Npn \tl_analysis_show:n
- { \__tl_analysis_show:Nn \msg_show:nneeee }
+ { \__tl_analysis_show:Nnnn \msg_show:nneeee {} {} }
\cs_new_protected:Npn \tl_analysis_log:n
- { \__tl_analysis_show:Nn \msg_log:nneeee }
-\cs_new_protected:Npn \__tl_analysis_show:Nn #1#2
+ { \__tl_analysis_show:Nnnn \msg_log:nneeee { \iow_newline: >~ . } { . } }
+\cs_new_protected:Npn \__tl_analysis_show:Nnnn #1#2#3#4
{
- \__tl_analysis:n {#2}
- #1 { tl } { show-analysis } { } { \__tl_analysis_show: } { } { }
+ \__tl_analysis:n {#4}
+ #1 { tl } { show-analysis } { } { \__tl_analysis_show: } {#2} {#3}
}
\cs_new:Npn \__tl_analysis_show:
{
@@ -25238,8 +25496,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
The~token~list~ \tl_if_empty:nF {#1} { #1 ~ }
\tl_if_empty:nTF {#2}
- { is~empty }
- { contains~the~tokens: #2 }
+ { is~empty #3 }
+ { contains~the~tokens: #2 #4 }
}
%% File: l3regex.dtx
\cs_new_eq:NN \__regex_int_eval:w \tex_numexpr:D
@@ -30570,11 +30828,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new_protected:Npn \color_select:nn #1#2
{
- \__color_select_main:Nw \l__color_current_tl
- #1 / / \s__color_mark #2 / / \s__color_stop
+ \__color_select_main:Nnn \l__color_current_tl {#1} {#2}
\__color_finalise_current:
\__color_select:N \l__color_current_tl
}
+\cs_new_protected:Npn \__color_select_main:Nnn #1#2#3
+ {
+ \use:e
+ {
+ \exp_not:N \__color_select_main:Nw \exp_not:N #1
+ \exp_not:n {#2} / / \exp_not:N \s__color_mark
+ #3 / / \exp_not:N \s__color_stop
+ }
+ }
\cs_new_protected:Npn \__color_select_main:Nw
#1 #2 / #3 / #4 \s__color_mark #5 / #6 / #7 \s__color_stop
{
@@ -30621,10 +30887,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \color_math:nnn #1#2#3
{
\__color_math:nn {#3}
- {
- \__color_select_main:Nw \l__color_current_tl
- #1 / / \s__color_mark #2 / / \s__color_stop
- }
+ { \__color_select_main:Nnn \l__color_current_tl {#1} {#2} }
}
\cs_new_protected:Npn \__color_math:nn #1#2
{
@@ -30722,14 +30985,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new_protected:Npn \color_fill:nn #1#2
{
- \__color_select_main:Nw \l__color_current_tl
- #1 / / \s__color_mark #2 / / \s__color_stop
+ \__color_select_main:Nnn \l__color_current_tl {#1} {#2}
\exp_after:wN \__color_draw:nnn \l__color_current_tl { fill }
}
\cs_new_protected:Npn \color_stroke:nn #1#2
{
- \__color_select_main:Nw \l__color_current_tl
- #1 / / \s__color_mark #2 / / \s__color_stop
+ \__color_select_main:Nnn \l__color_current_tl {#1} {#2}
\exp_after:wN \__color_draw:nnn \l__color_current_tl { stroke }
}
\cs_new_protected:Npn \__color_draw:nnn #1#2#3
@@ -30858,6 +31119,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prop_new:c { l__color_named_._prop }
\tl_new:c { l__color_named_._tl }
\tl_set:ce { l__color_named_._tl } { \__color_model:N \l__color_current_tl }
+\prop_put:cve { l__color_named_._prop } { l__color_named_._tl }
+ { \__color_values:N \l__color_current_tl }
\cs_new_protected:Npn \color_export:nnN #1#2#3
{
\group_begin:
@@ -30870,8 +31133,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new_protected:Npn \color_export:nnnN #1#2#3#4
{
- \__color_select_main:Nw #4
- #1 / / \s__color_mark #2 / / \s__color_stop
+ \__color_select_main:Nnn #4 {#1} {#2}
\__color_export:nN {#3} #4
}
\cs_new_protected:Npn \__color_export:nN #1#2
@@ -32264,7 +32526,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \vcoffin_gset_end: { }
\cs_new_protected:Npn \coffin_set_eq:NN #1#2
{
- \__coffin_if_exist:NT #1
+ \__coffin_if_exist:NT #2
{
\box_set_eq:NN #1 #2
\prop_set_eq:cc { coffin ~ \__coffin_to_value:N #1 ~ corners }
@@ -32276,7 +32538,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_generate_variant:Nn \coffin_set_eq:NN { c , Nc , cc }
\cs_new_protected:Npn \coffin_gset_eq:NN #1#2
{
- \__coffin_if_exist:NT #1
+ \__coffin_if_exist:NT #2
{
\box_gset_eq:NN #1 #2
\prop_gset_eq:cc { coffin ~ \__coffin_to_value:N #1 ~ corners }
@@ -32297,6 +32559,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_eq:NN \coffin_dp:c \box_dp:c
\cs_new_eq:NN \coffin_ht:N \box_ht:N
\cs_new_eq:NN \coffin_ht:c \box_ht:c
+\cs_new_eq:NN \coffin_ht_plus_dp:N \box_ht_plus_dp:N
+\cs_new_eq:NN \coffin_ht_plus_dp:c \box_ht_plus_dp:c
\cs_new_eq:NN \coffin_wd:N \box_wd:N
\cs_new_eq:NN \coffin_wd:c \box_wd:c
\cs_new_protected:Npn \__coffin_get_pole:NnN #1#2#3
@@ -33361,9 +33625,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prop_gput:Nnn \g_msg_module_name_prop { luatex } { LaTeX }
\prop_gput:Nnn \g_msg_module_type_prop { luatex } { }
%% File: l3unicode.dtx
-\bool_lazy_or:nnTF
- { \sys_if_engine_luatex_p: }
- { \sys_if_engine_xetex_p: }
+\sys_if_engine_opentype:TF
{
\cs_new:Npn \codepoint_str_generate:n #1
{
@@ -33541,9 +33803,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \exp_args:Ne \__codepoint_to_nfd:n { \int_eval:n {#1} } }
\cs_new:Npn \__codepoint_to_nfd:n #1
{ \__codepoint_to_nfd:nn {#1} { \char_value_catcode:n {#1} } }
-\bool_lazy_or:nnF
- { \sys_if_engine_luatex_p: }
- { \sys_if_engine_xetex_p: }
+\sys_if_engine_opentype:F
{
\cs_gset:Npn \__codepoint_to_nfd:n #1
{
@@ -34131,9 +34391,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
{ \prg_return_false: }
}
-\bool_lazy_or:nnTF
- { \sys_if_engine_luatex_p: }
- { \sys_if_engine_xetex_p: }
+\sys_if_engine_opentype:TF
{
\cs_new:Npn \__text_codepoint_process:nN #1#2 { #1 {#2} }
}
@@ -34171,9 +34429,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__text_codepoint_process:nNNNN #1#2#3#4#5
{ #1 {#2#3#4#5} }
}
-\bool_lazy_or:nnTF
- { \sys_if_engine_luatex_p: }
- { \sys_if_engine_xetex_p: }
+\sys_if_engine_opentype:TF
{
\prg_new_conditional:Npnn
\__text_codepoint_compare:nNn #1#2#3 { TF , p }
@@ -35165,9 +35421,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
}
-\bool_lazy_or:nnTF
- { \sys_if_engine_luatex_p: }
- { \sys_if_engine_xetex_p: }
+\sys_if_engine_opentype:TF
{
\cs_new:Npn \__text_change_case_catcode:nn #1#2
{ \__text_char_catcode:N #1 }
@@ -36281,9 +36535,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
}
-\bool_lazy_or:nnF
- { \sys_if_engine_luatex_p: }
- { \sys_if_engine_xetex_p: }
+\sys_if_engine_opentype:F
{
\text_declare_uppercase_mapping:nn { "01F0 } { \v { J } }
}