diff options
author | Karl Berry <karl@freefriends.org> | 2021-06-12 21:13:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-06-12 21:13:46 +0000 |
commit | 02f0ed6606343f8a2ba496ea151952735a9f0189 (patch) | |
tree | a574013a01400e2bb1ca521fbe7267d0f2f9a317 /Master/texmf-dist/tex | |
parent | ae3bb8bde6eb63119eac5deaf3f94d95b8f689dc (diff) |
xint (12jun21)
git-svn-id: svn://tug.org/texlive/trunk@59565 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xint.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintbinhex.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintcfrac.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintcore.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintexpr.sty | 240 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintfrac.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintgcd.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintkernel.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintlog.sty | 6 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintseries.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xinttools.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xinttrig.sty | 6 |
12 files changed, 184 insertions, 104 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty index 63f05c06767..e200b4a03f5 100644 --- a/Master/texmf-dist/tex/generic/xint/xint.sty +++ b/Master/texmf-dist/tex/generic/xint/xint.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4h 2021/05/27 +%% The xint bundle 1.4i 2021/06/11 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xint: Expandable operations on big integers %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty (loaded by xintcore.sty) \XINT_providespackage \ProvidesPackage{xint}% - [2021/05/27 v1.4h Expandable operations on big integers (JFB)]% + [2021/06/11 v1.4i Expandable operations on big integers (JFB)]% \long\def\xint_firstofthree #1#2#3{#1}% \long\def\xint_secondofthree #1#2#3{#2}% \long\def\xint_thirdofthree #1#2#3{#3}% diff --git a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty index 48afdc11baf..7a533988971 100644 --- a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty +++ b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4h 2021/05/27 +%% The xint bundle 1.4i 2021/06/11 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xintbinhex: Expandable binary and hexadecimal conversions %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintbinhex}% - [2021/05/27 v1.4h Expandable binary and hexadecimal conversions (JFB)]% + [2021/06/11 v1.4i Expandable binary and hexadecimal conversions (JFB)]% \newcount\xint_c_ii^xv \xint_c_ii^xv 32768 \newcount\xint_c_ii^xvi \xint_c_ii^xvi 65536 \def\XINT_tmpa #1{\ifx\relax#1\else diff --git a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty index de061db67dc..d22b77d4c57 100644 --- a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty +++ b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4h 2021/05/27 +%% The xint bundle 1.4i 2021/06/11 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xintcfrac: Expandable continued fractions with xint package %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintcfrac}% - [2021/05/27 v1.4h Expandable continued fractions with xint package (JFB)]% + [2021/06/11 v1.4i Expandable continued fractions with xint package (JFB)]% \def\xintCFrac {\romannumeral0\xintcfrac }% \def\xintcfrac #1% {% diff --git a/Master/texmf-dist/tex/generic/xint/xintcore.sty b/Master/texmf-dist/tex/generic/xint/xintcore.sty index ab8034d48dd..8319611b1d8 100644 --- a/Master/texmf-dist/tex/generic/xint/xintcore.sty +++ b/Master/texmf-dist/tex/generic/xint/xintcore.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4h 2021/05/27 +%% The xint bundle 1.4i 2021/06/11 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xintcore: Expandable arithmetic on big integers %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintcore}% - [2021/05/27 v1.4h Expandable arithmetic on big integers (JFB)]% + [2021/06/11 v1.4i Expandable arithmetic on big integers (JFB)]% \csname XINT_Clamped_istrapped\endcsname \csname XINT_ConversionSyntax_istrapped\endcsname \csname XINT_DivisionByZero_istrapped\endcsname diff --git a/Master/texmf-dist/tex/generic/xint/xintexpr.sty b/Master/texmf-dist/tex/generic/xint/xintexpr.sty index 8701d09e126..82f698d67ba 100644 --- a/Master/texmf-dist/tex/generic/xint/xintexpr.sty +++ b/Master/texmf-dist/tex/generic/xint/xintexpr.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4h 2021/05/27 +%% The xint bundle 1.4i 2021/06/11 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xintexpr: Expandable expression parser %% --------------------------------------------------------------- @@ -82,7 +82,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintexpr}% - [2021/05/27 v1.4h Expandable expression parser (JFB)]% + [2021/06/11 v1.4i Expandable expression parser (JFB)]% \catcode`! 11 \let\XINT_Cmp \xintiiCmp \def\XINTfstop{\noexpand\XINTfstop}% @@ -424,8 +424,38 @@ \let\XINT:NEhook:x:select:obey\empty \let\XINT:NEhook:x:listsel\empty \let\XINT:NEhook:f:reverse\empty -\def\XINT:NEhook:f:from:delim:u #1#2^{#1#2^}% -\def\XINT:NEhook:f:noeval:from:braced:u#1#2^{#1{#2}}% +\def\XINT:NEhook:f:from:delim:u #1#2^% +{% + \expandafter\XINT_fooof_checkifnumber\expandafter#1\string#2^% +}% +\def\XINT_fooof_checkifnumber#1#2% +{% + \expandafter#1% + \romannumeral0\expanded{\if ^#2^\else + \if\bgroup#2\noexpand\XINT_fooof_no\else + \noexpand\XINT_fooof_yes#2\fi\fi}% +}% +\def\XINT_fooof_yes#1^{{#1}^}% +\def\XINT_fooof_no{\expandafter{\iffalse}\fi}% +\def\XINT:NEhook:f:LFL #1{\expandafter#1\expandafter}% +\def\XINT:NEhook:r:check #1^% +{% + \expandafter\XINT:NEhook:r:check_a\string#1^% +}% +\let\XINT:NEsaved:r:check \XINT:NEhook:r:check +\def\XINT:NEhook:r:check_a #1% +{% + \if ^#1\xint_dothis\xint_c_\fi + \if\bgroup#1\xint_dothis\XINT:NEhook:r:check_no\fi + \xint_orthat{\XINT:NEhook:r:check_yes#1}% +}% +\def\XINT:NEhook:r:check_no +{% + \expandafter\XINT:NEhook:r:check_no_b + \expandafter\xint_c_\expandafter{\iffalse}\fi +}% +\def\XINT:NEhook:r:check_no_b#1^{#1}% +\def\XINT:NEhook:r:check_yes#1^{\xint_c_{#1}}% \let\XINT:NEhook:branch\expandafter \let\XINT:NEhook:seqx\empty \let\XINT:NEhook:iter\expandafter @@ -836,35 +866,36 @@ \def\XINT_tmpa #1#2#3{% \def #1##1% {% - \ifcsname XINT_#3_func_##1\endcsname - \csname XINT_#3_func_##1\expandafter\endcsname - \romannumeral`&&@\expandafter#2% - \else + \csname + XINT_\ifcsname XINT_#3_func_##1\endcsname + #3_func_##1\expandafter\endcsname\romannumeral`&&@\expandafter#2% + \romannumeral\else \ifcsname XINT_expr_onliteral_##1\endcsname - \csname XINT_expr_onliteral_##1\expandafter\expandafter\expandafter - \endcsname + expr_onliteral_##1\expandafter\endcsname\romannumeral \else - \csname XINT_#3_func_\XINT_expr_unknown_function {##1}% - \expandafter\endcsname - \romannumeral`&&@\expandafter\expandafter\expandafter#2% - \fi - \fi - }% + \ifcsname XINT_expr_var*_##1\endcsname + expr_var*_##1\expandafter\endcsname\romannumeral + \else + #3_func_\XINT_expr_unknown_function {##1}% + \expandafter\endcsname\romannumeral`&&@\expandafter#2% + \romannumeral + \fi\fi\fi\xint_c_ + }% }% -\def\XINT_expr_unknown_function #1% - {\XINT_expandableerror{`#1' is unknown, say `Isome_func' or I use 0.}}% -\def\XINT_expr_func_ #1#2#3{#1#2{{0}}}% -\let\XINT_flexpr_func_\XINT_expr_func_ -\let\XINT_iiexpr_func_\XINT_expr_func_ \xintFor #1 in {expr,flexpr,iiexpr} \do {% \expandafter\XINT_tmpa \csname XINT_#1_op_`\expandafter\endcsname \csname XINT_#1_oparen\endcsname {#1}% }% +\def\XINT_expr_unknown_function #1% + {\XINT_expandableerror{`#1' is unknown, say `Isome_func' or I use 0.}}% +\def\XINT_expr_func_ #1#2#3{#1#2{{0}}}% +\let\XINT_flexpr_func_\XINT_expr_func_ +\let\XINT_iiexpr_func_\XINT_expr_func_ \def\XINT_expr_op__ #1% op__ with two _'s {% - \ifcsname XINT_expr_onliteral_#1\endcsname + \ifcsname XINT_expr_var*_#1\endcsname \csname XINT_expr_var_#1\expandafter\endcsname \romannumeral`&&@\expandafter\XINT_expr_getop \else @@ -1899,11 +1930,11 @@ }% \def\XINT_expr_defvar_one_b #1% {% - \XINT_global - \expandafter\edef\csname XINT_expr_var_#1\endcsname + \XINT_global + \expandafter\edef\csname XINT_expr_var_#1\endcsname {{\expandafter\noexpand\csname XINT_expr_varvalue_#1\endcsname}}% \XINT_global - \expandafter\edef\csname XINT_expr_onliteral_#1\endcsname + \expandafter\edef\csname XINT_expr_var*_#1\endcsname {\XINT_expr_prec_tacit *\csname XINT_expr_var_#1\endcsname(}% \ifxintverbose\xintMessage{xintexpr}{Info} {Variable #1 \ifxintglobaldefs globally \fi @@ -1943,35 +1974,62 @@ \else \edef\XINT_defvar_tmpb{#1#2\relax}% \edef\XINT_defvar_tmpd{\expandafter\xintLength\expandafter{\XINT_defvar_tmpb}}% - \let\XINT_defvar_tmpe\empty - \if1\XINT_defvar_tmpd - \def\XINT_defvar_tmpe{unpacked }% + \ifnum\XINT_defvar_tmpd=\xint_c_i \oodef\XINT_defvar_tmpb{\expandafter\xint_firstofone\XINT_defvar_tmpb}% - \edef\XINT_defvar_tmpd{\expandafter\xintLength\expandafter{\XINT_defvar_tmpb}}% - \fi - \ifnum\XINT_defvar_tmpc=\XINT_defvar_tmpd\space - \xintAssignArray\xintCSVtoList\XINT_defvar_tmpa\to\XINT_defvar_tmpvar - \xintAssignArray\xintApply\XINT_embrace{\XINT_defvar_tmpb}\to\XINT_defvar_tmpval - \def\XINT_defvar_tmpd{1}% - \xintloop - \expandafter\XINT_expr_defvar_one - \csname XINT_defvar_tmpvar\XINT_defvar_tmpd\expandafter\endcsname - \csname XINT_defvar_tmpval\XINT_defvar_tmpd\endcsname - \ifnum\XINT_defvar_tmpd<\XINT_defvar_tmpc\space - \edef\XINT_defvar_tmpd{\the\numexpr\XINT_defvar_tmpd+1}% - \repeat - \xintRelaxArray\XINT_defvar_tmpvar - \xintRelaxArray\XINT_defvar_tmpval - \else - \xintMessage {xintexpr}{Error} - {Aborting: mismatch between number of variables (\XINT_defvar_tmpc) - and number of \XINT_defvar_tmpe values (\XINT_defvar_tmpd).}% + \if0\expandafter\expandafter\expandafter\XINT_defvar_checkifnutple + \expandafter\string\XINT_defvar_tmpb _\xint_bye + \odef\XINT_defvar_tmpb{\expandafter{\XINT_defvar_tmpb}}% + \else + \edef\XINT_defvar_tmpd{\expandafter\xintLength\expandafter{\XINT_defvar_tmpb}}% + \fi \fi + \xintAssignArray\xintCSVtoList\XINT_defvar_tmpa\to\XINT_defvar_tmpvar + \def\XINT_defvar_tmpe{1}% + \expandafter\XINT_expr_defvar_multiple\XINT_defvar_tmpb\relax + \fi +}% +\def\XINT_defvar_checkifnutple#1% +{% + \if#1_1\fi + \if#1\bgroup1\fi + 0\xint_bye +}% +\def\XINT_expr_defvar_multiple +{% + \ifnum\XINT_defvar_tmpe<\XINT_defvar_tmpc\space + \expandafter\XINT_expr_defvar_multiple_one + \else + \expandafter\XINT_expr_defvar_multiple_last\expandafter\empty + \fi +}% +\def\XINT_expr_defvar_multiple_one +{% + \ifnum\XINT_defvar_tmpe>\XINT_defvar_tmpd\space + \expandafter\XINT_expr_defvar_one + \csname XINT_defvar_tmpvar\XINT_defvar_tmpe\endcsname{}% + \edef\XINT_defvar_tmpe{\the\numexpr\XINT_defvar_tmpe+1}% + \expandafter\XINT_expr_defvar_multiple + \else + \expandafter\XINT_expr_defvar_multiple_one_a \fi +}% +\def\XINT_expr_defvar_multiple_one_a #1% +{% + \expandafter\XINT_expr_defvar_one + \csname XINT_defvar_tmpvar\XINT_defvar_tmpe\endcsname{{#1}}% + \edef\XINT_defvar_tmpe{\the\numexpr\XINT_defvar_tmpe+1}% + \XINT_expr_defvar_multiple +}% +\def\XINT_expr_defvar_multiple_last #1\relax +{% + \expandafter\XINT_expr_defvar_one + \csname XINT_defvar_tmpvar\XINT_defvar_tmpe\endcsname{#1}% + \xintRelaxArray\XINT_defvar_tmpvar \let\XINT_defvar_tmpa\empty \let\XINT_defvar_tmpb\empty \let\XINT_defvar_tmpc\empty \let\XINT_defvar_tmpd\empty + \let\XINT_defvar_tmpe\empty }% \catcode`~ 3 \catcode`: 11 @@ -1993,7 +2051,7 @@ \XINT_global\expandafter \let\csname XINT_expr_var_\XINT_unvar_tmpa\endcsname\xint_undefined \XINT_global\expandafter - \let\csname XINT_expr_onliteral_\XINT_unvar_tmpa\endcsname\xint_undefined + \let\csname XINT_expr_var*_\XINT_unvar_tmpa\endcsname\xint_undefined \ifxintverbose\xintMessage {xintexpr}{Info} {Variable \XINT_unvar_tmpa\space has been \ifxintglobaldefs globally \fi ``unassigned''.}% @@ -2013,10 +2071,10 @@ \expandafter\let\csname XINT_expr_var_\XINT_tmpa/old\expandafter\endcsname \csname XINT_expr_var_\XINT_tmpa\expandafter\endcsname \fi - \ifcsname XINT_expr_onliteral_\XINT_tmpa\endcsname + \ifcsname XINT_expr_var*_\XINT_tmpa\endcsname \XINT_global - \expandafter\let\csname XINT_expr_onliteral_\XINT_tmpa/old\expandafter\endcsname - \csname XINT_expr_onliteral_\XINT_tmpa\expandafter\endcsname + \expandafter\let\csname XINT_expr_var*_\XINT_tmpa/old\expandafter\endcsname + \csname XINT_expr_var*_\XINT_tmpa\expandafter\endcsname \fi \expandafter\XINT_global \expanded @@ -2026,7 +2084,7 @@ \expandafter\XINT_global \expanded {\edef\expandafter\noexpand - \csname XINT_expr_onliteral_\XINT_tmpa\endcsname ##1\relax !\XINT_tmpa##2}% + \csname XINT_expr_var*_\XINT_tmpa\endcsname ##1\relax !\XINT_tmpa##2}% {\XINT_expr_prec_tacit *{##2}(##1\relax !\XINT_tmpa{##2}}%) }% \xintApplyUnbraced \XINT_expr_makedummy {abcdefghijklmnopqrstuvwxyz}% @@ -2038,13 +2096,13 @@ \ifxintglobaldefs globally \fi usable as dummy variable.}% \fi }% -\def\XINT_expr_var_nil{{}}% -\def\XINT_expr_var_None{{{}}}% ? tentative -\def\XINT_expr_var_false{{{0}}}% Maple, TeX -\def\XINT_expr_var_true{{{1}}}% -\def\XINT_expr_var_False{{{0}}}% Python -\def\XINT_expr_var_True{{{1}}}% \catcode`* 12 +\XINT_expr_defvar_one{nil}{}% +\XINT_expr_defvar_one{None}{{}}% ? tentative +\XINT_expr_defvar_one{false}{{0}}% Maple, TeX +\XINT_expr_defvar_one{true}{{1}}% +\XINT_expr_defvar_one{False}{{0}}% Python +\XINT_expr_defvar_one{True}{{1}}% \def\xintensuredummy #1{% \XINT_expr_makedummy{#1}% \ifxintverbose\xintMessage {xintexpr}{Info}% @@ -2060,10 +2118,10 @@ \expandafter\let\csname XINT_expr_var_\XINT_tmpa\expandafter\endcsname \csname XINT_expr_var_\XINT_tmpa/old\expandafter\endcsname \fi - \ifcsname XINT_expr_onliteral_\XINT_tmpa/old\endcsname + \ifcsname XINT_expr_var*_\XINT_tmpa/old\endcsname \XINT_global - \expandafter\let\csname XINT_expr_onliteral_\XINT_tmpa\expandafter\endcsname - \csname XINT_expr_onliteral_\XINT_tmpa/old\expandafter\endcsname + \expandafter\let\csname XINT_expr_var*_\XINT_tmpa\expandafter\endcsname + \csname XINT_expr_var*_\XINT_tmpa/old\expandafter\endcsname \fi }% \def\xintrestorevariable #1{% @@ -2147,7 +2205,7 @@ \expandafter\let\csname XINT_expr_precedence_;)\endcsname\xint_c_i \catcode`* 11 \def\XINT_expr_var_@ #1~#2{{#2}#1~{#2}}% -\def\XINT_expr_onliteral_@ #1~#2{\XINT_expr_prec_tacit *{#2}(#1~{#2}}% +\def\XINT_expr_var*_@ #1~#2{\XINT_expr_prec_tacit *{#2}(#1~{#2}}% \expandafter \def\csname XINT_expr_var_@1\endcsname #1~#2{{{#2}}#1~{#2}}% \expandafter @@ -2156,13 +2214,13 @@ \def\csname XINT_expr_var_@3\endcsname #1~#2#3#4{{{#4}}#1~{#2}{#3}{#4}}% \expandafter \def\csname XINT_expr_var_@4\endcsname #1~#2#3#4#5{{{#5}}#1~{#2}{#3}{#4}{#5}}% -\expandafter\def\csname XINT_expr_onliteral_@1\endcsname #1~#2% +\expandafter\def\csname XINT_expr_var*_@1\endcsname #1~#2% {\XINT_expr_prec_tacit *{{#2}}(#1~{#2}}% -\expandafter\def\csname XINT_expr_onliteral_@2\endcsname #1~#2#3% +\expandafter\def\csname XINT_expr_var*_@2\endcsname #1~#2#3% {\XINT_expr_prec_tacit *{{#3}}(#1~{#2}{#3}}% -\expandafter\def\csname XINT_expr_onliteral_@3\endcsname #1~#2#3#4% +\expandafter\def\csname XINT_expr_var*_@3\endcsname #1~#2#3#4% {\XINT_expr_prec_tacit *{{#4}}(#1~{#2}{#3}{#4}}% -\expandafter\def\csname XINT_expr_onliteral_@4\endcsname #1~#2#3#4#5% +\expandafter\def\csname XINT_expr_var*_@4\endcsname #1~#2#3#4#5% {\XINT_expr_prec_tacit *{{#5}}(#1~{#2}{#3}{#4}{#5}}% \catcode`* 12 \catcode`? 3 @@ -3341,7 +3399,8 @@ \def\XINT_expr_func_len #1#2#3% {% \expandafter#1\expandafter#2\expandafter{\expandafter{% - \romannumeral`&&@\XINT:NEhook:f:noeval:from:braced:u\xintLength#3^% + \romannumeral`&&@\XINT:NEhook:f:LFL\xintLength + {\romannumeral\XINT:NEhook:r:check#3^}% }}% }% \let\XINT_flexpr_func_len \XINT_expr_func_len @@ -3349,7 +3408,8 @@ \def\XINT_expr_func_first #1#2#3% {% \expandafter #1\expandafter #2\expandafter{% - \romannumeral`&&@\XINT:NEhook:f:noeval:from:braced:u\xintFirstOne#3^% + \romannumeral`&&@\XINT:NEhook:f:LFL\xintFirstOne + {\romannumeral\XINT:NEhook:r:check#3^}% }% }% \let\XINT_flexpr_func_first\XINT_expr_func_first @@ -3357,7 +3417,8 @@ \def\XINT_expr_func_last #1#2#3% {% \expandafter #1\expandafter #2\expandafter{% - \romannumeral`&&@\XINT:NEhook:f:noeval:from:braced:u\xintLastOne#3^% + \romannumeral`&&@\XINT:NEhook:f:LFL\xintLastOne + {\romannumeral\XINT:NEhook:r:check#3^}% }% }% \let\XINT_flexpr_func_last\XINT_expr_func_last @@ -3872,25 +3933,43 @@ {% \if0\expandafter\XINT:NE:hastilde\detokenize{##2}~!\relax \expandafter\XINT:NE:hashash\detokenize{##2}#1!\relax 0% - \expandafter##1% + \xint_afterfi{\expandafter\XINT_fooof_checkifnumber\expandafter##1\string}% \else \xint_afterfi{\XINT:NE:f:from:delim:u:p##1\empty}% \fi ##2^% }}\expandafter\XINT:NE:f:from:delim:u\string#% \def\XINT:NE:f:from:delim:u:p #1#2^% - {\detokenize{\expandafter#1}~expanded{#2}$XINT_expr_caret}%$ -\def\XINT:NE:f:noeval:from:braced:u #1{% -\def\XINT:NE:f:noeval:from:braced:u ##1##2^% {% - \if0\XINT:NE:hastilde ##2~!\relax\XINT:NE:hashash ##2#1!\relax 0% + \detokenize{\expandafter\XINT:fooof:checkifnumber\expandafter#1}~expanded{#2}$XINT_expr_caret%$ +}% +\def\XINT:fooof:checkifnumber#1{\expandafter\XINT_fooof_checkifnumber\expandafter#1\string}% +\def\XINT:NE:f:LFL#1#2{\expandafter\XINT:NE:f:LFL_a\expandafter#1#2\XINT:NE:f:LFL_a}% +\def\XINT:NE:f:LFL_a#1#2% +{% + \if#2i\else\expandafter\XINT:NE:f:LFL_p + \fi #1% +}% +\def\XINT:NE:r:check#1{% +\def\XINT:NE:r:check##1\XINT:NE:f:LFL_a +{% + \if0\expandafter\XINT:NE:hastilde\detokenize{##1}~!\relax% + \expandafter\XINT:NE:hashash\detokenize{##1}#1!\relax 0% \else - \expandafter\XINT:NE:f:noeval:from:braced:u:p + \expandafter\XINT:NE:r:check:p \fi - ##1{##2}% -}}\expandafter\XINT:NE:f:noeval:from:braced:u\string#% -\def\XINT:NE:f:noeval:from:braced:u:p #1#2% - {\detokenize{\romannumeral`$XINT_expr_null\expandafter#1}~expanded{{#2}}}%$ + 1\expandafter{\romannumeral\XINT:NEsaved:r:check##1}% +}}\expandafter\XINT:NE:r:check\string#% +\def\XINT:NE:r:check:p 1\expandafter#1{\XINT:NE:r:check:p_i#1}% +\def\XINT:NE:r:check:p_i\romannumeral\XINT:NEsaved:r:check{\XINT:NE:r:check:p_ii\empty}% +\def\XINT:NE:r:check:p_ii#1^% +{% + 5~expanded{{~romannumeral~XINT:NEsaved:r:check#1$XINT_expr_caret}}%$ +}% +\def\XINT:NE:f:LFL_p#1% +{% + \detokenize{\romannumeral`$XINT_expr_null\expandafter#1}%$ +}% \catcode`- 11 \def\XINT:NE:exec_? #1#2% {% @@ -4266,7 +4345,8 @@ \let\XINT:NEhook:x:listsel \XINT:NE:x:listsel \let\XINT:NEhook:f:reverse \XINT:NE:f:reverse \let\XINT:NEhook:f:from:delim:u \XINT:NE:f:from:delim:u - \let\XINT:NEhook:f:noeval:from:braced:u\XINT:NE:f:noeval:from:braced:u + \let\XINT:NEhook:f:LFL \XINT:NE:f:LFL + \let\XINT:NEhook:r:check \XINT:NE:r:check \let\XINT:NEhook:branch \XINT:NE:branch \let\XINT:NEhook:seqx \XINT:NE:seqx \let\XINT:NEhook:opx \XINT:NE:opx diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty index ef5e0f838d3..e030a77b9ef 100644 --- a/Master/texmf-dist/tex/generic/xint/xintfrac.sty +++ b/Master/texmf-dist/tex/generic/xint/xintfrac.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4h 2021/05/27 +%% The xint bundle 1.4i 2021/06/11 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xintfrac: Expandable operations on fractions %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintfrac}% - [2021/05/27 v1.4h Expandable operations on fractions (JFB)]% + [2021/06/11 v1.4i Expandable operations on fractions (JFB)]% \def\XINT_cntSgnFork #1% {% \ifcase #1\expandafter\xint_secondofthree diff --git a/Master/texmf-dist/tex/generic/xint/xintgcd.sty b/Master/texmf-dist/tex/generic/xint/xintgcd.sty index cbe6f75f690..7080a202df4 100644 --- a/Master/texmf-dist/tex/generic/xint/xintgcd.sty +++ b/Master/texmf-dist/tex/generic/xint/xintgcd.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4h 2021/05/27 +%% The xint bundle 1.4i 2021/06/11 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xintgcd: Euclidean algorithm with xint package %% --------------------------------------------------------------- @@ -77,7 +77,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintgcd}% - [2021/05/27 v1.4h Euclide algorithm with xint package (JFB)]% + [2021/06/11 v1.4i Euclide algorithm with xint package (JFB)]% \def\xintBezout {\romannumeral0\xintbezout }% \def\xintbezout #1% {% diff --git a/Master/texmf-dist/tex/generic/xint/xintkernel.sty b/Master/texmf-dist/tex/generic/xint/xintkernel.sty index b6a6ff814e5..0f1bf0d3612 100644 --- a/Master/texmf-dist/tex/generic/xint/xintkernel.sty +++ b/Master/texmf-dist/tex/generic/xint/xintkernel.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4h 2021/05/27 +%% The xint bundle 1.4i 2021/06/11 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xintkernel: Paraphernalia for the xint packages %% --------------------------------------------------------------- @@ -159,7 +159,7 @@ \fi \XINT_providespackage \ProvidesPackage {xintkernel}% - [2021/05/27 v1.4h Paraphernalia for the xint packages (JFB)]% + [2021/06/11 v1.4i Paraphernalia for the xint packages (JFB)]% \chardef\xint_c_ 0 \chardef\xint_c_i 1 \chardef\xint_c_ii 2 diff --git a/Master/texmf-dist/tex/generic/xint/xintlog.sty b/Master/texmf-dist/tex/generic/xint/xintlog.sty index 59742fb90ff..244607b847d 100644 --- a/Master/texmf-dist/tex/generic/xint/xintlog.sty +++ b/Master/texmf-dist/tex/generic/xint/xintlog.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4h 2021/05/27 +%% The xint bundle 1.4i 2021/06/11 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xintlog: Logarithms and exponentials for xintexpr %% --------------------------------------------------------------- @@ -68,10 +68,10 @@ \expandafter\xint_secondoftwo \fi {\immediate\write-1{Reloading xintlog library using Digits=\xinttheDigits.}}% -{\expandafter\gdef\csname xintlibver@log\endcsname{2021/05/27 v1.4h}% +{\expandafter\gdef\csname xintlibver@log\endcsname{2021/06/11 v1.4i}% \XINT_providespackage \ProvidesPackage{xintlog}% -[2021/05/27 v1.4h Logarithms and exponentials for xintexpr (JFB)]% +[2021/06/11 v1.4i Logarithms and exponentials for xintexpr (JFB)]% }% \def\xintreloadxintlog{\input xintlog.sty }% \xintexprSafeCatcodes\catcode`_ 11 diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty index 634ef151ae7..9946eb3bcbe 100644 --- a/Master/texmf-dist/tex/generic/xint/xintseries.sty +++ b/Master/texmf-dist/tex/generic/xint/xintseries.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4h 2021/05/27 +%% The xint bundle 1.4i 2021/06/11 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xintseries: Expandable partial sums with xint package %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintseries}% - [2021/05/27 v1.4h Expandable partial sums with xint package (JFB)]% + [2021/06/11 v1.4i Expandable partial sums with xint package (JFB)]% \def\xintSeries {\romannumeral0\xintseries }% \def\xintseries #1#2% {% diff --git a/Master/texmf-dist/tex/generic/xint/xinttools.sty b/Master/texmf-dist/tex/generic/xint/xinttools.sty index 2bbe211c66f..0faa20b0440 100644 --- a/Master/texmf-dist/tex/generic/xint/xinttools.sty +++ b/Master/texmf-dist/tex/generic/xint/xinttools.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4h 2021/05/27 +%% The xint bundle 1.4i 2021/06/11 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xinttools: Expandable and non-expandable utilities %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xinttools}% - [2021/05/27 v1.4h Expandable and non-expandable utilities (JFB)]% + [2021/06/11 v1.4i Expandable and non-expandable utilities (JFB)]% \newtoks\XINT_toks \xint_firstofone{\let\XINT_sptoken= } %<- space here! \def\xintgodef {\global\xintodef }% diff --git a/Master/texmf-dist/tex/generic/xint/xinttrig.sty b/Master/texmf-dist/tex/generic/xint/xinttrig.sty index 3aca80ca0a3..f1f6b44ea29 100644 --- a/Master/texmf-dist/tex/generic/xint/xinttrig.sty +++ b/Master/texmf-dist/tex/generic/xint/xinttrig.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4h 2021/05/27 +%% The xint bundle 1.4i 2021/06/11 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xinttrig: Trigonometry for the xintexpr package %% --------------------------------------------------------------- @@ -69,10 +69,10 @@ \expandafter\xint_secondoftwo \fi {\immediate\write-1{Reloading xinttrig library using Digits=\xinttheDigits.}}% -{\expandafter\gdef\csname xintlibver@trig\endcsname{2021/05/27 v1.4h}% +{\expandafter\gdef\csname xintlibver@trig\endcsname{2021/06/11 v1.4i}% \XINT_providespackage \ProvidesPackage{xinttrig}% -[2021/05/27 v1.4h Trigonometrical functions for xintexpr (JFB)]% +[2021/06/11 v1.4i Trigonometrical functions for xintexpr (JFB)]% }% \xintFor* #1 in {iDTVtuwxyzX}\do{\xintensuredummy{#1}}% \def\xintreloadxinttrig{\input xinttrig.sty }% |