diff options
author | Karl Berry <karl@freefriends.org> | 2013-05-08 22:13:20 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-05-08 22:13:20 +0000 |
commit | 577a323e68bf1ee8b7c0290a16160992978bbd42 (patch) | |
tree | d06c68d5398f9c9d9096fb363898adb2efa3524c /Master/texmf-dist/tex/generic/xint | |
parent | 441fd17da36fd7b4b30c65a07abaa9a589dc9c01 (diff) |
xint (8may13)
git-svn-id: svn://tug.org/texlive/trunk@30337 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xint')
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xint.sty | 1152 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintcfrac.sty | 170 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintfrac.sty | 54 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintgcd.sty | 54 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintseries.sty | 105 |
5 files changed, 668 insertions, 867 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty index d630061d80b..ffc14c9d4e0 100644 --- a/Master/texmf-dist/tex/generic/xint/xint.sty +++ b/Master/texmf-dist/tex/generic/xint/xint.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% %%---------------------------------------------------------------- -%% The xint bundle (version 1.05a of May 2nd, 2013) +%% The xint bundle (version 1.06 of May 7th, 2013) %% xint: Expandable operations on long numbers %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -66,6 +66,7 @@ \endgroup \edef\XINT@restorecatcodes@endinput {% + \catcode96=\the\catcode96 % ` \catcode47=\the\catcode47 % / \catcode41=\the\catcode41 % ) \catcode40=\the\catcode40 % ( @@ -108,6 +109,7 @@ \catcode40=12 % ( \catcode41=12 % ) \catcode47=12 % / + \catcode96=12 % ` }% \XINT@setcatcodes }% @@ -134,23 +136,22 @@ \fi \expandafter\x\csname ver@xint.sty\endcsname \ProvidesPackage{xint}% - [2013/05/02 v1.05a Expandable operations on long numbers (jfB)]% -\def\xint@gobble #1{}% -\def\xint@gobble@one #1{}% -\def\xint@gobble@two #1#2{}% -\def\xint@gobble@three #1#2#3{}% -\def\xint@gobble@four #1#2#3#4{}% -\def\xint@gobble@five #1#2#3#4#5{}% -\def\xint@gobble@six #1#2#3#4#5#6{}% -\def\xint@gobble@seven #1#2#3#4#5#6#7{}% -\def\xint@gobble@eight #1#2#3#4#5#6#7#8{}% + [2013/05/07 v1.06 Expandable operations on long numbers (jfB)]% +\def\xint@gobble #1{}% +\def\xint@gobble@ {}% +\def\xint@gobble@i #1{}% +\def\xint@gobble@ii #1#2{}% +\def\xint@gobble@iii #1#2#3{}% +\def\xint@gobble@iv #1#2#3#4{}% +\def\xint@gobble@v #1#2#3#4#5{}% +\def\xint@gobble@vi #1#2#3#4#5#6{}% +\def\xint@gobble@vii #1#2#3#4#5#6#7{}% +\def\xint@gobble@viii #1#2#3#4#5#6#7#8{}% \def\xint@firstoftwo #1#2{#1}% \def\xint@secondoftwo #1#2{#2}% \def\xint@firstoftwo@andstop #1#2{ #1}% \def\xint@secondoftwo@andstop #1#2{ #2}% -\def\xint@exchangetwo@keepbraces #1#2{{#2}{#1}}% \def\xint@exchangetwo@keepbraces@andstop #1#2{ {#2}{#1}}% -\def\xint@xpxp@andstop {\expandafter\expandafter\expandafter\space }% \def\xint@minus@andstop { -}% \def\xint@r #1\R {}% \def\xint@w #1\W {}% @@ -172,10 +173,7 @@ \def\xintRev {\romannumeral0\xintrev }% \def\xintrev #1% {% - \expandafter\expandafter\expandafter - \xint@rev - \expandafter\expandafter\expandafter - {#1}% + \expandafter\xint@rev\expandafter {\romannumeral-`0#1}% }% \def\xint@rev #1% {% @@ -218,185 +216,230 @@ }% \def\XINT@strip@undef #1\xint@undef {}% \def\XINT@strip@UNDEF #1\xint@UNDEF {}% -\def\XINT@RQ #1#2#3#4#5#6#7#8#9% +\def\xintRevWithBraces {\romannumeral0\xintrevwithbraces }% +\def\xintrevwithbraces #1% {% - \xint@r #9\XINT@RQ@end\R\XINT@RQ {#9#8#7#6#5#4#3#2#1}% + \expandafter\XINT@revwbr@prep\expandafter {\romannumeral-`0#1}% }% -\def\XINT@RQ@end\R\XINT@RQ #1#2\Z +\def\XINT@RWB {\romannumeral0\XINT@revwbr@prep }% +\def\XINT@revwbr@prep #1% {% - \XINT@RQ@end@ #1\Z + \XINT@revwbr@loop + {}#1\xint@undef\xint@undef\xint@undef\xint@undef + \xint@undef\xint@undef\xint@undef\xint@undef\Z }% -\def\XINT@RQ@end@ #1#2#3#4#5#6#7#8% +\def\XINT@revwbr@loop #1#2#3#4#5#6#7#8#9% {% - \xint@r #8\XINT@RQ@end@viii - #7\XINT@RQ@end@vii - #6\XINT@RQ@end@vi - #5\XINT@RQ@end@v - #4\XINT@RQ@end@iv - #3\XINT@RQ@end@iii - #2\XINT@RQ@end@ii - \R\XINT@RQ@end@i - \Z #2#3#4#5#6#7#8% + \XINT@strip@undef #9\XINT@revwbr@finish@a\xint@undef + \XINT@revwbr@loop {{#9}{#8}{#7}{#6}{#5}{#4}{#3}{#2}#1}% }% -\def\XINT@RQ@end@viii #1\Z #2#3#4#5#6#7#8#9\Z { #9}% -\def\XINT@RQ@end@vii #1\Z #2#3#4#5#6#7#8#9\Z { #8#9000}% -\def\XINT@RQ@end@vi #1\Z #2#3#4#5#6#7#8#9\Z { #7#8#900}% -\def\XINT@RQ@end@v #1\Z #2#3#4#5#6#7#8#9\Z { #6#7#8#90}% -\def\XINT@RQ@end@iv #1\Z #2#3#4#5#6#7#8#9\Z { #5#6#7#8#9}% -\def\XINT@RQ@end@iii #1\Z #2#3#4#5#6#7#8#9\Z { #4#5#6#7#8#9000}% -\def\XINT@RQ@end@ii #1\Z #2#3#4#5#6#7#8#9\Z { #3#4#5#6#7#8#900}% -\def\XINT@RQ@end@i \Z #1#2#3#4#5#6#7#8\Z { #1#2#3#4#5#6#7#80}% -\def\xint@cleanupzeros@andstop #1#2#3#4% +\def\XINT@revwbr@finish@a\xint@undef\XINT@revwbr@loop #1#2\Z {% - \expandafter\space\the\numexpr #1#2#3#4\relax + \XINT@revwbr@finish@b #2\R\R\R\R\R\R\R\Z #1% }% -\def\xint@cleanupzeros@nospace #1#2#3#4% +\def\XINT@revwbr@finish@b #1#2#3#4#5#6#7#8\Z {% - \the\numexpr #1#2#3#4\relax + \xint@r #1\XINT@revwbr@finish@c 8% + #2\XINT@revwbr@finish@c 7% + #3\XINT@revwbr@finish@c 6% + #4\XINT@revwbr@finish@c 5% + #5\XINT@revwbr@finish@c 4% + #6\XINT@revwbr@finish@c 3% + #7\XINT@revwbr@finish@c 2% + \R\XINT@revwbr@finish@c 1\Z }% -\def\XINT@rev@andcuz #1% +\def\XINT@revwbr@finish@c #1#2\Z {% - \expandafter\xint@cleanupzeros@andstop - \romannumeral0\XINT@rord@main {}#1% - \xint@UNDEF - \xint@undef\xint@undef\xint@undef\xint@undef - \xint@undef\xint@undef\xint@undef\xint@undef - \xint@UNDEF + \expandafter\expandafter\expandafter + \space + \csname xint@gobble@\romannumeral #1\endcsname }% -\def\XINT@cuz #1% +\def\xintiLen {\romannumeral0\xintilen }% +\def\xintilen #1% {% - \XINT@cuz@loop #1\W\W\W\W\W\W\W\Z% + \expandafter\XINT@len@prep\expandafter {\romannumeral-`0#1}% }% -\def\XINT@cuz@loop #1#2#3#4#5#6#7#8% +\let\xintLen\xintiLen \let\xintlen\xintilen +\def\XINT@Len {\romannumeral0\XINT@len@prep }% +\def\XINT@len@prep #1% {% - \xint@w #8\xint@cuz@enda\W - \xint@z #8\xint@cuz@endb\Z - \XINT@cuz@checka {#1#2#3#4#5#6#7#8}% + \XINT@length@fork + #1\xint@undef\xint@undef\xint@undef\xint@undef + \xint@undef\xint@undef\xint@undef\xint@undef\Z }% -\def\xint@cuz@enda #1\XINT@cuz@checka #2% +\def\XINT@length@fork #1% {% - \xint@cuz@endaa #2% + \expandafter\XINT@length@loop + \xint@UDsignfork + #1\dummy {{0}}% + -\dummy {{0}#1}% + \xint@UDkrof }% -\def\xint@cuz@endaa #1#2#3#4#5\Z +\def\XINT@Length {\romannumeral0\XINT@length }% +\def\XINT@length #1% {% - \expandafter\space\the\numexpr #1#2#3#4\relax + \XINT@length@loop + {0}#1\xint@undef\xint@undef\xint@undef\xint@undef + \xint@undef\xint@undef\xint@undef\xint@undef\Z }% -\def\xint@cuz@endb\Z\XINT@cuz@checka #1{ 0}% -\def\XINT@cuz@checka #1% +\let\xintLength\XINT@Length +\def\XINT@length@loop #1#2#3#4#5#6#7#8#9% {% - \expandafter \XINT@cuz@checkb \the\numexpr #1\relax + \XINT@strip@undef #9\XINT@length@finish@a\xint@undef + \expandafter\XINT@length@loop\expandafter {\the\numexpr #1+8\relax}% }% -\def\XINT@cuz@checkb #1% +\def\XINT@length@finish@a\xint@undef + \expandafter\XINT@length@loop\expandafter #1#2\Z {% - \xint@zero #1\xint@cuz@backtoloop 0\XINT@cuz@Stop #1% + \XINT@length@finish@b #2\W\W\W\W\W\W\W\Z {#1}% }% -\def\XINT@cuz@Stop #1\W #2\Z{ #1}% -\def\xint@cuz@backtoloop 0\XINT@cuz@Stop 0{\XINT@cuz@loop }% -\def\XINT@isOne #1{\romannumeral0\XINT@isone #1\W\Z }% -\def\XINT@isone #1#2% +\def\XINT@length@finish@b #1#2#3#4#5#6#7#8\Z {% - \xint@one #1\XINT@isone@b 1\expandafter\space\expandafter 0\xint@z #2% + \xint@w #1\XINT@length@finish@c 8% + #2\XINT@length@finish@c 7% + #3\XINT@length@finish@c 6% + #4\XINT@length@finish@c 5% + #5\XINT@length@finish@c 4% + #6\XINT@length@finish@c 3% + #7\XINT@length@finish@c 2% + \W\XINT@length@finish@c 1\Z }% -\def\XINT@isone@b #1\xint@z #2% +\def\XINT@length@finish@c #1#2\Z #3{\expandafter\space\the\numexpr #3-#1\relax}% +\def\xintCSVtoList {\romannumeral0\xintcsvtolist }% +\def\xintcsvtolist #1% {% - \xint@w #2\XINT@isone@yes\W\expandafter\space\expandafter 0\xint@z + \expandafter\XINT@csvtol@prep\expandafter {\romannumeral-`0#1}% }% -\def\XINT@isone@yes #1\Z{ 1}% -\def\xintiNum {\romannumeral0\xintinum }% -\def\xintinum #1% +\def\XINT@CSVtoL {\romannumeral0\XINT@csvtol@prep }% +\def\XINT@csvtol@prep #1% {% - \expandafter\expandafter\expandafter - \XINT@num - \expandafter\expandafter\expandafter + \XINT@csvtol@loop@a + {}#1,\xint@undef,\xint@undef,\xint@undef,\xint@undef,% + \xint@undef,\xint@undef,\xint@undef,\xint@undef,\Z +}% +\def\XINT@csvtol@loop@a #1#2,#3,#4,#5,#6,#7,#8,#9,% +{% + \XINT@strip@undef #9\XINT@csvtol@finish@a\xint@undef + \XINT@csvtol@loop@b {#1}{{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}% +}% +\def\XINT@csvtol@loop@b #1#2{\XINT@csvtol@loop@a {#1#2}}% +\def\XINT@csvtol@finish@a\xint@undef\XINT@csvtol@loop@b #1#2#3\Z +{% + \XINT@csvtol@finish@b #3\R,\R,\R,\R,\R,\R,\R,\Z #2{#1}% +}% +\def\XINT@csvtol@finish@b #1,#2,#3,#4,#5,#6,#7,#8\Z +{% + \xint@r #1\XINT@csvtol@finish@c 8% + #2\XINT@csvtol@finish@c 7% + #3\XINT@csvtol@finish@c 6% + #4\XINT@csvtol@finish@c 5% + #5\XINT@csvtol@finish@c 4% + #6\XINT@csvtol@finish@c 3% + #7\XINT@csvtol@finish@c 2% + \R\XINT@csvtol@finish@c 1\Z +}% +\def\XINT@csvtol@finish@c #1#2\Z +{% + \csname XINT@csvtol@finish@d\romannumeral #1\endcsname +}% +\def\XINT@csvtol@finish@dviii #1#2#3#4#5#6#7#8#9{ #9}% +\def\XINT@csvtol@finish@dvii #1#2#3#4#5#6#7#8#9{ #9{#1}}% +\def\XINT@csvtol@finish@dvi #1#2#3#4#5#6#7#8#9{ #9{#1}{#2}}% +\def\XINT@csvtol@finish@dv #1#2#3#4#5#6#7#8#9{ #9{#1}{#2}{#3}}% +\def\XINT@csvtol@finish@div #1#2#3#4#5#6#7#8#9{ #9{#1}{#2}{#3}{#4}}% +\def\XINT@csvtol@finish@diii #1#2#3#4#5#6#7#8#9{ #9{#1}{#2}{#3}{#4}{#5}}% +\def\XINT@csvtol@finish@dii #1#2#3#4#5#6#7#8#9{ #9{#1}{#2}{#3}{#4}{#5}{#6}}% +\def\XINT@csvtol@finish@di #1#2#3#4#5#6#7#8#9{ #9{#1}{#2}{#3}{#4}{#5}{#6}{#7}}% +\def\xintListWithSep {\romannumeral0\xintlistwithsep }% +\long\def\xintlistwithsep #1#2% +{% + \expandafter\XINT@lws\expandafter {\romannumeral-`0#2}% {#1}% }% -\let\xintNum\xintiNum \let\xintnum\xintinum -\def\XINT@Num {\romannumeral0\XINT@num }% -\def\XINT@num #1{\XINT@num@loop #1\R\R\R\R\R\R\R\R\Z }% -\def\XINT@num@loop #1#2#3#4#5#6#7#8% +\long\def\XINT@LWS #1#2{\romannumeral0\XINT@lws@start {#1}#2\Z }% +\long\def\XINT@lws #1#2% {% - \xint@r #8\XINT@num@end\R\XINT@num@NumEight #1#2#3#4#5#6#7#8% + \XINT@lws@start {#2}#1\Z }% -\def\XINT@num@end\R\XINT@num@NumEight #1\R #2\Z +\long\def\XINT@lws@start #1#2% {% - \expandafter\space\the\numexpr #1+0\relax + \xint@z #2\XINT@lws@dont\Z + \XINT@lws@loop@a {#2}{#1}% }% -\def\XINT@num@NumEight #1#2#3#4#5#6#7#8% +\long\def\XINT@lws@dont\Z\XINT@lws@loop@a #1#2{ }% +\long\def\XINT@lws@loop@a #1#2#3% {% - \ifnum \numexpr #1#2#3#4#5#6#7#8+0\relax = 0 - \xint@afterfi {\expandafter\XINT@num@keepsign@a - \the\numexpr #1#2#3#4#5#6#7#81\relax}% + \xint@z #3\XINT@lws@end\Z + \XINT@lws@loop@b {#1}{#2#3}{#2}% +}% +\long\def\XINT@lws@loop@b #1#2{\XINT@lws@loop@a {#1#2}}% +\long\def\XINT@lws@end\Z\XINT@lws@loop@b #1#2#3{ #1}% +\def\xintNthElt {\romannumeral0\xintnthelt }% +\def\xintnthelt #1#2% +{% + \expandafter\XINT@nthelt\expandafter {\romannumeral-`0#2}% + {\numexpr #1\relax}% +}% +\def\XINT@NthElt #1#2{\romannumeral0\XINT@nthelt {#2}{\numexpr #1\relax}}% +\def\XINT@nthelt #1#2% +{% + \ifnum #2<1 + \expandafter\XINT@nthelt@silentend \else - \xint@afterfi {\expandafter\XINT@num@finish - \the\numexpr #1#2#3#4#5#6#7#8\relax}% + \expandafter\XINT@nthelt@loop@a + \fi {#2}#1\xint@undef\xint@undef\xint@undef\xint@undef + \xint@undef\xint@undef\xint@undef\xint@undef\Z +}% +\def\XINT@nthelt@silentend #1\Z { }% +\def\XINT@nthelt@loop@a #1% +{% + \ifnum #1>8 + \expandafter\XINT@nthelt@loop@b + \else + \expandafter\XINT@nthelt@getit \fi + {#1}% }% -\def\XINT@num@keepsign@a #1% +\def\XINT@nthelt@loop@b #1#2#3#4#5#6#7#8#9% {% - \xint@one#1\XINT@num@gobacktoloop 1\XINT@num@keepsign@b + \XINT@strip@undef #9\XINT@nthelt@silentend\xint@undef + \expandafter\XINT@nthelt@loop@a\expandafter{\the\numexpr #1-8\relax}% }% -\def\XINT@num@gobacktoloop 1\XINT@num@keepsign@b {\XINT@num@loop }% -\def\XINT@num@keepsign@b #1{\XINT@num@loop -}% -\def\XINT@num@finish #1\R #2\Z { #1}% -\def\xintiLen {\romannumeral0\xintilen }% -\def\xintilen #1% +\def\XINT@nthelt@getit #1% {% - \expandafter\expandafter\expandafter - \XINT@length@fork #1\R\R\R\R\R\R\R\R\Z + \expandafter\expandafter\expandafter\XINT@nthelt@finish + \csname xint@gobble@\romannumeral\numexpr#1-1\endcsname }% -\let\xintLen\xintiLen \let\xintlen\xintilen -\def\XINT@Len #1{\romannumeral0\XINT@length@fork #1\R\R\R\R\R\R\R\R\Z }% -\def\XINT@length@fork #1% +\def\XINT@nthelt@finish #1#2\Z {% - \expandafter\XINT@length@loop - \xint@UDsignfork - #1\dummy {{0}}% - -\dummy {{0}#1}% + \xint@UDwfork + #1\dummy { }% + \W\dummy { #1}% \xint@UDkrof }% -\def\XINT@Length #1{\romannumeral0\XINT@length@loop {0}#1\R\R\R\R\R\R\R\R\Z }% -\def\XINT@length #1{\XINT@length@loop {0}#1\R\R\R\R\R\R\R\R\Z }% -\let\xintLength\XINT@Length -\def\XINT@length@loop #1#2#3#4#5#6#7#8#9% +\def\xintApply {\romannumeral0\xintapply }% +\def\xintapply #1#2% {% - \xint@r #9\XINT@length@end {#2#3#4#5#6#7#8#9}\R - \expandafter\XINT@length@loop\expandafter {\the\numexpr #1+8\relax}% + \expandafter\XINT@apply\expandafter {\romannumeral-`0#2}% + {#1}% +}% +\def\XINT@Apply #1#2{\romannumeral0\XINT@apply@loop@a {}{#1}#2\Z }% +\def\XINT@apply #1#2% +{% + \XINT@apply@loop@a {}{#2}#1\Z }% -\def\XINT@length@end #1\R\expandafter\XINT@length@loop\expandafter #2#3\Z -{% - \XINT@length@end@ #1\W\W\W\W\W\W\W\W\Z {#2}% -}% -\def\XINT@length@end@ #1\R #2#3#4#5#6#7#8#9\Z -{% - \xint@w #2\XINT@length@end@i - #3\XINT@length@end@ii - #4\XINT@length@end@iii - #5\XINT@length@end@iv - #6\XINT@length@end@v - #7\XINT@length@end@vi - #8\XINT@length@end@vii - \W\XINT@length@end@viii -}% -\def\XINT@length@end@viii #1% - {\expandafter\space\the\numexpr #1-8\relax}% -\def\XINT@length@end@vii #1\XINT@length@end@viii #2% - {\expandafter\space\the\numexpr #2-7\relax}% -\def\XINT@length@end@vi #1\XINT@length@end@viii #2% - {\expandafter\space\the\numexpr #2-6\relax}% -\def\XINT@length@end@v #1\XINT@length@end@viii #2% - {\expandafter\space\the\numexpr #2-5\relax}% -\def\XINT@length@end@iv #1\XINT@length@end@viii #2% - {\expandafter\space\the\numexpr #2-4\relax}% -\def\XINT@length@end@iii #1\XINT@length@end@viii #2% - {\expandafter\space\the\numexpr #2-3\relax}% -\def\XINT@length@end@ii #1\XINT@length@end@viii #2% - {\expandafter\space\the\numexpr #2-2\relax}% -\def\XINT@length@end@i #1\XINT@length@end@viii #2% - {\expandafter\space\the\numexpr #2-1\relax}% +\def\XINT@apply@loop@a #1#2#3% +{% + \xint@z #3\XINT@apply@end\Z + \expandafter + \XINT@apply@loop@b + \expandafter {\romannumeral-`0#2{#3}}{#1}{#2}% +}% +\def\XINT@apply@loop@b #1#2{\XINT@apply@loop@a {#2{#1}}}% +\def\XINT@apply@end\Z\expandafter\XINT@apply@loop@b\expandafter #1#2#3{ #2}% \def\xintAssign #1\to {% - \expandafter\expandafter\expandafter - \XINT@assign@a #1{}\to + \expandafter\XINT@assign@a\romannumeral-`0#1{}\to }% \def\XINT@assign@a #1% attention to the # at the beginning of next line #{% @@ -444,8 +487,8 @@ \edef\xint@arrayname {\string #1}% \XINT@restoreescapechar \count 255 0 - \expandafter\expandafter\expandafter - \XINT@assignarray@loop #1\xint@undef + \expandafter + \XINT@assignarray@loop \romannumeral-`0#1\xint@undef \csname\xint@arrayname 00\endcsname \csname\xint@arrayname 0\endcsname {\xint@arrayname}% @@ -478,11 +521,9 @@ \def\XINT@assignarray@@@@end #1#2#3#4% {% \def #4##1% - {\romannumeral0% - \expandafter\expandafter\expandafter - #1% - \expandafter\expandafter\expandafter - {##1}% + {% + \romannumeral0% + \expandafter #1\expandafter{\the\numexpr ##1}% }% \def #1##1% {% @@ -501,60 +542,127 @@ }% }% \let\xintDigitsOf\xintAssignArray -\def\xintApply {\romannumeral0\xintapply }% -\def\xintapply #1#2% +\def\XINT@RQ #1#2#3#4#5#6#7#8#9% {% - \expandafter\expandafter\expandafter - \XINT@apply - \expandafter\expandafter\expandafter - {#2}{#1}% + \xint@r #9\XINT@RQ@end\R\XINT@RQ {#9#8#7#6#5#4#3#2#1}% }% -\def\XINT@apply #1#2% +\def\XINT@RQ@end\R\XINT@RQ #1#2\Z {% - \XINT@apply@loop@a {}{#2}#1\Z + \XINT@RQ@end@ #1\Z }% -\def\XINT@apply@loop@a #1#2#3% +\def\XINT@RQ@end@ #1#2#3#4#5#6#7#8% {% - \xint@z #3\XINT@apply@end\Z - \expandafter\expandafter\expandafter - \XINT@apply@loop@b - \expandafter\expandafter\expandafter {#2{#3}}{#1}{#2}% + \xint@r #8\XINT@RQ@end@viii + #7\XINT@RQ@end@vii + #6\XINT@RQ@end@vi + #5\XINT@RQ@end@v + #4\XINT@RQ@end@iv + #3\XINT@RQ@end@iii + #2\XINT@RQ@end@ii + \R\XINT@RQ@end@i + \Z #2#3#4#5#6#7#8% }% -\def\XINT@apply@loop@b #1#2{\XINT@apply@loop@a {#2{#1}}}% -\def\XINT@apply@end\Z - \expandafter\expandafter\expandafter - \XINT@apply@loop@b - \expandafter\expandafter\expandafter #1#2#3{ #2}% -\def\xintListWithSep {\romannumeral0\xintlistwithsep }% -\long\def\xintlistwithsep #1#2% +\def\XINT@RQ@end@viii #1\Z #2#3#4#5#6#7#8#9\Z { #9}% +\def\XINT@RQ@end@vii #1\Z #2#3#4#5#6#7#8#9\Z { #8#9000}% +\def\XINT@RQ@end@vi #1\Z #2#3#4#5#6#7#8#9\Z { #7#8#900}% +\def\XINT@RQ@end@v #1\Z #2#3#4#5#6#7#8#9\Z { #6#7#8#90}% +\def\XINT@RQ@end@iv #1\Z #2#3#4#5#6#7#8#9\Z { #5#6#7#8#9}% +\def\XINT@RQ@end@iii #1\Z #2#3#4#5#6#7#8#9\Z { #4#5#6#7#8#9000}% +\def\XINT@RQ@end@ii #1\Z #2#3#4#5#6#7#8#9\Z { #3#4#5#6#7#8#900}% +\def\XINT@RQ@end@i \Z #1#2#3#4#5#6#7#8\Z { #1#2#3#4#5#6#7#80}% +\def\xint@cleanupzeros@andstop #1#2#3#4% {% - \expandafter\expandafter\expandafter - \XINT@lws - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\space\the\numexpr #1#2#3#4\relax }% -\long\def\XINT@lws #1#2% +\def\xint@cleanupzeros@nospace #1#2#3#4% {% - \XINT@lws@start {#2}#1\Z + \the\numexpr #1#2#3#4\relax }% -\long\def\XINT@lws@start #1#2% +\def\XINT@rev@andcuz #1% {% - \xint@z #2\XINT@lws@dont\Z - \XINT@lws@loop@a {#2}{#1}% + \expandafter\xint@cleanupzeros@andstop + \romannumeral0\XINT@rord@main {}#1% + \xint@UNDEF + \xint@undef\xint@undef\xint@undef\xint@undef + \xint@undef\xint@undef\xint@undef\xint@undef + \xint@UNDEF }% -\long\def\XINT@lws@dont\Z\XINT@lws@loop@a #1#2{ #2}% -\long\def\XINT@lws@loop@a #1#2#3% +\def\XINT@cuz #1% {% - \xint@z #3\XINT@lws@end\Z - \XINT@lws@loop@b {#1}{#2#3}{#2}% + \XINT@cuz@loop #1\W\W\W\W\W\W\W\Z% }% -\long\def\XINT@lws@loop@b #1#2{\XINT@lws@loop@a {#1#2}}% -\long\def\XINT@lws@end\Z\XINT@lws@loop@b #1#2#3{ #1}% +\def\XINT@cuz@loop #1#2#3#4#5#6#7#8% +{% + \xint@w #8\xint@cuz@enda\W + \xint@z #8\xint@cuz@endb\Z + \XINT@cuz@checka {#1#2#3#4#5#6#7#8}% +}% +\def\xint@cuz@enda #1\XINT@cuz@checka #2% +{% + \xint@cuz@endaa #2% +}% +\def\xint@cuz@endaa #1#2#3#4#5\Z +{% + \expandafter\space\the\numexpr #1#2#3#4\relax +}% +\def\xint@cuz@endb\Z\XINT@cuz@checka #1{ 0}% +\def\XINT@cuz@checka #1% +{% + \expandafter \XINT@cuz@checkb \the\numexpr #1\relax +}% +\def\XINT@cuz@checkb #1% +{% + \xint@zero #1\xint@cuz@backtoloop 0\XINT@cuz@Stop #1% +}% +\def\XINT@cuz@Stop #1\W #2\Z{ #1}% +\def\xint@cuz@backtoloop 0\XINT@cuz@Stop 0{\XINT@cuz@loop }% +\def\XINT@isOne #1{\romannumeral0\XINT@isone #1\W\Z }% +\def\XINT@isone #1#2% +{% + \xint@one #1\XINT@isone@b 1\expandafter\space\expandafter 0\xint@z #2% +}% +\def\XINT@isone@b #1\xint@z #2% +{% + \xint@w #2\XINT@isone@yes\W\expandafter\space\expandafter 0\xint@z +}% +\def\XINT@isone@yes #1\Z{ 1}% +\def\xintiNum {\romannumeral0\xintinum }% +\def\xintinum #1% +{% + \expandafter\XINT@num\expandafter {\romannumeral-`0#1}% +}% +\let\xintNum\xintiNum \let\xintnum\xintinum +\def\XINT@Num {\romannumeral0\XINT@num }% +\def\XINT@num #1{\XINT@num@loop #1\R\R\R\R\R\R\R\R\Z }% +\def\XINT@num@loop #1#2#3#4#5#6#7#8% +{% + \xint@r #8\XINT@num@end\R\XINT@num@NumEight #1#2#3#4#5#6#7#8% +}% +\def\XINT@num@end\R\XINT@num@NumEight #1\R #2\Z +{% + \expandafter\space\the\numexpr #1+0\relax +}% +\def\XINT@num@NumEight #1#2#3#4#5#6#7#8% +{% + \ifnum \numexpr #1#2#3#4#5#6#7#8+0\relax = 0 + \xint@afterfi {\expandafter\XINT@num@keepsign@a + \the\numexpr #1#2#3#4#5#6#7#81\relax}% + \else + \xint@afterfi {\expandafter\XINT@num@finish + \the\numexpr #1#2#3#4#5#6#7#8\relax}% + \fi +}% +\def\XINT@num@keepsign@a #1% +{% + \xint@one#1\XINT@num@gobacktoloop 1\XINT@num@keepsign@b +}% +\def\XINT@num@gobacktoloop 1\XINT@num@keepsign@b {\XINT@num@loop }% +\def\XINT@num@keepsign@b #1{\XINT@num@loop -}% +\def\XINT@num@finish #1\R #2\Z { #1}% \def\xintiSgn {\romannumeral0\xintisgn }% \def\xintisgn #1% {% - \expandafter\expandafter\expandafter - \XINT@sgn #1\Z% + \expandafter\XINT@sgn \romannumeral-`0#1\Z% }% \let\xintSgn\xintiSgn \let\xintsgn\xintisgn \def\XINT@Sgn #1{\romannumeral0\XINT@sgn #1\Z }% @@ -569,32 +677,29 @@ \def\xintiOpp {\romannumeral0\xintiopp }% \def\xintiopp #1% {% - \expandafter\expandafter\expandafter - \XINT@opp #1% + \expandafter\XINT@opp \romannumeral-`0#1% }% \let\xintOpp\xintiOpp \let\xintopp\xintiopp \def\XINT@Opp #1{\romannumeral0\XINT@opp #1}% \def\XINT@opp #1% {% - \expandafter\space \xint@UDzerominusfork - #1-\dummy 0% zero - 0#1\dummy {}% negative - 0-\dummy {-#1}% positive + #1-\dummy { 0}% zero + 0#1\dummy { }% negative + 0-\dummy { -#1}% positive \xint@UDkrof }% \def\xintiAbs {\romannumeral0\xintiabs }% \def\xintiabs #1% {% - \expandafter\expandafter\expandafter - \XINT@abs #1% + \expandafter\XINT@abs \romannumeral-`0#1% }% \let\xintAbs\xintiAbs \let\xintabs\xintiabs \def\XINT@Abs #1{\romannumeral0\XINT@abs #1}% \def\XINT@abs #1% {% \xint@UDsignfork - #1\dummy \space + #1\dummy { }% -\dummy { #1}% \xint@UDkrof }% @@ -918,16 +1023,12 @@ \def\xintiAdd {\romannumeral0\xintiadd }% \def\xintiadd #1% {% - \expandafter\expandafter\expandafter - \xint@add - \expandafter\expandafter\expandafter - {#1}% + \expandafter\xint@add\expandafter{\romannumeral-`0#1}% }% \let\xintAdd\xintiAdd \let\xintadd\xintiadd \def\xint@add #1#2% {% - \expandafter\expandafter\expandafter - \XINT@add@fork #2\Z #1\Z + \expandafter\XINT@add@fork \romannumeral-`0#2\Z #1\Z }% \def\XINT@Add #1#2{\romannumeral0\XINT@add@fork #2\Z #1\Z }% \def\XINT@add #1#2{\XINT@add@fork #2\Z #1\Z }% @@ -967,9 +1068,8 @@ }% \def\XINT@add@pre #1% {% - \expandafter\XINT@add@@pre\expandafter{% - \romannumeral0\XINT@RQ {}#1\R\R\R\R\R\R\R\R\Z - }% + \expandafter\XINT@add@@pre\expandafter + {\romannumeral0\XINT@RQ {}#1\R\R\R\R\R\R\R\R\Z }% }% \def\XINT@add@@pre #1#2% {% @@ -981,16 +1081,12 @@ \def\xintiSub {\romannumeral0\xintisub }% \def\xintisub #1% {% - \expandafter\expandafter\expandafter - \xint@sub - \expandafter\expandafter\expandafter - {#1}% + \expandafter\xint@sub\expandafter{\romannumeral-`0#1}% }% \let\xintSub\xintiSub \let\xintsub\xintisub \def\xint@sub #1#2% {% - \expandafter\expandafter\expandafter - \XINT@sub@fork #2\Z #1\Z + \expandafter\XINT@sub@fork \romannumeral-`0#2\Z #1\Z }% \def\XINT@Sub #1#2{\romannumeral0\XINT@sub@fork #2\Z #1\Z }% \def\XINT@sub #1#2{\XINT@sub@fork #2\Z #1\Z }% @@ -1031,9 +1127,8 @@ \def\xint@sub@pm #1\XINT@add@pre #2#3{ -#2}% \def\XINT@sub@pre #1% {% - \expandafter\XINT@sub@@pre\expandafter{% - \romannumeral0\XINT@RQ {}#1\R\R\R\R\R\R\R\R\Z - }% + \expandafter\XINT@sub@@pre\expandafter + {\romannumeral0\XINT@RQ {}#1\R\R\R\R\R\R\R\R\Z }% }% \def\XINT@sub@@pre #1#2% {% @@ -1137,8 +1232,7 @@ }% \def\XINT@sub@E #1#2#3#4#5#6% {% - \xint@w #3\xint@sub@F\W\XINT@sub@Eonestep - #1{#6#5#4#3}{#2}% + \xint@w #3\xint@sub@F\W\XINT@sub@Eonestep #1{#6#5#4#3}{#2}% }% \def\XINT@sub@Eonestep #1#2% {% @@ -1160,9 +1254,8 @@ \def\XINT@sub@DD {\expandafter\xint@minus@andstop\romannumeral0\XINT@sub@D }% \def\XINT@sub@Fdec #1#2#3#4#5#6% {% - \xint@w - #3\xint@sub@Fdec@finish\W\XINT@sub@Fdec@onestep - #1{#6#5#4#3}{#2}% + \xint@w #3\xint@sub@Fdec@finish\W + \XINT@sub@Fdec@onestep #1{#6#5#4#3}{#2}% }% \def\XINT@sub@Fdec@onestep #1#2% {% @@ -1178,9 +1271,8 @@ }% \def\XINT@sub@Finc #1#2#3#4#5#6% {% - \xint@w - #3\xint@sub@Finc@finish\W\XINT@sub@Finc@onestep - #1{#6#5#4#3}{#2}% + \xint@w #3\xint@sub@Finc@finish\W + \XINT@sub@Finc@onestep #1{#6#5#4#3}{#2}% }% \def\XINT@sub@Finc@onestep #1#2% {% @@ -1193,8 +1285,7 @@ \def\xint@sub@Finc@finish\W\XINT@sub@Finc@onestep #1#2#3% {% \xint@UDzerofork - #1\dummy {\expandafter\xint@minus@andstop% - \xint@cleanupzeros@nospace}% + #1\dummy {\expandafter\xint@minus@andstop\xint@cleanupzeros@nospace}% 0\dummy { -1}% \xint@UDkrof #3% @@ -1206,8 +1297,7 @@ 0\dummy \XINT@sub@L % pas de retenue \xint@UDkrof }% -\def\XINT@sub@L #1\W\X\Y\Z - {\XINT@cuz@loop #1\W\W\W\W\W\W\W\Z }% +\def\XINT@sub@L #1\W\X\Y\Z {\XINT@cuz@loop #1\W\W\W\W\W\W\W\Z }% \def\XINT@sub@K #1% {% \expandafter @@ -1221,9 +1311,8 @@ }% \def\XINT@sub@KK #1#2#3#4#5#6% {% - \xint@w - #3\xint@sub@KK@finish\W\XINT@sub@KK@onestep - #1{#6#5#4#3}{#2}% + \xint@w #3\xint@sub@KK@finish\W + \XINT@sub@KK@onestep #1{#6#5#4#3}{#2}% }% \def\XINT@sub@KK@onestep #1#2% {% @@ -1235,22 +1324,18 @@ }% \def\xint@sub@KK@finish\W\XINT@sub@KK@onestep #1#2#3% {% - \expandafter\xint@minus@andstop\romannumeral - 0\XINT@cuz@loop #3\W\W\W\W\W\W\W\Z + \expandafter\xint@minus@andstop + \romannumeral0\XINT@cuz@loop #3\W\W\W\W\W\W\W\Z }% \def\xintiCmp {\romannumeral0\xinticmp }% \def\xinticmp #1% {% - \expandafter\expandafter\expandafter - \xint@cmp - \expandafter\expandafter\expandafter - {#1}% + \expandafter\xint@cmp\expandafter{\romannumeral-`0#1}% }% \let\xintCmp\xintiCmp \let\xintcmp\xinticmp \def\xint@cmp #1#2% {% - \expandafter\expandafter\expandafter - \XINT@cmp@fork #2\Z #1\Z + \expandafter\XINT@cmp@fork \romannumeral-`0#2\Z #1\Z }% \def\XINT@Cmp #1#2{\romannumeral0\XINT@cmp@fork #2\Z #1\Z }% \def\XINT@cmp@fork #1#2\Z #3#4\Z @@ -1283,9 +1368,8 @@ }% \def\XINT@cmp@pre #1% {% - \expandafter\XINT@cmp@@pre\expandafter{% - \romannumeral0\XINT@RQ {}#1\R\R\R\R\R\R\R\R\Z - }% + \expandafter\XINT@cmp@@pre\expandafter + {\romannumeral0\XINT@RQ {}#1\R\R\R\R\R\R\R\R\Z }% }% \def\XINT@cmp@@pre #1#2% {% @@ -1296,15 +1380,11 @@ }% \def\XINT@cmp@A #1#2#3\W\X\Y\Z #4#5#6#7% {% - \xint@w - #4\xint@cmp@az - \W\XINT@cmp@B #1{#4#5#6#7}{#2}#3\W\X\Y\Z + \xint@w #4\xint@cmp@az\W\XINT@cmp@B #1{#4#5#6#7}{#2}#3\W\X\Y\Z }% \def\XINT@cmp@B #1#2#3#4#5#6#7% {% - \xint@w - #4\xint@cmp@bz - \W\XINT@cmp@onestep #1#2{#7#6#5#4}{#3}% + \xint@w#4\xint@cmp@bz\W\XINT@cmp@onestep #1#2{#7#6#5#4}{#3}% }% \def\XINT@cmp@onestep #1#2#3#4#5#6% {% @@ -1314,13 +1394,10 @@ {% \XINT@cmp@A #2{#3#4}% }% -\def\xint@cmp@bz - \W\XINT@cmp@onestep #1\Z { 1}% +\def\xint@cmp@bz\W\XINT@cmp@onestep #1\Z { 1}% \def\xint@cmp@az\W\XINT@cmp@B #1#2#3#4#5#6#7% {% - \xint@w - #4\xint@cmp@ez - \W\XINT@cmp@Eenter #1{#3}#4#5#6#7% + \xint@w #4\xint@cmp@ez\W\XINT@cmp@Eenter #1{#3}#4#5#6#7% }% \def\XINT@cmp@Eenter #1\Z { -1}% \def\xint@cmp@ez\W\XINT@cmp@Eenter #1% @@ -1338,19 +1415,18 @@ }% \def\XINT@OneIfPositive@main #1#2#3#4% {% - \xint@z #4\xint@OneIfPositive@terminated\Z\XINT@OneIfPositive@onestep - #1#2#3#4% + \xint@z #4\xint@OneIfPositive@terminated\Z + \XINT@OneIfPositive@onestep #1#2#3#4% }% \def\xint@OneIfPositive@terminated\Z\XINT@OneIfPositive@onestep\W\X\Y\Z { 0}% \def\XINT@OneIfPositive@onestep #1#2#3#4% {% - \expandafter\XINT@OneIfPositive@check - \the\numexpr #1#2#3#4\relax + \expandafter\XINT@OneIfPositive@check\the\numexpr #1#2#3#4\relax }% \def\XINT@OneIfPositive@check #1% {% - \xint@zero - #1\xint@OneIfPositive@backtomain 0\XINT@OneIfPositive@finish #1% + \xint@zero #1\xint@OneIfPositive@backtomain 0% + \XINT@OneIfPositive@finish #1% }% \def\XINT@OneIfPositive@finish #1\W\X\Y\Z{ 1}% \def\xint@OneIfPositive@backtomain 0\XINT@OneIfPositive@finish 0% @@ -1358,15 +1434,12 @@ \def\xintiGeq {\romannumeral0\xintigeq }% \def\xintigeq #1% {% - \expandafter\expandafter\expandafter - \xint@geq - \expandafter\expandafter\expandafter - {#1}% + \expandafter\xint@geq\expandafter {\romannumeral-`0#1}% }% \let\xintGeq\xintiGeq \let\xintgeq\xintigeq \def\xint@geq #1#2% {% - \expandafter\expandafter\expandafter\XINT@geq@fork #2\Z #1\Z + \expandafter\XINT@geq@fork \romannumeral-`0#2\Z #1\Z }% \def\XINT@Geq #1#2{\romannumeral0\XINT@geq@fork #2\Z #1\Z }% \def\XINT@geq@fork #1#2\Z #3#4\Z @@ -1385,19 +1458,14 @@ }% \def\XINT@geq@secondiszero #1#2#3#4{ 1}% \def\XINT@geq@firstiszero #1#2#3#4{ 0}% -\def\XINT@geq@plusplus #1#2#3#4% - {\XINT@geq@pre {#4#2}{#3#1}}% -\def\XINT@geq@minusminus #1#2#3#4% - {\XINT@geq@pre {#2}{#1}}% -\def\XINT@geq@minusplus #1#2#3#4% - {\XINT@geq@pre {#4#2}{#1}}% -\def\XINT@geq@plusminus #1#2#3#4% - {\XINT@geq@pre {#2}{#3#1}}% +\def\XINT@geq@plusplus #1#2#3#4{\XINT@geq@pre {#4#2}{#3#1}}% +\def\XINT@geq@minusminus #1#2#3#4{\XINT@geq@pre {#2}{#1}}% +\def\XINT@geq@minusplus #1#2#3#4{\XINT@geq@pre {#4#2}{#1}}% +\def\XINT@geq@plusminus #1#2#3#4{\XINT@geq@pre {#2}{#3#1}}% \def\XINT@geq@pre #1% {% - \expandafter\XINT@geq@@pre\expandafter{% - \romannumeral0\XINT@RQ {}#1\R\R\R\R\R\R\R\R\Z - }% + \expandafter\XINT@geq@@pre\expandafter + {\romannumeral0\XINT@RQ {}#1\R\R\R\R\R\R\R\R\Z }% }% \def\XINT@geq@@pre #1#2% {% @@ -1408,15 +1476,11 @@ }% \def\XINT@geq@A #1#2#3\W\X\Y\Z #4#5#6#7% {% - \xint@w - #4\xint@geq@az - \W\XINT@geq@B #1{#4#5#6#7}{#2}#3\W\X\Y\Z + \xint@w #4\xint@geq@az\W\XINT@geq@B #1{#4#5#6#7}{#2}#3\W\X\Y\Z }% \def\XINT@geq@B #1#2#3#4#5#6#7% {% - \xint@w - #4\xint@geq@bz - \W\XINT@geq@onestep #1#2{#7#6#5#4}{#3}% + \xint@w #4\xint@geq@bz\W\XINT@geq@onestep #1#2{#7#6#5#4}{#3}% }% \def\XINT@geq@onestep #1#2#3#4#5#6% {% @@ -1429,9 +1493,7 @@ \def\xint@geq@bz\W\XINT@geq@onestep #1\W\X\Y\Z { 1}% \def\xint@geq@az\W\XINT@geq@B #1#2#3#4#5#6#7% {% - \xint@w - #4\xint@geq@ez - \W\XINT@geq@Eenter #1% + \xint@w #4\xint@geq@ez\W\XINT@geq@Eenter #1% }% \def\XINT@geq@Eenter #1\W\X\Y\Z { 0}% \def\xint@geq@ez\W\XINT@geq@Eenter #1% @@ -1444,17 +1506,12 @@ \def\xintiMax {\romannumeral0\xintimax }% \def\xintimax #1% {% - \expandafter\expandafter\expandafter - \xint@max - \expandafter\expandafter\expandafter - {#1}% + \expandafter\xint@max\expandafter {\romannumeral-`0#1}% }% \let\xintMax\xintiMax \let\xintmax\xintimax \def\xint@max #1#2% {% - \expandafter\expandafter\expandafter - \XINT@max@pre - \expandafter\expandafter\expandafter {#2}{#1}% + \expandafter\XINT@max@pre\expandafter {\romannumeral-`0#2}{#1}% }% \def\XINT@max@pre #1#2{\XINT@max@fork #1\Z #2\Z {#2}{#1}}% \def\XINT@Max #1#2{\romannumeral0\XINT@max@fork #2\Z #1\Z {#1}{#2}}% @@ -1497,17 +1554,12 @@ \def\xintiMin {\romannumeral0\xintimin }% \def\xintimin #1% {% - \expandafter\expandafter\expandafter - \xint@min - \expandafter\expandafter\expandafter - {#1}% + \expandafter\xint@min\expandafter {\romannumeral-`0#1}% }% \let\xintMin\xintiMin \let\xintmin\xintimin \def\xint@min #1#2% {% - \expandafter\expandafter\expandafter - \XINT@min@pre - \expandafter\expandafter\expandafter {#2}{#1}% + \expandafter\XINT@min@pre\expandafter {\romannumeral-`0#2}{#1}% }% \def\XINT@min@pre #1#2{\XINT@min@fork #1\Z #2\Z {#2}{#1}}% \def\XINT@Min #1#2{\romannumeral0\XINT@min@fork #2\Z #1\Z {#1}{#2}}% @@ -1531,7 +1583,7 @@ \def\XINT@min@pluszero #1#2#3#4{\xint@firstoftwo@andstop }% \def\XINT@min@minusplus #1#2#3#4{\xint@secondoftwo@andstop }% \def\XINT@min@plusminus #1#2#3#4{\xint@firstoftwo@andstop }% -\def\XINT@min@plusplus #1#2#3#4% +\def\XINT@min@plusplus #1#2#3#4% {% \ifodd\XINT@Geq {#4#2}{#3#1} \expandafter\xint@secondoftwo@andstop @@ -1550,16 +1602,13 @@ \def\xintiSum {\romannumeral0\xintisum }% \def\xintisum #1{\xintisumexpr #1\relax }% \def\xintiSumExpr {\romannumeral0\xintisumexpr }% -\def\xintisumexpr -{% - \expandafter\expandafter\expandafter\XINT@sumexpr -}% +\def\xintisumexpr {\expandafter\XINT@sumexpr\romannumeral-`0}% \let\xintSum\xintiSum \let\xintsum\xintisum \let\xintSumExpr\xintiSumExpr \let\xintsumexpr\xintisumexpr \def\XINT@sumexpr {\XINT@sum@loop {0000}{0000}}% \def\XINT@sum@loop #1#2#3% {% - \expandafter\expandafter\expandafter\XINT@sum@checksign #3\Z {#1}{#2}% + \expandafter\XINT@sum@checksign\romannumeral-`0#3\Z {#1}{#2}% }% \def\XINT@sum@checksign #1% {% @@ -1595,15 +1644,12 @@ \def\xintiMul {\romannumeral0\xintimul }% \def\xintimul #1% {% - \expandafter\expandafter\expandafter - \xint@mul - \expandafter\expandafter\expandafter - {#1}% + \expandafter\xint@mul\expandafter {\romannumeral-`0#1}% }% \let\xintMul\xintiMul \let\xintmul\xintimul \def\xint@mul #1#2% -{\expandafter\expandafter\expandafter - \XINT@mul@fork #2\Z #1\Z +{% + \expandafter\XINT@mul@fork \romannumeral-`0#2\Z #1\Z }% \def\XINT@Mul #1#2{\romannumeral0\XINT@mul@fork #2\Z #1\Z }% \def\XINT@mul@fork #1#2\Z #3#4\Z @@ -1630,17 +1676,17 @@ }% \def\XINT@mul@minusplus #1#2#3% {% - \expandafter\xint@minus@andstop\romannumeral0\expandafter - \XINT@mul@choice@a - \expandafter{\romannumeral0\XINT@length {#1#3}}% - {\romannumeral0\XINT@length {#2}}{#2}{#1#3}% + \expandafter\xint@minus@andstop\romannumeral0\expandafter + \XINT@mul@choice@a + \expandafter{\romannumeral0\XINT@length {#1#3}}% + {\romannumeral0\XINT@length {#2}}{#2}{#1#3}% }% \def\XINT@mul@plusminus #1#2#3% {% - \expandafter\xint@minus@andstop\romannumeral0\expandafter - \XINT@mul@choice@a - \expandafter{\romannumeral0\XINT@length {#3}}% - {\romannumeral0\XINT@length {#1#2}}{#1#2}{#3}% + \expandafter\xint@minus@andstop\romannumeral0\expandafter + \XINT@mul@choice@a + \expandafter{\romannumeral0\XINT@length {#3}}% + {\romannumeral0\XINT@length {#1#2}}{#1#2}{#3}% }% \def\XINT@mul@plusplus #1#2#3#4% {% @@ -1688,38 +1734,20 @@ }% \def\XINT@mul@choice@i #1#2% {% - \ifcase \numexpr (#2-3)/4\relax - \or \xint@afterfi {\ifnum #1<330 \expandafter \XINT@mul@choice@same - \else \expandafter \XINT@mul@choice@permute \fi}% - \or \xint@afterfi {\ifnum #1<168 \expandafter \XINT@mul@choice@same - \else \expandafter \XINT@mul@choice@permute \fi}% - \or \xint@afterfi {\ifnum #1<109 \expandafter \XINT@mul@choice@same - \else \expandafter \XINT@mul@choice@permute \fi}% - \or \xint@afterfi {\ifnum #1<80 \expandafter \XINT@mul@choice@same - \else \expandafter \XINT@mul@choice@permute \fi}% - \or \xint@afterfi {\ifnum #1<66 \expandafter \XINT@mul@choice@same - \else \expandafter \XINT@mul@choice@permute \fi}% - \or \xint@afterfi {\ifnum #1<52 \expandafter \XINT@mul@choice@same - \else \expandafter \XINT@mul@choice@permute \fi}% - \else \expandafter \XINT@mul@choice@permute + \ifnum #1<\numexpr\ifcase \numexpr (#2-3)/4\relax + \or 330\or 168\or 109\or 80\or 66\or 52\else 0\fi\relax + \expandafter\XINT@mul@choice@same + \else + \expandafter\XINT@mul@choice@permute \fi }% \def\XINT@mul@choice@ii #1#2% {% - \ifcase \numexpr (#1-3)/4\relax - \or \xint@afterfi {\ifnum #2<330 \expandafter \XINT@mul@choice@permute - \else \expandafter \XINT@mul@choice@same \fi}% - \or \xint@afterfi {\ifnum #2<168 \expandafter \XINT@mul@choice@permute - \else \expandafter \XINT@mul@choice@same \fi}% - \or \xint@afterfi {\ifnum #2<109 \expandafter \XINT@mul@choice@permute - \else \expandafter \XINT@mul@choice@same \fi}% - \or \xint@afterfi {\ifnum #2<80 \expandafter \XINT@mul@choice@permute - \else \expandafter \XINT@mul@choice@same \fi}% - \or \xint@afterfi {\ifnum #2<66 \expandafter \XINT@mul@choice@permute - \else \expandafter \XINT@mul@choice@same \fi}% - \or \xint@afterfi {\ifnum #2<52 \expandafter \XINT@mul@choice@permute - \else \expandafter \XINT@mul@choice@same \fi}% - \else \expandafter \XINT@mul@choice@same + \ifnum #2<\numexpr\ifcase \numexpr (#1-3)/4\relax + \or 330\or 168\or 109\or 80\or 66\or 52\else 0\fi\relax + \expandafter\XINT@mul@choice@permute + \else + \expandafter\XINT@mul@choice@same \fi }% \def\XINT@mul@choice@same #1#2% @@ -1753,8 +1781,7 @@ }% \def\XINT@mul@Mr #1% {% - \expandafter\XINT@mul@Mr@checkifzeroorone - \expandafter{\the\numexpr #1}% + \expandafter\XINT@mul@Mr@checkifzeroorone\expandafter{\the\numexpr #1}% }% \def\XINT@mul@Mr@checkifzeroorone #1% {% @@ -1783,15 +1810,14 @@ }% \def\xint@mul@pr\Z\XINT@mul@Pr #1#2#3#4#5% {% - \xint@quatrezeros #1\XINT@mul@Mr@end@nocarry 0000\XINT@mul@Mr@end@carry - #1{#4}% + \xint@quatrezeros #1\XINT@mul@Mr@end@nocarry 0000% + \XINT@mul@Mr@end@carry #1{#4}% }% \def\XINT@mul@Mr@end@nocarry 0000\XINT@mul@Mr@end@carry 0000#1{ #1}% \def\XINT@mul@Mr@end@carry #1#2#3#4#5{ #5#4#3#2#1}% \def\XINT@mul@M #1% {% - \expandafter\XINT@mul@M@checkifzeroorone - \expandafter{\the\numexpr #1}% + \expandafter\XINT@mul@M@checkifzeroorone\expandafter{\the\numexpr #1}% }% \def\XINT@mul@M@checkifzeroorone #1% {% @@ -1807,8 +1833,7 @@ \def\XINT@mul@M@zero #1\Z\Z\Z\Z { 0}% \def\XINT@mul@M@one #1#2#3#4\Z\Z\Z\Z {% - \expandafter\xint@cleanupzeros@andstop - \romannumeral0\XINT@rev{#4}% + \expandafter\xint@cleanupzeros@andstop\romannumeral0\XINT@rev{#4}% }% \def\XINT@mul@N #1#2#3#4#5#6#7% {% @@ -2002,10 +2027,7 @@ \def\xintiSqr {\romannumeral0\xintisqr }% \def\xintisqr #1% {% - \expandafter\expandafter\expandafter - \XINT@sqr - \expandafter\expandafter\expandafter - {\xintiAbs{#1}}% fait l'expansion de #1 et se d\'ebarrasse du signe + \expandafter\XINT@sqr\expandafter {\romannumeral0\xintiabs{#1}}% }% \let\xintSqr\xintiSqr \let\xintsqr\xintisqr \def\XINT@sqr #1% @@ -2020,16 +2042,13 @@ \let\xintPrd\xintiPrd \let\xintprd\xintiprd \def\xintiProductExpr {\romannumeral0\xintiproductexpr }% -\def\xintiproductexpr -{% - \expandafter\expandafter\expandafter\XINT@productexpr -}% +\def\xintiproductexpr {\expandafter\XINT@productexpr\romannumeral-`0}% \let\xintProductExpr\xintiProductExpr \let\xintproductexpr\xintiproductexpr \def\XINT@productexpr {\XINT@prod@loop@a 1\Z }% \def\XINT@prod@loop@a #1\Z #2% {% - \expandafter\expandafter\expandafter\XINT@prod@loop@b #2\Z #1\Z \Z + \expandafter\XINT@prod@loop@b \romannumeral-`0#2\Z #1\Z \Z }% \def\XINT@prod@loop@b #1% {% @@ -2044,12 +2063,8 @@ \def\xintFac {\romannumeral0\xintfac }% \def\xintfac #1% {% - \expandafter\expandafter\expandafter - \XINT@fac@fork - \expandafter\expandafter\expandafter - {#1}% + \expandafter\XINT@fac@fork\expandafter{\the\numexpr #1}% }% -\def\XINT@Fac {\romannumeral0\XINT@fac@fork }% \def\XINT@fac@fork #1% {% \ifcase\XINT@Sgn {#1} @@ -2064,7 +2079,7 @@ }% \def\XINT@fac@checklength #1% {% - \ifnum\numexpr #1\relax>999999 + \ifnum #1>999999 \xint@afterfi{\expandafter\xintError:FactorialOfTooBigNumber \expandafter\space\expandafter 1\xint@gobble }% \else @@ -2130,8 +2145,7 @@ \def\xintiPow {\romannumeral0\xintipow }% \def\xintipow #1% {% - \expandafter\expandafter\expandafter\xint@pow - #1\Z% + \expandafter\xint@pow\romannumeral-`0#1\Z% }% \let\xintPow\xintiPow \let\xintpow\xintipow \def\xint@pow #1#2\Z @@ -2144,15 +2158,12 @@ }% \def\XINT@pow@Aneg #1#2#3% {% - \expandafter\expandafter\expandafter - \XINT@pow@Aneg@ - \expandafter\expandafter\expandafter - {#3}{#2}% + \expandafter\XINT@pow@Aneg@\expandafter{\the\numexpr #3}{#2}% }% \def\XINT@pow@Aneg@ #1% {% - \ifcase\XINT@Odd{#1} - \or \expandafter\XINT@pow@Aneg@Bodd + \ifodd #1 + \expandafter\XINT@pow@Aneg@Bodd \fi \XINT@pow@Anonneg@ {#1}% }% @@ -2162,10 +2173,7 @@ }% \def\XINT@pow@Anonneg #1#2#3% {% - \expandafter\expandafter\expandafter - \XINT@pow@Anonneg@ - \expandafter\expandafter\expandafter - {#3}{#1#2}% + \expandafter\XINT@pow@Anonneg@\expandafter {\the\numexpr #3}{#1#2}% }% \def\XINT@pow@Anonneg@ #1#2% {% @@ -2204,7 +2212,7 @@ \def\XINT@pow@BisZero #1#2{ 1}% \def\XINT@pow@checkBlength #1#2% {% - \ifnum\numexpr #1\relax >999999999 + \ifnum #1>999999999 \expandafter\XINT@pow@BtooBig \else \expandafter\XINT@pow@loop @@ -2287,16 +2295,12 @@ \def\xintiDivision {\romannumeral0\xintidivision }% \def\xintidivision #1% {% - \expandafter\expandafter\expandafter - \xint@division - \expandafter\expandafter\expandafter - {#1}% + \expandafter\xint@division\expandafter {\romannumeral-`0#1}% }% \let\xintDivision\xintiDivision \let\xintdivision\xintidivision \def\xint@division #1#2% {% - \expandafter\expandafter\expandafter - \XINT@div@fork #2\Z #1\Z + \expandafter\XINT@div@fork \romannumeral-`0#2\Z #1\Z }% \def\XINT@Division #1#2{\romannumeral0\XINT@div@fork #2\Z #1\Z }% \def\XINT@div@fork #1#2\Z #3#4\Z @@ -2375,33 +2379,30 @@ \ifnum #2=1 \expandafter\XINT@div@prepareB@BisOne \else - \xint@afterfi{\XINT@div@prepareB@e {000}{3}{4}{#2}}% - \fi + \expandafter\XINT@div@prepareB@e + \fi {000}{3}{4}{#2}% }% -\def\XINT@div@prepareB@BisOne #1{ {#1}{0}}% +\def\XINT@div@prepareB@BisOne #1#2#3#4#5{ {#5}{0}}% \def\XINT@div@prepareB@a #1% {% - \expandafter \XINT@div@prepareB@b \expandafter - {\the\numexpr 4*((#1+1)/4)}{#1}% -}% -\def\XINT@div@prepareB@b #1#2% -{% - \expandafter \XINT@div@prepareB@c \expandafter - {\the\numexpr #1-#2}{#1}% + \expandafter\XINT@div@prepareB@c\expandafter{\the\numexpr 4*((#1+1)/4)}{#1}% }% -\def\XINT@div@prepareB@c #1% +\def\XINT@div@prepareB@c #1#2% {% - \ifcase #1 - \expandafter\XINT@div@prepareB@di - \or \expandafter\XINT@div@prepareB@dii - \or \expandafter\XINT@div@prepareB@diii - \else \expandafter\XINT@div@prepareB@div - \fi + \ifcase \numexpr #1-#2\relax + \expandafter\XINT@div@prepareB@d + \or + \expandafter\XINT@div@prepareB@di + \or + \expandafter\XINT@div@prepareB@dii + \or + \expandafter\XINT@div@prepareB@diii + \fi {#1}% }% -\def\XINT@div@prepareB@di {\XINT@div@prepareB@e {}{0}}% -\def\XINT@div@prepareB@dii {\XINT@div@prepareB@e {0}{1}}% -\def\XINT@div@prepareB@diii {\XINT@div@prepareB@e {00}{2}}% -\def\XINT@div@prepareB@div {\XINT@div@prepareB@e {000}{3}}% +\def\XINT@div@prepareB@d {\XINT@div@prepareB@e {}{0}}% +\def\XINT@div@prepareB@di {\XINT@div@prepareB@e {0}{1}}% +\def\XINT@div@prepareB@dii {\XINT@div@prepareB@e {00}{2}}% +\def\XINT@div@prepareB@diii {\XINT@div@prepareB@e {000}{3}}% \def\XINT@div@prepareB@e #1#2#3#4% {% \XINT@div@prepareB@f #4#1\Z {#3}{#2}{#1}% @@ -2422,27 +2423,24 @@ }% \def\XINT@div@prepareA@b #1% {% - \expandafter\XINT@div@prepareA@c\expandafter - {\the\numexpr 4*((#1+1)/4)}{#1}% + \expandafter\XINT@div@prepareA@c\expandafter{\the\numexpr 4*((#1+1)/4)}{#1}% }% \def\XINT@div@prepareA@c #1#2% {% - \expandafter\XINT@div@prepareA@d \expandafter - {\the\numexpr #1-#2}{#1}% -}% -\def\XINT@div@prepareA@d #1% -{% - \ifcase #1 - \expandafter\XINT@div@prepareA@di - \or \expandafter\XINT@div@prepareA@dii - \or \expandafter\XINT@div@prepareA@diii - \else \expandafter\XINT@div@prepareA@div - \fi + \ifcase \numexpr #1-#2\relax + \expandafter\XINT@div@prepareA@d + \or + \expandafter\XINT@div@prepareA@di + \or + \expandafter\XINT@div@prepareA@dii + \or + \expandafter\XINT@div@prepareA@diii + \fi {#1}% }% -\def\XINT@div@prepareA@di {\XINT@div@prepareA@e {}}% -\def\XINT@div@prepareA@dii {\XINT@div@prepareA@e {0}}% -\def\XINT@div@prepareA@diii {\XINT@div@prepareA@e {00}}% -\def\XINT@div@prepareA@div {\XINT@div@prepareA@e {000}}% +\def\XINT@div@prepareA@d {\XINT@div@prepareA@e {}}% +\def\XINT@div@prepareA@di {\XINT@div@prepareA@e {0}}% +\def\XINT@div@prepareA@dii {\XINT@div@prepareA@e {00}}% +\def\XINT@div@prepareA@diii {\XINT@div@prepareA@e {000}}% \def\XINT@div@prepareA@e #1#2#3% {% \XINT@div@startswitch {#1#3}{#2}% @@ -2460,24 +2458,22 @@ }% \def\XINT@div@finished@a #1#2#3% {% - \expandafter \XINT@div@finished@b \expandafter - {\romannumeral0\XINT@cuz {#1}}% + \expandafter\XINT@div@finished@b\expandafter {\romannumeral0\XINT@cuz {#1}}% }% \def\XINT@div@finished@b #1#2#3#4#5% {% \ifcase \XINT@Sgn {#1} \xint@afterfi {\XINT@div@finished@c {0}}% \or - \xint@afterfi {\expandafter\XINT@div@finished@c - \expandafter - {\romannumeral0\XINT@dsh@checksignx #5\Z {#1}}}% + \xint@afterfi {\expandafter\XINT@div@finished@c\expandafter + {\romannumeral0\XINT@dsh@checksignx #5\Z {#1}}% + }% \fi {#2}% }% \def\XINT@div@finished@c #1#2% {% - \expandafter\space\expandafter - {\romannumeral0\XINT@rev@andcuz {#2}}{#1}% + \expandafter\space\expandafter {\romannumeral0\XINT@rev@andcuz {#2}}{#1}% }% \def\XINT@div@final@a #1% {% @@ -2539,14 +2535,14 @@ \XINT@div@final@f {#1}% {\romannumeral0\XINT@add@A 0{}#2000\W\X\Y\Z #4\W\X\Y\Z }% }% -\def\XINT@div@final@f #1#2#3% R,Q à développer,c +\def\XINT@div@final@f #1#2#3% R,Q \`a d\'evelopper,c {% \ifcase \XINT@Sgn {#1} \xint@afterfi {\XINT@div@final@end {0}}% \or - \xint@afterfi {\expandafter\XINT@div@final@end - \expandafter % pas de leading zeros dans #1=R - {\romannumeral0\XINT@dsh@checksignx #3\Z {#1}}}% + \xint@afterfi {\expandafter\XINT@div@final@end\expandafter + {\romannumeral0\XINT@dsh@checksignx #3\Z {#1}}% + }% \fi {#2}% }% @@ -2644,8 +2640,7 @@ \def\XINT@div@body@l #1#2#3#4#5#6#7% {% \expandafter\XINT@div@body@m - \the\numexpr 100000000+#2\relax - {#6}{#3}{#7}{#1#5}{#4}% + \the\numexpr 100000000+#2\relax {#6}{#3}{#7}{#1#5}{#4}% }% \def\XINT@div@body@m #1#2#3#4#5#6#7#8#9% {% @@ -2777,7 +2772,7 @@ \def\xintiFDg {\romannumeral0\xintifdg }% \def\xintifdg #1% {% - \expandafter\expandafter\expandafter\XINT@fdg #1\W\Z + \expandafter\XINT@fdg \romannumeral-`0#1\W\Z }% \let\xintFDg\xintiFDg \let\xintfdg\xintifdg \def\XINT@FDg #1{\romannumeral0\XINT@fdg #1\W\Z }% @@ -2792,10 +2787,7 @@ \def\xintiLDg {\romannumeral0\xintildg }% \def\xintildg #1% {% - \expandafter\expandafter\expandafter - \XINT@ldg - \expandafter\expandafter\expandafter - {#1}% + \expandafter\XINT@ldg\expandafter {\romannumeral-`0#1}% }% \let\xintLDg\xintiLDg \let\xintldg\xintildg \def\XINT@LDg #1{\romannumeral0\XINT@ldg {#1}}% @@ -2845,7 +2837,7 @@ \def\xintDSL {\romannumeral0\xintdsl }% \def\xintdsl #1% {% - \expandafter\expandafter\expandafter\XINT@dsl #1\Z + \expandafter\XINT@dsl \romannumeral-`0#1\Z }% \def\XINT@DSL #1{\romannumeral0\XINT@dsl #1\Z }% \def\XINT@dsl #1% @@ -2857,16 +2849,12 @@ \def\xintDSR {\romannumeral0\xintdsr }% \def\xintdsr #1% {% - \expandafter\expandafter\expandafter - \XINT@dsr@a - \expandafter\expandafter\expandafter - {#1}\W\Z + \expandafter\XINT@dsr@a\expandafter {\romannumeral-`0#1}\W\Z }% \def\XINT@DSR #1{\romannumeral0\XINT@dsr@a {#1}\W\Z }% \def\XINT@dsr@a {% - \expandafter\XINT@dsr@b - \romannumeral0\XINT@rev + \expandafter\XINT@dsr@b\romannumeral0\XINT@rev }% \def\XINT@dsr@b #1#2#3\Z {% @@ -2880,7 +2868,7 @@ \def\xintDSHr {\romannumeral0\xintdshr }% \def\xintdshr #1% {% - \expandafter\expandafter\expandafter\XINT@dshr@checkxpositive #1\Z + \expandafter\XINT@dshr@checkxpositive \the\numexpr #1\relax\Z }% \def\XINT@dshr@checkxpositive #1% {% @@ -2893,21 +2881,16 @@ \def\XINT@dshr@xzeroorneg #1\Z #2{ 0}% \def\XINT@dshr@xpositive #1\Z {% - \expandafter\xint@secondoftwo@andstop - \romannumeral0\xintdsx {#1}% + \expandafter\xint@secondoftwo@andstop\romannumeral0\xintdsx {#1}% }% \def\xintDSH {\romannumeral0\xintdsh }% \def\xintdsh #1#2% {% - \expandafter\expandafter\expandafter - \xint@dsh - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\xint@dsh\expandafter {\romannumeral-`0#2}{#1}% }% \def\xint@dsh #1#2% {% - \expandafter\expandafter\expandafter - \XINT@dsh@checksignx #2\Z {#1}% + \expandafter\XINT@dsh@checksignx \the\numexpr #2\relax\Z {#1}% }% \def\XINT@dsh@checksignx #1% {% @@ -2926,14 +2909,11 @@ \def\xintDSx {\romannumeral0\xintdsx }% \def\xintdsx #1#2% {% - \expandafter\expandafter\expandafter - \xint@dsx - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\xint@dsx\expandafter {\romannumeral-`0#2}{#1}% }% \def\xint@dsx #1#2% {% - \expandafter\expandafter\expandafter\XINT@dsx@checksignx #2\Z {#1}% + \expandafter\XINT@dsx@checksignx \the\numexpr #2\relax\Z {#1}% }% \def\XINT@DSx #1#2{\romannumeral0\XINT@dsx@checksignx #1\Z {#2}}% \def\XINT@dsx #1#2{\XINT@dsx@checksignx #1\Z {#2}}% @@ -2952,55 +2932,36 @@ }% \def\XINT@dsx@xisNeg@checkA@ #1#2\Z #3% {% - \xint@zero #1\XINT@dsx@xisNeg@Azero 0\expandafter - \XINT@dsx@xisNeg@checkx\expandafter - {\romannumeral0\XINT@length {#3}}{#3}\Z {#1#2}% + \xint@zero #1\XINT@dsx@xisNeg@Azero 0% + \XINT@dsx@xisNeg@checkx {#3}{#3}\Z {#1#2}% }% -\def\XINT@dsx@xisNeg@Azero #1#2#3#4#5#6#7#8{ 0}% +\def\XINT@dsx@xisNeg@Azero #1\Z #2{ 0}% \def\XINT@dsx@xisNeg@checkx #1% {% - \ifnum #1> 9 - \xint@afterfi {\xintError:TooBigDecimalShift\XINT@dsx@toobigx }% + \ifnum #1> 999999999 + \xint@afterfi + {\xintError:TooBigDecimalShift + \expandafter\space\expandafter 0\xint@gobble@iii }% \else \expandafter \XINT@dsx@zeroloop \fi }% -\def\XINT@dsx@toobigx #1#2#3{ 0}% \def\XINT@dsx@zeroloop #1% {% - \ifcase #1 - \XINT@dsx@exit - \or - \XINT@dsx@exiti - \or - \XINT@dsx@exitii - \or - \XINT@dsx@exitiii - \or - \XINT@dsx@exitiv - \or - \XINT@dsx@exitv - \or - \XINT@dsx@exitvi - \or - \XINT@dsx@exitvii - \else - \xint@afterfi - {\expandafter - \XINT@dsx@zeroloop - \expandafter {\the\numexpr #1-8}00000000% - }% - \fi + \ifnum #1<9 \XINT@dsx@exita\fi + \expandafter\XINT@dsx@zeroloop\expandafter + {\the\numexpr #1-8}00000000% +}% +\def\XINT@dsx@exita\fi\expandafter\XINT@dsx@zeroloop +{% + \fi\expandafter\XINT@dsx@exitb +}% +\def\XINT@dsx@exitb #1% +{% + \expandafter\expandafter\expandafter + \XINT@dsx@addzeros\csname xint@gobble@\romannumeral -#1\endcsname }% -\def\XINT@dsx@exit #1\fi #2\Z {\fi \XINT@dsx@addzeros {#2}}% -\def\XINT@dsx@exiti #1\fi #2\Z {\fi \XINT@dsx@addzeros {0#2}}% -\def\XINT@dsx@exitii #1\fi #2\Z {\fi \XINT@dsx@addzeros {00#2}}% -\def\XINT@dsx@exitiii #1\fi #2\Z {\fi \XINT@dsx@addzeros {000#2}}% -\def\XINT@dsx@exitiv #1\fi #2\Z {\fi \XINT@dsx@addzeros {0000#2}}% -\def\XINT@dsx@exitv #1\fi #2\Z {\fi \XINT@dsx@addzeros {00000#2}}% -\def\XINT@dsx@exitvi #1\fi #2\Z {\fi \XINT@dsx@addzeros {000000#2}}% -\def\XINT@dsx@exitvii #1\fi #2\Z {\fi \XINT@dsx@addzeros {0000000#2}}% -\def\XINT@dsx@addzeros #1#2{ #2#1}% +\def\XINT@dsx@addzeros #1\Z #2{ #2#1}% \def\XINT@dsx@xisPos #1\Z #2% {% \XINT@dsx@checksignA #2\Z {#1}% @@ -3074,14 +3035,11 @@ }% \def\xint@split #1#2% {% - \expandafter\expandafter\expandafter - \XINT@split@checksizex - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@split@checksizex\expandafter{\the\numexpr #2}{#1}% }% -\def\XINT@split@checksizex #1% +\def\XINT@split@checksizex #1% 999999999 is anyhow very big, could be reduced {% - \ifnum\XINT@Len {#1} > 9 + \ifnum\numexpr\XINT@Abs{#1}\relax > 999999999 \xint@afterfi {\xintError:TooBigDecimalSplit\XINT@split@bigx }% \else \expandafter\XINT@split@xfork @@ -3105,77 +3063,51 @@ \xint@UDkrof }% \def\XINT@split@zerosplit #1\Z #2{ {#2}{}}% -\def\XINT@split@fromleft #1\Z #2% +\def\XINT@split@fromleft #1\Z #2% {% \XINT@split@fromleft@loop {#1}{}#2\W\W\W\W\W\W\W\W\Z }% \def\XINT@split@fromleft@loop #1% {% - \ifcase #1 - \XINT@split@fromleft@endsplit - \or - \XINT@split@fromleft@one@andend - \or - \XINT@split@fromleft@two@andend - \or - \XINT@split@fromleft@three@andend - \or - \XINT@split@fromleft@four@andend - \or - \XINT@split@fromleft@five@andend - \or - \XINT@split@fromleft@six@andend - \or - \XINT@split@fromleft@seven@andend - \else - \expandafter \XINT@split@fromleft@loop@perhaps - \expandafter - {\the\numexpr #1-8\expandafter\expandafter\expandafter }% - \expandafter - \XINT@split@fromleft@eight - \fi -}% -\def\XINT@split@fromleft@endsplit #1\fi #2#3\W #4\Z - {\expandafter\space\fi {#2}{#3}}% -\def\XINT@split@fromleft@eight #1#2#3#4#5#6#7#8#9% -{% - #9{#1#2#3#4#5#6#7#8#9}% + \ifnum #1<8 \XINT@split@fromleft@exita\fi + \expandafter\XINT@split@fromleft@loop@perhaps\expandafter + {\the\numexpr #1-8\expandafter}\XINT@split@fromleft@eight }% +\def\XINT@split@fromleft@eight #1#2#3#4#5#6#7#8#9{#9{#1#2#3#4#5#6#7#8#9}}% \def\XINT@split@fromleft@loop@perhaps #1#2% {% - \xint@w #2\XINT@split@fromleft@toofar\W \XINT@split@fromleft@loop - {#1}% + \xint@w #2\XINT@split@fromleft@toofar\W\XINT@split@fromleft@loop {#1}% }% -\def\XINT@split@fromleft@toofar\W \XINT@split@fromleft@loop #1#2#3\Z +\def\XINT@split@fromleft@toofar\W\XINT@split@fromleft@loop #1#2#3\Z {% \XINT@split@fromleft@toofar@b #2\Z }% \def\XINT@split@fromleft@toofar@b #1\W #2\Z { {#1}{}}% -\def\XINT@split@fromleft@one@andend #1\fi -{\fi\expandafter\XINT@split@fromleft@checkiftoofar\XINT@split@fromleft@one }% -\def\XINT@split@fromleft@one #1#2{#2{#1#2}}% -\def\XINT@split@fromleft@two@andend #1\fi -{\fi\expandafter\XINT@split@fromleft@checkiftoofar\XINT@split@fromleft@two }% -\def\XINT@split@fromleft@two #1#2#3{#3{#1#2#3}}% -\def\XINT@split@fromleft@three@andend #1\fi -{\fi\expandafter\XINT@split@fromleft@checkiftoofar\XINT@split@fromleft@three }% -\def\XINT@split@fromleft@three #1#2#3#4{#4{#1#2#3#4}}% -\def\XINT@split@fromleft@four@andend #1\fi -{\fi\expandafter\XINT@split@fromleft@checkiftoofar\XINT@split@fromleft@four }% -\def\XINT@split@fromleft@four #1#2#3#4#5{#5{#1#2#3#4#5}}% -\def\XINT@split@fromleft@five@andend #1\fi -{\fi\expandafter\XINT@split@fromleft@checkiftoofar\XINT@split@fromleft@five }% -\def\XINT@split@fromleft@five #1#2#3#4#5#6{#6{#1#2#3#4#5#6}}% -\def\XINT@split@fromleft@six@andend #1\fi -{\fi\expandafter\XINT@split@fromleft@checkiftoofar\XINT@split@fromleft@six }% -\def\XINT@split@fromleft@six #1#2#3#4#5#6#7{#7{#1#2#3#4#5#6#7}}% -\def\XINT@split@fromleft@seven@andend #1\fi -{\fi\expandafter\XINT@split@fromleft@checkiftoofar\XINT@split@fromleft@seven }% -\def\XINT@split@fromleft@seven #1#2#3#4#5#6#7#8{#8{#1#2#3#4#5#6#7#8}}% +\def\XINT@split@fromleft@exita\fi + \expandafter\XINT@split@fromleft@loop@perhaps\expandafter #1#2% + {\fi \XINT@split@fromleft@exitb #1}% +\def\XINT@split@fromleft@exitb\the\numexpr #1-8\expandafter +{% + \csname XINT@split@fromleft@endsplit@\romannumeral #1\endcsname +}% +\def\XINT@split@fromleft@endsplit@ #1#2\W #3\Z { {#1}{#2}}% +\def\XINT@split@fromleft@endsplit@i #1#2% + {\XINT@split@fromleft@checkiftoofar #2{#1#2}}% +\def\XINT@split@fromleft@endsplit@ii #1#2#3% + {\XINT@split@fromleft@checkiftoofar #3{#1#2#3}}% +\def\XINT@split@fromleft@endsplit@iii #1#2#3#4% + {\XINT@split@fromleft@checkiftoofar #4{#1#2#3#4}}% +\def\XINT@split@fromleft@endsplit@iv #1#2#3#4#5% + {\XINT@split@fromleft@checkiftoofar #5{#1#2#3#4#5}}% +\def\XINT@split@fromleft@endsplit@v #1#2#3#4#5#6% + {\XINT@split@fromleft@checkiftoofar #6{#1#2#3#4#5#6}}% +\def\XINT@split@fromleft@endsplit@vi #1#2#3#4#5#6#7% + {\XINT@split@fromleft@checkiftoofar #7{#1#2#3#4#5#6#7}}% +\def\XINT@split@fromleft@endsplit@vii #1#2#3#4#5#6#7#8% + {\XINT@split@fromleft@checkiftoofar #8{#1#2#3#4#5#6#7#8}}% \def\XINT@split@fromleft@checkiftoofar #1#2#3\W #4\Z {% - \xint@w #1\XINT@split@fromleft@wenttoofar\W - \space {#2}{#3}% + \xint@w #1\XINT@split@fromleft@wenttoofar\W\space {#2}{#3}% }% \def\XINT@split@fromleft@wenttoofar\W\space #1% {% @@ -3193,72 +3125,48 @@ }% \def\XINT@split@fromright@loop #1% {% - \ifcase #1 - \expandafter\XINT@split@fromright@endsplit - \or - \XINT@split@fromright@one@andend - \or - \XINT@split@fromright@two@andend - \or - \XINT@split@fromright@three@andend - \or - \XINT@split@fromright@four@andend - \or - \XINT@split@fromright@five@andend - \or - \XINT@split@fromright@six@andend - \or - \XINT@split@fromright@seven@andend - \else - \expandafter \XINT@split@fromright@loop@perhaps - \expandafter - {\the\numexpr - #1-8\expandafter\expandafter\expandafter }% - \expandafter - \XINT@split@fromright@eight - \fi + \ifnum #1<8 \XINT@split@fromright@exita\fi + \expandafter\XINT@split@fromright@loop@perhaps\expandafter + {\the\numexpr #1-8\expandafter }\XINT@split@fromright@eight }% -\def\XINT@split@fromright@endsplit #1#2\W #3\Z #4% +\def\XINT@split@fromright@eight #1#2#3#4#5#6#7#8#9{#9{#9#8#7#6#5#4#3#2#1}}% +\def\XINT@split@fromright@loop@perhaps #1#2% {% - \expandafter\space\expandafter {\romannumeral0\XINT@rev{#2}}{#1}% + \xint@w #2\XINT@split@fromright@toofar\W + \XINT@split@fromright@loop {#1}% }% -\def\XINT@split@fromright@eight #1#2#3#4#5#6#7#8#9% +\def\XINT@split@fromright@toofar\W\XINT@split@fromright@loop #1#2#3\Z { {}}% +\def\XINT@split@fromright@exita\fi + \expandafter\XINT@split@fromright@loop@perhaps\expandafter #1#2% + {\fi \XINT@split@fromright@exitb #1}% +\def\XINT@split@fromright@exitb\the\numexpr #1-8\expandafter {% - #9{#9#8#7#6#5#4#3#2#1}% + \csname XINT@split@fromright@endsplit@\romannumeral #1\endcsname }% -\def\XINT@split@fromright@loop@perhaps #1#2% +\def\XINT@split@fromright@endsplit@ #1#2\W #3\Z #4% {% - \xint@w #2\XINT@split@fromright@toofar\W\XINT@split@fromright@loop - {#1}% + \expandafter\space\expandafter {\romannumeral0\XINT@rev{#2}}{#1}% }% -\def\XINT@split@fromright@toofar\W\XINT@split@fromright@loop #1#2#3\Z { {}}% -\def\XINT@split@fromright@one@andend #1\fi {\fi\expandafter - \XINT@split@fromright@checkiftoofar\XINT@split@fromright@one }% -\def\XINT@split@fromright@one #1#2{#2{#2#1}}% -\def\XINT@split@fromright@two@andend #1\fi {\fi\expandafter - \XINT@split@fromright@checkiftoofar\XINT@split@fromright@two }% -\def\XINT@split@fromright@two #1#2#3{#3{#3#2#1}}% -\def\XINT@split@fromright@three@andend #1\fi {\fi\expandafter - \XINT@split@fromright@checkiftoofar\XINT@split@fromright@three }% -\def\XINT@split@fromright@three #1#2#3#4{#4{#4#3#2#1}}% -\def\XINT@split@fromright@four@andend #1\fi {\fi\expandafter - \XINT@split@fromright@checkiftoofar\XINT@split@fromright@four }% -\def\XINT@split@fromright@four #1#2#3#4#5{#5{#5#4#3#2#1}}% -\def\XINT@split@fromright@five@andend #1\fi {\fi\expandafter - \XINT@split@fromright@checkiftoofar\XINT@split@fromright@five }% -\def\XINT@split@fromright@five #1#2#3#4#5#6{#6{#6#5#4#3#2#1}}% -\def\XINT@split@fromright@six@andend #1\fi {\fi\expandafter - \XINT@split@fromright@checkiftoofar\XINT@split@fromright@six }% -\def\XINT@split@fromright@six #1#2#3#4#5#6#7{#7{#7#6#5#4#3#2#1}}% -\def\XINT@split@fromright@seven@andend #1\fi {\fi\expandafter - \XINT@split@fromright@checkiftoofar\XINT@split@fromright@seven }% -\def\XINT@split@fromright@seven #1#2#3#4#5#6#7#8{#8{#8#7#6#5#4#3#2#1}}% +\def\XINT@split@fromright@endsplit@i #1#2% + {\XINT@split@fromright@checkiftoofar #2{#2#1}}% +\def\XINT@split@fromright@endsplit@ii #1#2#3% + {\XINT@split@fromright@checkiftoofar #3{#3#2#1}}% +\def\XINT@split@fromright@endsplit@iii #1#2#3#4% + {\XINT@split@fromright@checkiftoofar #4{#4#3#2#1}}% +\def\XINT@split@fromright@endsplit@iv #1#2#3#4#5% + {\XINT@split@fromright@checkiftoofar #5{#5#4#3#2#1}}% +\def\XINT@split@fromright@endsplit@v #1#2#3#4#5#6% + {\XINT@split@fromright@checkiftoofar #6{#6#5#4#3#2#1}}% +\def\XINT@split@fromright@endsplit@vi #1#2#3#4#5#6#7% + {\XINT@split@fromright@checkiftoofar #7{#7#6#5#4#3#2#1}}% +\def\XINT@split@fromright@endsplit@vii #1#2#3#4#5#6#7#8% + {\XINT@split@fromright@checkiftoofar #8{#8#7#6#5#4#3#2#1}}% \def\XINT@split@fromright@checkiftoofar #1% {% \xint@w #1\XINT@split@fromright@wenttoofar\W - \XINT@split@fromright@endsplit + \XINT@split@fromright@endsplit@ }% -\def\XINT@split@fromright@wenttoofar\W\XINT@split@fromright@endsplit #1\Z #2% +\def\XINT@split@fromright@wenttoofar\W\XINT@split@fromright@endsplit@ #1\Z #2% { {}{#2}}% \XINT@restorecatcodes@endinput% \endinput diff --git a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty index d94a3b73381..04ca2542311 100644 --- a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty +++ b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% %%---------------------------------------------------------------- -%% The xint bundle (version 1.05a of May 2nd, 2013) +%% The xint bundle (version 1.06 of May 7th, 2013) %% xintcfrac: Expandable continued fractions with xint package %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -116,6 +116,7 @@ {% \catcode93=\the\catcode93 % ] \catcode91=\the\catcode91 % [ + \catcode96=\the\catcode96 % ` \catcode47=\the\catcode47 % / \catcode41=\the\catcode41 % ) \catcode40=\the\catcode40 % ( @@ -162,7 +163,7 @@ \fi \expandafter\x\csname ver@xintcfrac.sty\endcsname \ProvidesPackage{xintcfrac}% - [2013/05/02 v1.05a Expandable continued fractions with xint package (jfB)]% + [2013/05/07 v1.06 Expandable continued fractions with xint package (jfB)]% \def\xintCFrac {\romannumeral0\xintcfrac }% \def\xintcfrac #1% {% @@ -268,7 +269,7 @@ }% \def\XINT@gcfrac {% - \expandafter\expandafter\expandafter\XINT@gcfrac@enter + \expandafter\XINT@gcfrac@enter\romannumeral-`0% }% \def\XINT@gcfrac@enter {\XINT@gcfrac@loop {}}% \def\XINT@gcfrac@loop #1#2+#3/% @@ -296,8 +297,7 @@ \def\xintGCtoGCx {\romannumeral0\xintgctogcx }% \def\xintgctogcx #1#2#3% {% - \expandafter\expandafter\expandafter\XINT@gctgcx@start - \expandafter\expandafter\expandafter {#3}{#1}{#2}% + \expandafter\XINT@gctgcx@start\expandafter {\romannumeral-`0#3}{#1}{#2}% }% \def\XINT@gctgcx@start #1#2#3{\XINT@gctgcx@loop@a {}{#2}{#3}#1+\W/}% \def\XINT@gctgcx@loop@a #1#2#3#4+#5/% @@ -468,7 +468,7 @@ \def\xintCstoF {\romannumeral0\xintcstof }% \def\xintcstof #1% {% - \expandafter\expandafter\expandafter\XINT@cstf@prep #1,\W,% + \expandafter\XINT@cstf@prep \romannumeral-`0#1,\W,% }% \def\XINT@cstf@prep {% @@ -503,7 +503,7 @@ \def\xintiCstoF {\romannumeral0\xinticstof }% \def\xinticstof #1% {% - \expandafter\expandafter\expandafter\XINT@icstf@prep #1,\W,% + \expandafter\XINT@icstf@prep \romannumeral-`0#1,\W,% }% \def\XINT@icstf@prep {% @@ -512,8 +512,8 @@ \def\XINT@icstf@loop@a #1#2#3#4#5,% {% \xint@w #5\XINT@icstf@end\W - \expandafter\expandafter\expandafter - \XINT@icstf@loop@b #5.{#1}{#2}{#3}{#4}% + \expandafter + \XINT@icstf@loop@b \romannumeral-`0#5.{#1}{#2}{#3}{#4}% }% \def\XINT@icstf@loop@b #1.#2#3#4#5% {% @@ -530,7 +530,7 @@ \def\xintGCtoF {\romannumeral0\xintgctof }% \def\xintgctof #1% {% - \expandafter\expandafter\expandafter\XINT@gctf@prep #1+\W/% + \expandafter\XINT@gctf@prep \romannumeral-`0#1+\W/% }% \def\XINT@gctf@prep {% @@ -590,7 +590,7 @@ \def\xintiGCtoF {\romannumeral0\xintigctof }% \def\xintigctof #1% {% - \expandafter\expandafter\expandafter\XINT@igctf@prep #1+\W/% + \expandafter\XINT@igctf@prep \romannumeral-`0#1+\W/% }% \def\XINT@igctf@prep {% @@ -598,8 +598,8 @@ }% \def\XINT@igctf@loop@a #1#2#3#4#5+% {% - \expandafter\expandafter\expandafter\XINT@igctf@loop@b - #5.{#1}{#2}{#3}{#4}% + \expandafter\XINT@igctf@loop@b + \romannumeral-`0#5.{#1}{#2}{#3}{#4}% }% \def\XINT@igctf@loop@b #1.#2#3#4#5% {% @@ -615,8 +615,8 @@ \def\XINT@igctf@loop@f #1#2#3#4/% {% \xint@w #4\XINT@igctf@end\W - \expandafter\expandafter\expandafter\XINT@igctf@loop@g - #4.{#2}{#3}#1% + \expandafter\XINT@igctf@loop@g + \romannumeral-`0#4.{#2}{#3}#1% }% \def\XINT@igctf@loop@g #1.#2#3% {% @@ -636,7 +636,7 @@ \def\xintCstoCv {\romannumeral0\xintcstocv }% \def\xintcstocv #1% {% - \expandafter\expandafter\expandafter\XINT@cstcv@prep #1,\W,% + \expandafter\XINT@cstcv@prep \romannumeral-`0#1,\W,% }% \def\XINT@cstcv@prep {% @@ -678,7 +678,7 @@ \def\xintiCstoCv {\romannumeral0\xinticstocv }% \def\xinticstocv #1% {% - \expandafter\expandafter\expandafter\XINT@icstcv@prep #1,\W,% + \expandafter\XINT@icstcv@prep \romannumeral-`0#1,\W,% }% \def\XINT@icstcv@prep {% @@ -687,8 +687,8 @@ \def\XINT@icstcv@loop@a #1#2#3#4#5#6,% {% \xint@w #6\XINT@icstcv@end\W - \expandafter\expandafter\expandafter - \XINT@icstcv@loop@b #6.{#2}{#3}{#4}{#5}{#1}% + \expandafter + \XINT@icstcv@loop@b \romannumeral-`0#6.{#2}{#3}{#4}{#5}{#1}% }% \def\XINT@icstcv@loop@b #1.#2#3#4#5% {% @@ -711,7 +711,7 @@ \def\xintGCtoCv {\romannumeral0\xintgctocv }% \def\xintgctocv #1% {% - \expandafter\expandafter\expandafter\XINT@gctcv@prep #1+\W/% + \expandafter\XINT@gctcv@prep \romannumeral-`0#1+\W/% }% \def\XINT@gctcv@prep {% @@ -781,7 +781,7 @@ \def\xintiGCtoCv {\romannumeral0\xintigctocv }% \def\xintigctocv #1% {% - \expandafter\expandafter\expandafter\XINT@igctcv@prep #1+\W/% + \expandafter\XINT@igctcv@prep \romannumeral-`0#1+\W/% }% \def\XINT@igctcv@prep {% @@ -789,8 +789,8 @@ }% \def\XINT@igctcv@loop@a #1#2#3#4#5#6+% {% - \expandafter\expandafter\expandafter\XINT@igctcv@loop@b - #6.{#2}{#3}{#4}{#5}{#1}% + \expandafter\XINT@igctcv@loop@b + \romannumeral-`0#6.{#2}{#3}{#4}{#5}{#1}% }% \def\XINT@igctcv@loop@b #1.#2#3#4#5% {% @@ -806,8 +806,8 @@ \def\XINT@igctcv@loop@f #1#2#3#4/% {% \xint@w #4\XINT@igctcv@end@a\W - \expandafter\expandafter\expandafter\XINT@igctcv@loop@g - #4.#1#2{#3}% + \expandafter\XINT@igctcv@loop@g + \romannumeral-`0#4.#1#2{#3}% }% \def\XINT@igctcv@loop@g #1.#2#3#4#5% {% @@ -836,24 +836,18 @@ \def\xintCntoF {\romannumeral0\xintcntof }% \def\xintcntof #1% {% - \expandafter\expandafter\expandafter - \XINT@cntf - \expandafter\expandafter\expandafter - {#1}% + \expandafter\XINT@cntf\expandafter {\the\numexpr #1}% }% \def\XINT@cntf #1#2% {% \ifnum #1>0 \xint@afterfi {\expandafter\XINT@cntf@loop\expandafter - {\the\numexpr - #1-1\expandafter\expandafter\expandafter}% - \expandafter\expandafter\expandafter - {#2{#1}}{#2}}% + {\the\numexpr #1-1\expandafter}\expandafter + {\romannumeral-`0#2{#1}}{#2}}% \else \xint@afterfi {\ifnum #1=0 - \xint@afterfi {\expandafter\expandafter\expandafter - \space #2{0}}% + \xint@afterfi {\expandafter\space \romannumeral-`0#2{0}}% \else \xint@afterfi { 0[0]}% \fi}% \fi @@ -870,29 +864,23 @@ \expandafter\XINT@cntf@loop\expandafter #1\expandafter #2#3% {% - \fi\xint@gobble@two #2% + \fi\xint@gobble@ii #2% }% \def\xintGCntoF {\romannumeral0\xintgcntof }% \def\xintgcntof #1% {% - \expandafter\expandafter\expandafter - \XINT@gcntf - \expandafter\expandafter\expandafter - {#1}% + \expandafter\XINT@gcntf\expandafter {\the\numexpr #1}% }% \def\XINT@gcntf #1#2#3% {% \ifnum #1>0 \xint@afterfi {\expandafter\XINT@gcntf@loop\expandafter - {\the\numexpr - #1-1\expandafter\expandafter\expandafter}% - \expandafter\expandafter\expandafter - {#2{#1}}{#2}{#3}}% + {\the\numexpr #1-1\expandafter}\expandafter + {\romannumeral-`0#2{#1}}{#2}{#3}}% \else \xint@afterfi {\ifnum #1=0 - \xint@afterfi {\expandafter\expandafter\expandafter - \space #2{0}}% + \xint@afterfi {\expandafter\space\romannumeral-`0#2{0}}% \else \xint@afterfi { 0[0]}% \fi}% \fi @@ -909,15 +897,12 @@ \expandafter\XINT@gcntf@loop\expandafter #1\expandafter #2#3#4% {% - \fi\xint@gobble@two #2% + \fi\xint@gobble@ii #2% }% \def\xintCntoCs {\romannumeral0\xintcntocs }% \def\xintcntocs #1% {% - \expandafter\expandafter\expandafter - \XINT@cntcs - \expandafter\expandafter\expandafter - {#1}% + \expandafter\XINT@cntcs\expandafter {\the\numexpr #1}% }% \def\XINT@cntcs #1#2% {% @@ -925,24 +910,20 @@ \xint@afterfi { 0[0]}% \else \xint@afterfi {\expandafter\XINT@cntcs@loop\expandafter - {\the\numexpr - #1-1\expandafter\expandafter\expandafter}% - \expandafter\expandafter\expandafter - {\expandafter\expandafter\expandafter - {#2{#1}}}{#2}}% + {\the\numexpr #1-1\expandafter}\expandafter + {\expandafter{\romannumeral-`0#2{#1}}}{#2}}% \fi }% \def\XINT@cntcs@loop #1#2#3% {% \ifnum #1>-1 \else \XINT@cntcs@exit \fi \expandafter\XINT@cntcs@loop\expandafter - {\the\numexpr #1-1\expandafter\expandafter\expandafter }% - \expandafter\expandafter\expandafter - {\expandafter\expandafter\expandafter{#3{#1}},#2}{#3}% + {\the\numexpr #1-1\expandafter }\expandafter + {\expandafter{\romannumeral-`0#3{#1}},#2}{#3}% }% \def\XINT@cntcs@exit \fi \expandafter\XINT@cntcs@loop\expandafter - #1\expandafter\expandafter\expandafter #2#3% + #1\expandafter #2#3% {% \fi\XINT@cntcs@@exit #2% }% @@ -950,10 +931,7 @@ \def\xintCntoGC {\romannumeral0\xintcntogc }% \def\xintcntogc #1% {% - \expandafter\expandafter\expandafter - \XINT@cntgc - \expandafter\expandafter\expandafter - {#1}% + \expandafter\XINT@cntgc\expandafter {\the\numexpr #1}% }% \def\XINT@cntgc #1#2% {% @@ -961,24 +939,20 @@ \xint@afterfi { 0[0]}% \else \xint@afterfi {\expandafter\XINT@cntgc@loop\expandafter - {\the\numexpr - #1-1\expandafter\expandafter\expandafter}% - \expandafter\expandafter\expandafter - {\expandafter\expandafter\expandafter - {#2{#1}}}{#2}}% + {\the\numexpr #1-1\expandafter}\expandafter + {\expandafter{\romannumeral-`0#2{#1}}}{#2}}% \fi }% \def\XINT@cntgc@loop #1#2#3% {% \ifnum #1>-1 \else \XINT@cntgc@exit \fi \expandafter\XINT@cntgc@loop\expandafter - {\the\numexpr #1-1\expandafter\expandafter\expandafter }% - \expandafter\expandafter\expandafter - {\expandafter\expandafter\expandafter{#3{#1}}+1/#2}{#3}% + {\the\numexpr #1-1\expandafter }\expandafter + {\expandafter{\romannumeral-`0#3{#1}}+1/#2}{#3}% }% \def\XINT@cntgc@exit \fi \expandafter\XINT@cntgc@loop\expandafter - #1\expandafter\expandafter\expandafter #2#3% + #1\expandafter #2#3% {% \fi\XINT@cntgc@@exit #2% }% @@ -986,10 +960,7 @@ \def\xintGCntoGC {\romannumeral0\xintgcntogc }% \def\xintgcntogc #1% {% - \expandafter\expandafter\expandafter - \XINT@gcntgc - \expandafter\expandafter\expandafter - {#1}% + \expandafter\XINT@gcntgc\expandafter {\the\numexpr #1}% }% \def\XINT@gcntgc #1#2#3% {% @@ -997,33 +968,24 @@ \xint@afterfi { {0[0]}}% \else \xint@afterfi {\expandafter\XINT@gcntgc@loop\expandafter - {\the\numexpr - #1-1\expandafter\expandafter\expandafter}% - \expandafter\expandafter\expandafter - {\expandafter\expandafter\expandafter - {#2{#1}}}{#2}{#3}}% + {\the\numexpr #1-1\expandafter}\expandafter + {\expandafter{\romannumeral-`0#2{#1}}}{#2}{#3}}% \fi }% \def\XINT@gcntgc@loop #1#2#3#4% {% \ifnum #1>-1 \else \XINT@gcntgc@exit \fi - \expandafter\expandafter\expandafter - \XINT@gcntgc@loop@b - \expandafter\expandafter\expandafter - {\expandafter\expandafter\expandafter - {#4{#1}}/#2}{#3{#1}}{#1}{#3}{#4}% + \expandafter\XINT@gcntgc@loop@b\expandafter + {\expandafter{\romannumeral-`0#4{#1}}/#2}{#3{#1}}{#1}{#3}{#4}% }% \def\XINT@gcntgc@loop@b #1#2#3% {% \expandafter\XINT@gcntgc@loop\expandafter - {\the\numexpr #3-1\expandafter\expandafter\expandafter}% - \expandafter\expandafter\expandafter - {\expandafter\expandafter\expandafter{#2}+#1}% + {\the\numexpr #3-1\expandafter}\expandafter + {\expandafter{\romannumeral-`0#2}+#1}% }% \def\XINT@gcntgc@exit \fi - \expandafter\expandafter\expandafter - \XINT@gcntgc@loop@b - \expandafter\expandafter\expandafter #1#2#3#4#5% + \expandafter\XINT@gcntgc@loop@b\expandafter #1#2#3#4#5% {% \fi\XINT@gcntgc@@exit #1% }% @@ -1031,7 +993,7 @@ \def\xintCstoGC {\romannumeral0\xintcstogc }% \def\xintcstogc #1% {% - \expandafter\expandafter\expandafter\XINT@cstc@prep #1,\W,% + \expandafter\XINT@cstc@prep \romannumeral-`0#1,\W,% }% \def\XINT@cstc@prep #1,{\XINT@cstc@loop@a {{#1}}}% \def\XINT@cstc@loop@a #1#2,% @@ -1043,32 +1005,26 @@ \def\xintGCtoGC {\romannumeral0\xintgctogc }% \def\xintgctogc #1% {% - \expandafter\expandafter\expandafter\XINT@gctgc@start #1+\W/% + \expandafter\XINT@gctgc@start \romannumeral-`0#1+\W/% }% \def\XINT@gctgc@start {\XINT@gctgc@loop@a {}}% \def\XINT@gctgc@loop@a #1#2+#3/% {% - \xint@w #3\XINT@gctgc@end\W - \expandafter\expandafter\expandafter - \XINT@gctgc@loop@b - \expandafter\expandafter\expandafter - {#2}{#3}{#1}% + \xint@w #3\XINT@gctgc@end\W\expandafter\XINT@gctgc@loop@b\expandafter + {\romannumeral-`0#2}{#3}{#1}% }% \def\XINT@gctgc@loop@b #1#2% {% - \expandafter\expandafter\expandafter - \XINT@gctgc@loop@c - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@gctgc@loop@c\expandafter + {\romannumeral-`0#2}{#1}% }% \def\XINT@gctgc@loop@c #1#2#3% {% \XINT@gctgc@loop@a {#3{#2}+{#1}/}% }% -\def\XINT@gctgc@end\W - \expandafter\expandafter\expandafter\XINT@gctgc@loop@b +\def\XINT@gctgc@end\W\expandafter\XINT@gctgc@loop@b {% - \expandafter\expandafter\expandafter\XINT@gctgc@@end + \expandafter\XINT@gctgc@@end }% \def\XINT@gctgc@@end #1#2#3{ #3{#1}}% \XINT@cfrac@restorecatcodes@endinput% diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty index 9f974caa565..73ea010430a 100644 --- a/Master/texmf-dist/tex/generic/xint/xintfrac.sty +++ b/Master/texmf-dist/tex/generic/xint/xintfrac.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% %%---------------------------------------------------------------- -%% The xint bundle (version 1.05a of May 2nd, 2013) +%% The xint bundle (version 1.06 of May 7th, 2013) %% xintfrac: Expandable operations on fractions %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -117,6 +117,7 @@ \catcode94=\the\catcode94 % ^ \catcode93=\the\catcode93 % ] \catcode91=\the\catcode91 % [ + \catcode96=\the\catcode96 % ` \catcode47=\the\catcode47 % / \catcode41=\the\catcode41 % ) \catcode40=\the\catcode40 % ( @@ -164,7 +165,7 @@ \fi \expandafter\x\csname ver@xintfrac.sty\endcsname \ProvidesPackage{xintfrac}% - [2013/05/02 v1.05a Expandable operations on fractions (jfB)]% + [2013/05/07 v1.06 Expandable operations on fractions (jfB)]% \def\xintLen {\romannumeral0\xintlen }% \def\xintlen #1% {% @@ -207,7 +208,7 @@ \def\XINT@inFrac {\romannumeral0\XINT@infrac }% \def\XINT@infrac #1% {% - \expandafter\expandafter\expandafter\XINT@infrac@ #1[\W]\Z\T + \expandafter\XINT@infrac@ \romannumeral-`0#1[\W]\Z\T }% \def\XINT@infrac@ #1[#2#3]#4\Z {% @@ -230,7 +231,7 @@ {% \xint@UDwfork #2\dummy \XINT@infrac@BCa - \W\dummy {\expandafter\expandafter\expandafter\XINT@infrac@BCb #2}% + \W\dummy {\expandafter\XINT@infrac@BCb \romannumeral-`0#2}% \xint@UDkrof #3\Z #1\Z }% @@ -241,7 +242,7 @@ {% \xint@UDwfork #2\dummy \XINT@frac@A - \W\dummy {\expandafter\expandafter\expandafter\XINT@frac@B #2}% + \W\dummy {\expandafter\XINT@frac@B \romannumeral-`0#2}% \xint@UDkrof #3.\W\Z #1.\W\Z }% @@ -465,7 +466,7 @@ \def\XINT@@frac@C #1#2#3#4#5% {% \ifcase\XINT@isOne {#5} - \or \xint@afterfi {\expandafter\xint@firstoftwo@andstop\xint@gobble@two }% + \or \xint@afterfi {\expandafter\xint@firstoftwo@andstop\xint@gobble@ii }% \fi \space \frac {#4}{#5}% @@ -606,7 +607,7 @@ #2\Z {#3}% }% \def\XINT@irr@denomisone #1\Z #2{ #1}% -\def\XINT@irr@negative #1\Z #2{\XINT@irr@D #1\Z #2\Z \XINT@opp}% +\def\XINT@irr@negative #1\Z #2{\XINT@irr@D #1\Z #2\Z \xint@minus@andstop}% \def\XINT@irr@nonneg #1\Z #2{\XINT@irr@D #1\Z #2\Z \space}% \def\XINT@irr@D #1#2\Z #3#4\Z {% @@ -656,7 +657,7 @@ \def\xintnum #1{\expandafter\XINT@intcheck\romannumeral0\xintirr {#1}/\W\Z }% \def\XINT@intcheck #1/#2#3\Z {% - \xint@w #2\xint@gobble@two\W\xintError:NotAnInteger + \xint@w #2\xint@gobble@ii\W\xintError:NotAnInteger \space #1% }% \def\xintJrr {\romannumeral0\xintjrr }% @@ -678,7 +679,7 @@ #2\Z {#3}% }% \def\XINT@jrr@denomisone #1\Z #2{ #1}% -\def\XINT@jrr@negative #1\Z #2{\XINT@jrr@D #1\Z #2\Z \XINT@opp}% +\def\XINT@jrr@negative #1\Z #2{\XINT@jrr@D #1\Z #2\Z \xint@minus@andstop }% \def\XINT@jrr@nonneg #1\Z #2{\XINT@jrr@D #1\Z #2\Z \space}% \def\XINT@jrr@D #1#2\Z #3#4\Z {% @@ -725,10 +726,7 @@ \def\xintiTrunc {\romannumeral0\xintitrunc }% \def\xinttrunc #1% {% - \expandafter\expandafter\expandafter - \XINT@trunc - \expandafter\expandafter\expandafter - {#1}% + \expandafter\XINT@trunc\expandafter {\the\numexpr #1}% }% \def\XINT@trunc #1#2% {% @@ -738,10 +736,7 @@ }% \def\xintitrunc #1% {% - \expandafter\expandafter\expandafter - \XINT@itrunc - \expandafter\expandafter\expandafter - {#1}% + \expandafter\XINT@itrunc\expandafter {\the\numexpr #1}% }% \def\XINT@itrunc #1#2% {% @@ -811,7 +806,7 @@ \ifnum #1 > 0 \xint@afterfi {\XINT@trunc@Ha {#2}}% \else - \xint@afterfi {\XINT@trunc@Hb {-#1}}% + \xint@afterfi {\XINT@trunc@Hb {-#1}}% -0,--1,--2, .... \fi }% \def\XINT@trunc@Ha @@ -825,16 +820,13 @@ \def\XINT@trunc@Hb #1#2#3% {% \expandafter #3\expandafter0\expandafter.% - \romannumeral0\XINT@dsx@zeroloop {#1}\Z {}#2% + \romannumeral0\XINT@dsx@zeroloop {#1}\Z {}#2% #1=-0 possible! }% \def\xintRound {\romannumeral0\xintround }% \def\xintiRound {\romannumeral0\xintiround }% \def\xintround #1% {% - \expandafter\expandafter\expandafter - \XINT@round - \expandafter\expandafter\expandafter - {#1}% + \expandafter\XINT@round\expandafter {\the\numexpr #1}% }% \def\XINT@round {% @@ -842,10 +834,7 @@ }% \def\xintiround #1% {% - \expandafter\expandafter\expandafter - \XINT@iround - \expandafter\expandafter\expandafter - {#1}% + \expandafter\XINT@iround\expandafter {\the\numexpr #1}% }% \def\XINT@iround {% @@ -961,11 +950,11 @@ \def\xintSum {\romannumeral0\xintsum }% \def\xintsum #1{\xintsumexpr #1\relax }% \def\xintSumExpr {\romannumeral0\xintsumexpr }% -\def\xintsumexpr {\expandafter\expandafter\expandafter\XINT@fsumexpr }% +\def\xintsumexpr {\expandafter\XINT@fsumexpr\romannumeral-`0}% \def\XINT@fsumexpr {\XINT@fsum@loop@a {0[0]}}% \def\XINT@fsum@loop@a #1#2% {% - \expandafter\expandafter\expandafter\XINT@fsum@loop@b #2\Z {#1}% + \expandafter\XINT@fsum@loop@b \romannumeral-`0#2\Z {#1}% }% \def\XINT@fsum@loop@b #1% {% @@ -1009,8 +998,7 @@ }% \def\xint@fpow #1#2% {% - \expandafter\expandafter\expandafter - \XINT@fpow@fork #2\Z #1% + \expandafter\XINT@fpow@fork\the\numexpr #2\relax\Z #1% }% \def\XINT@fpow@fork #1#2\Z {% @@ -1047,11 +1035,11 @@ \def\xintPrd {\romannumeral0\xintprd }% \def\xintprd #1{\xintproductexpr #1\relax }% \def\xintProductExpr {\romannumeral0\xintproductexpr }% -\def\xintproductexpr{\expandafter\expandafter\expandafter\XINT@fproductexpr }% +\def\xintproductexpr {\expandafter\XINT@fproductexpr \romannumeral-`0}% \def\XINT@fproductexpr {\XINT@fprod@loop@a {1[0]}}% \def\XINT@fprod@loop@a #1#2% {% - \expandafter\expandafter\expandafter\XINT@fprod@loop@b #2\Z {#1}% + \expandafter\XINT@fprod@loop@b \romannumeral-`0#2\Z {#1}% }% \def\XINT@fprod@loop@b #1% {% diff --git a/Master/texmf-dist/tex/generic/xint/xintgcd.sty b/Master/texmf-dist/tex/generic/xint/xintgcd.sty index 552d55e6eb1..85ffc253738 100644 --- a/Master/texmf-dist/tex/generic/xint/xintgcd.sty +++ b/Master/texmf-dist/tex/generic/xint/xintgcd.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% %%---------------------------------------------------------------- -%% The xint bundle (version 1.05a of May 2nd, 2013) +%% The xint bundle (version 1.06 of May 7th, 2013) %% xintgcd: Euclidean algorithm with xint package %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -115,6 +115,7 @@ \edef\XINT@gcd@restorecatcodes@endinput {% \catcode36=\the\catcode36 % $ + \catcode96=\the\catcode96 % ` \catcode47=\the\catcode47 % / \catcode41=\the\catcode41 % ) \catcode40=\the\catcode40 % ( @@ -162,7 +163,7 @@ \fi \expandafter\x\csname ver@xintgcd.sty\endcsname \ProvidesPackage{xintgcd}% - [2013/05/02 v1.05a Euclide algorithm with xint package (jfB)]% + [2013/05/07 v1.06 Euclide algorithm with xint package (jfB)]% \def\xintGCD {\romannumeral0\xintgcd }% \def\xintgcd #1% {% @@ -199,14 +200,11 @@ \def\xintBezout {\romannumeral0\xintbezout }% \def\xintbezout #1% {% - \expandafter\expandafter\expandafter - \xint@bezout - \expandafter\expandafter\expandafter - {#1}% + \expandafter\xint@bezout\expandafter {\romannumeral-`0#1}% }% \def\xint@bezout #1#2% {% - \expandafter\expandafter\expandafter\XINT@bezout@fork #2\Z #1\Z + \expandafter\XINT@bezout@fork \romannumeral-`0#2\Z #1\Z }% \def\XINT@bezout@fork #1#2\Z #3#4\Z {% @@ -351,8 +349,7 @@ }% \def\XINT@euc #1#2% {% - \expandafter\XINT@euc@fork - \romannumeral0\xintiabs {#2}\Z #1\Z + \expandafter\XINT@euc@fork \romannumeral0\xintiabs {#2}\Z #1\Z }% \def\XINT@euc@fork #1#2\Z #3#4\Z {% @@ -400,8 +397,7 @@ }% \def\XINT@bezalg #1#2% {% - \expandafter\XINT@bezalg@fork - \romannumeral0\xintiabs {#2}\Z #1\Z + \expandafter\XINT@bezalg@fork \romannumeral0\xintiabs {#2}\Z #1\Z }% \def\XINT@bezalg@fork #1#2\Z #3#4\Z {% @@ -463,10 +459,10 @@ \noindent \count 255 1 \loop - \hbox to \wd 0 {\hfil$\U{\the\numexpr 2*\count 255\relax}$}% - ${} = \U{\the\numexpr 2*\count 255 + 3\relax} - \times \U{\the\numexpr 2*\count 255 + 2\relax} - + \U{\the\numexpr 2*\count 255 + 4\relax}$% + \hbox to \wd 0 {\hfil$\U{\numexpr 2*\count 255\relax}$}% + ${} = \U{\numexpr 2*\count 255 + 3\relax} + \times \U{\numexpr 2*\count 255 + 2\relax} + + \U{\numexpr 2*\count 255 + 4\relax}$% \ifnum \count 255 < \N \hfill\break \advance \count 255 1 @@ -485,25 +481,25 @@ \count 255 1 \loop \noindent - \hbox to \wd 0 {\hfil$\BEZ{\the\numexpr 4*\count 255 - 2\relax}$}% - ${} = \BEZ{\the\numexpr 4*\count 255 + 5\relax} - \times \BEZ{\the\numexpr 4*\count 255 + 2\relax} - + \BEZ{\the\numexpr 4*\count 255 + 6\relax}$\hfill\break - \hbox to \wd 0 {\hfil$\BEZ{\the\numexpr 4*\count 255 +7\relax}$}% - ${} = \BEZ{\the\numexpr 4*\count 255 + 5\relax} - \times \BEZ{\the\numexpr 4*\count 255 + 3\relax} - + \BEZ{\the\numexpr 4*\count 255 - 1\relax}$\hfill\break - \hbox to \wd 0 {\hfil$\BEZ{\the\numexpr 4*\count 255 +8\relax}$}% - ${} = \BEZ{\the\numexpr 4*\count 255 + 5\relax} - \times \BEZ{\the\numexpr 4*\count 255 + 4\relax} - + \BEZ{\the\numexpr 4*\count 255 \relax}$ + \hbox to \wd 0 {\hfil$\BEZ{4*\count 255 - 2}$}% + ${} = \BEZ{4*\count 255 + 5} + \times \BEZ{4*\count 255 + 2} + + \BEZ{4*\count 255 + 6}$\hfill\break + \hbox to \wd 0 {\hfil$\BEZ{4*\count 255 +7}$}% + ${} = \BEZ{4*\count 255 + 5} + \times \BEZ{4*\count 255 + 3} + + \BEZ{4*\count 255 - 1}$\hfill\break + \hbox to \wd 0 {\hfil$\BEZ{4*\count 255 +8}$}% + ${} = \BEZ{4*\count 255 + 5} + \times \BEZ{4*\count 255 + 4} + + \BEZ{4*\count 255 }$ \endgraf \ifnum \count 255 < \N \advance \count 255 1 \repeat \par - \edef\U{\BEZ{\the\numexpr 4*\N + 4\relax}}% - \edef\V{\BEZ{\the\numexpr 4*\N + 3\relax}}% + \edef\U{\BEZ{4*\N + 4}}% + \edef\V{\BEZ{4*\N + 3}}% \edef\D{\BEZ5}% \ifodd\N $\U\times\A - \V\times \B = -\D$% diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty index 54cb650d53f..48145867882 100644 --- a/Master/texmf-dist/tex/generic/xint/xintseries.sty +++ b/Master/texmf-dist/tex/generic/xint/xintseries.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% %%---------------------------------------------------------------- -%% The xint bundle (version 1.05a of May 2nd, 2013) +%% The xint bundle (version 1.06 of May 7th, 2013) %% xintseries: Expandable partial sums with xint package %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -116,6 +116,7 @@ {% \catcode93=\the\catcode93 % ] \catcode91=\the\catcode91 % [ + \catcode96=\the\catcode96 % ` \catcode47=\the\catcode47 % / \catcode41=\the\catcode41 % ) \catcode40=\the\catcode40 % ( @@ -162,21 +163,15 @@ \fi \expandafter\x\csname ver@xintseries.sty\endcsname \ProvidesPackage{xintseries}% - [2013/05/02 v1.05a Expandable partial sums with xint package (jfB)]% + [2013/05/07 v1.06 Expandable partial sums with xint package (jfB)]% \def\xintSeries {\romannumeral0\xintseries }% \def\xintseries #1#2% {% - \expandafter\expandafter\expandafter - \XINT@series@i - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@series@i\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@series@i #1#2% {% - \expandafter\expandafter\expandafter - \XINT@series@ii - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@series@ii\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@series@ii #1#2#3% {% @@ -196,22 +191,16 @@ }% \def\XINT@series@exit \fi #1#2#3#4#5#6#7#8% {% - \fi\xint@gobble@two #6% + \fi\xint@gobble@ii #6% }% \def\xintiSeries {\romannumeral0\xintiseries }% \def\xintiseries #1#2% {% - \expandafter\expandafter\expandafter - \XINT@iseries@i - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@iseries@i\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@iseries@i #1#2% {% - \expandafter\expandafter\expandafter - \XINT@iseries@ii - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@iseries@ii\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@iseries@ii #1#2#3% {% @@ -231,22 +220,16 @@ }% \def\XINT@iseries@exit \fi #1#2#3#4#5#6#7#8% {% - \fi\xint@gobble@two #6% + \fi\xint@gobble@ii #6% }% \def\xintPowerSeries {\romannumeral0\xintpowerseries }% \def\xintpowerseries #1#2% {% - \expandafter\expandafter\expandafter - \XINT@powseries@i - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@powseries@i\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@powseries@i #1#2% {% - \expandafter\expandafter\expandafter - \XINT@powseries@ii - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@powseries@ii\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@powseries@ii #1#2#3#4% {% @@ -280,17 +263,11 @@ \def\xintPowerSeriesX {\romannumeral0\xintpowerseriesx }% \def\xintpowerseriesx #1#2% {% - \expandafter\expandafter\expandafter - \XINT@powseriesx@i - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@powseriesx@i\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@powseriesx@i #1#2% {% - \expandafter\expandafter\expandafter - \XINT@powseriesx@ii - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@powseriesx@ii\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@powseriesx@ii #1#2#3#4% {% @@ -298,8 +275,9 @@ \xint@afterfi { 0[0]}% \else \xint@afterfi - {\expandafter\expandafter\expandafter\XINT@powseriesx@pre - \expandafter\expandafter\expandafter {#4}{#1}{#2}{#3}}% + {\expandafter\XINT@powseriesx@pre\expandafter + {\romannumeral-`0#4}{#1}{#2}{#3}% + }% \fi }% \def\XINT@powseriesx@pre #1#2#3#4% @@ -309,17 +287,11 @@ \def\xintRationalSeries {\romannumeral0\xintratseries }% \def\xintratseries #1#2% {% - \expandafter\expandafter\expandafter - \XINT@ratseries@i - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@ratseries@i\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@ratseries@i #1#2% {% - \expandafter\expandafter\expandafter - \XINT@ratseries@ii - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@ratseries@ii\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@ratseries@ii #1#2#3#4% {% @@ -352,17 +324,11 @@ \def\xintRationalSeriesX {\romannumeral0\xintratseriesx }% \def\xintratseriesx #1#2% {% - \expandafter\expandafter\expandafter - \XINT@ratseriesx@i - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@ratseriesx@i\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@ratseriesx@i #1#2% {% - \expandafter\expandafter\expandafter - \XINT@ratseriesx@ii - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@ratseriesx@ii\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@ratseriesx@ii #1#2#3#4#5% {% @@ -370,8 +336,9 @@ \xint@afterfi { 0[0]}% \else \xint@afterfi - {\expandafter\expandafter\expandafter\XINT@ratseriesx@pre - \expandafter\expandafter\expandafter {#5}{#2}{#1}{#4}{#3}}% + {\expandafter\XINT@ratseriesx@pre\expandafter + {\romannumeral-`0#5}{#2}{#1}{#4}{#3}% + }% \fi }% \def\XINT@ratseriesx@pre #1#2#3#4#5% @@ -381,17 +348,11 @@ \def\xintFxPtPowerSeries {\romannumeral0\xintfxptpowerseries }% \def\xintfxptpowerseries #1#2% {% - \expandafter\expandafter\expandafter - \XINT@fppowseries@i - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@fppowseries@i\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@fppowseries@i #1#2% {% - \expandafter\expandafter\expandafter - \XINT@fppowseries@ii - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@fppowseries@ii\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@fppowseries@ii #1#2#3#4#5% {% @@ -440,17 +401,11 @@ \def\xintFxPtPowerSeriesX {\romannumeral0\xintfxptpowerseriesx }% \def\xintfxptpowerseriesx #1#2% {% - \expandafter\expandafter\expandafter - \XINT@fppowseriesx@i - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@fppowseriesx@i\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@fppowseriesx@i #1#2% {% - \expandafter\expandafter\expandafter - \XINT@fppowseriesx@ii - \expandafter\expandafter\expandafter - {#2}{#1}% + \expandafter\XINT@fppowseriesx@ii\expandafter {\the\numexpr #2}{#1}% }% \def\XINT@fppowseriesx@ii #1#2#3#4#5% {% @@ -458,10 +413,8 @@ \xint@afterfi { 0}% \else \xint@afterfi - {\expandafter\expandafter\expandafter - \XINT@fppowseriesx@pre - \expandafter\expandafter\expandafter - {#4}{#1}{#2}{#3}{#5}% + {\expandafter \XINT@fppowseriesx@pre \expandafter + {\romannumeral-`0#4}{#1}{#2}{#3}{#5}% }% \fi }% |