diff options
author | Karl Berry <karl@freefriends.org> | 2013-11-24 00:00:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-11-24 00:00:29 +0000 |
commit | c9f8bd8bf029f005f02efea2a67dade996df2515 (patch) | |
tree | 671b749f2efa72f532d714a47ea4d3d79be5b4ce /Master/texmf-dist/tex/generic/xint/xint.sty | |
parent | 42b82c7597e89fadde85939a364fa8d8aa24f2fa (diff) |
xint (23nov13)
git-svn-id: svn://tug.org/texlive/trunk@32224 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xint/xint.sty')
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xint.sty | 1062 |
1 files changed, 77 insertions, 985 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty index 26e616d946e..da74f7916af 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.09f of November 4, 2013) +%% The xint bundle (version 1.09g of November 22, 2013) %% xint: Expandable operations on long numbers %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -33,13 +33,15 @@ \catcode123=1 % { \catcode125=2 % } \catcode64=11 % @ - \catcode95=11 % _ \catcode35=6 % # \catcode44=12 % , \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : + \def\space { }% + \let\z\endgroup \expandafter\let\expandafter\x\csname ver@xint.sty\endcsname + \expandafter\let\expandafter\w\csname ver@xinttools.sty\endcsname \expandafter \ifx\csname PackageInfo\endcsname\relax \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% @@ -51,142 +53,70 @@ \y{xint}{\numexpr not available, aborting input}% \aftergroup\endinput \else - \ifx\x\relax % plain-TeX, first loading + \ifx\x\relax % plain-TeX, first loading of xint.sty + \ifx\w\relax % but xinttools.sty not yet loaded. + \y{xint}{Package xinttools is required}% + \y{xint}{Will try \string\input\space xinttools.sty}% + \def\z{\endgroup\input xinttools.sty\relax}% + \fi \else \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen + \ifx\w\relax % xinttools.sty not yet loaded. + \y{xint}{Package xinttools is required}% + \y{xint}{Will try \string\RequirePackage{xinttools}}% + \def\z{\endgroup\RequirePackage{xinttools}}% + \fi \else \y{xint}{I was already loaded, aborting input}% \aftergroup\endinput \fi \fi \fi - \def\ChangeCatcodesIfInputNotAborted - {% - \endgroup - \def\XINT_storecatcodes - {% takes care of all, to allow more economical code in modules - \catcode63=\the\catcode63 % ? xintexpr - \catcode124=\the\catcode124 % | xintexpr - \catcode38=\the\catcode38 % & xintexpr - \catcode64=\the\catcode64 % @ xintexpr - \catcode33=\the\catcode33 % ! xintexpr - \catcode93=\the\catcode93 % ] -, xintfrac, xintseries, xintcfrac - \catcode91=\the\catcode91 % [ -, xintfrac, xintseries, xintcfrac - \catcode36=\the\catcode36 % $ xintgcd only - \catcode94=\the\catcode94 % ^ - \catcode96=\the\catcode96 % ` - \catcode47=\the\catcode47 % / - \catcode41=\the\catcode41 % ) - \catcode40=\the\catcode40 % ( - \catcode42=\the\catcode42 % * - \catcode43=\the\catcode43 % + - \catcode62=\the\catcode62 % > - \catcode60=\the\catcode60 % < - \catcode58=\the\catcode58 % : - \catcode46=\the\catcode46 % . - \catcode45=\the\catcode45 % - - \catcode44=\the\catcode44 % , - \catcode35=\the\catcode35 % # - \catcode95=\the\catcode95 % _ - \catcode125=\the\catcode125 % } - \catcode123=\the\catcode123 % { - \endlinechar=\the\endlinechar - \catcode13=\the\catcode13 % ^^M - \catcode32=\the\catcode32 % - \catcode61=\the\catcode61\relax % = - }% - \edef\XINT_restorecatcodes_endinput - {% - \XINT_storecatcodes\noexpand\endinput % - }% - \def\XINT_setcatcodes - {% - \catcode61=12 % = - \catcode32=10 % space - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode123=1 % { - \catcode125=2 % } - \catcode95=11 % _ (replaces @ everywhere, starting with 1.06b) - \catcode35=6 % # - \catcode44=12 % , - \catcode45=12 % - - \catcode46=12 % . - \catcode58=11 % : (made letter for error cs) - \catcode60=12 % < - \catcode62=12 % > - \catcode43=12 % + - \catcode42=12 % * - \catcode40=12 % ( - \catcode41=12 % ) - \catcode47=12 % / - \catcode96=12 % ` - \catcode94=11 % ^ - \catcode36=3 % $ - \catcode91=12 % [ - \catcode93=12 % ] - \catcode33=11 % ! - \catcode64=11 % @ - \catcode38=12 % & - \catcode124=12 % | - \catcode63=11 % ? - }% - \XINT_setcatcodes - }% -\ChangeCatcodesIfInputNotAborted -\def\XINTsetupcatcodes {% for use by other modules - \edef\XINT_restorecatcodes_endinput - {% - \XINT_storecatcodes\noexpand\endinput % - }% - \XINT_setcatcodes -}% -\ifdefined\ProvidesPackage - \let\XINT_providespackage\relax -\else - \def\XINT_providespackage #1#2[#3]% - {\immediate\write-1{Package: #2 #3}% - \expandafter\xdef\csname ver@#2.sty\endcsname{#3}}% -\fi +\z% +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode123=1 % { + \catcode125=2 % } + \catcode64=11 % @ + \catcode35=6 % # + \catcode44=12 % , + \catcode45=12 % - + \catcode46=12 % . + \catcode58=12 % : + \ifdefined\PackageInfo + \def\y#1#2{\PackageInfo{#1}{#2}}% + \else + \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \fi + \def\empty {}% + \expandafter\let\expandafter\w\csname ver@xinttools.sty\endcsname + \ifx\w\relax % Plain TeX, user gave a file name at the prompt + \y{xint}{Loading of package xinttools failed, aborting input}% + \aftergroup\endinput + \fi + \ifx\w\empty % LaTeX, user gave a file name at the prompt + \y{xint}{Loading of package xinttools failed, aborting input}% + \aftergroup\endinput + \fi +\endgroup% +\XINTsetupcatcodes% \XINT_providespackage -\ProvidesPackage {xint}% - [2013/11/04 v1.09f Expandable operations on long numbers (jfB)]% -\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{}% -\long\def\xint_firstofone #1{#1}% becomes long in 1.09f, 2013/11/01 -\xint_firstofone{\let\XINT_sptoken= } % 1.09d, 2013/10/22 -\long\def\xint_firstoftwo #1#2{#1}% made long in 1.09e, 2013/10/28 -\long\def\xint_secondoftwo #1#2{#2}% -\def\xint_firstoftwo_andstop #1#2{ #1}% -\def\xint_secondoftwo_andstop #1#2{ #2}% -\def\xint_exchangetwo_keepbraces_andstop #1#2{ {#2}{#1}}% +\ProvidesPackage{xint}% + [2013/11/22 v1.09g Expandable operations on long numbers (jfB)]% \def\xint_firstofthree #1#2#3{#1}% \def\xint_secondofthree #1#2#3{#2}% \def\xint_thirdofthree #1#2#3{#3}% -\def\xint_minus_andstop { -}% -\long\def\xint_bye #1\xint_bye {}% becomes long in 1.09f -\def\xint_gob_til_R #1\R {}% -\def\xint_gob_til_W #1\W {}% -\def\xint_gob_til_Z #1\Z {}% \def\xint_gob_til_zero #10{}% +\def\xint_gob_til_zeros_iii #1000{}% +\def\xint_gob_til_zeros_iv #10000{}% \def\xint_gob_til_one #11{}% \def\xint_gob_til_G #1G{}% \def\xint_gob_til_minus #1-{}% -\def\xint_gob_til_zeros_iii #1000{}% -\def\xint_gob_til_zeros_iv #10000{}% -\let\xint_relax\relax -\def\xint_brelax {\xint_relax }% -\def\xint_gob_til_relax #1\relax {}% -\long\def\xint_gob_til_xint_relax #1\xint_relax {}% becomes long in 1.09f +\def\xint_gob_til_relax #1\relax {}% +\def\xint_exchangetwo_keepbraces_andstop #1#2{ {#2}{#1}}% \def\xint_UDzerofork #10\dummy #2#3\krof {#2}% \def\xint_UDsignfork #1-\dummy #2#3\krof {#2}% \def\xint_UDwfork #1\W\dummy #2#3\krof {#2}% @@ -194,18 +124,14 @@ \def\xint_UDonezerofork #110\dummy #2#3\krof {#2}% \def\xint_UDzerominusfork #10-\dummy #2#3\krof {#2}% \def\xint_UDsignsfork #1--\dummy #2#3\krof {#2}% -\def\xint_afterfi #1#2\fi {\fi #1}% -\chardef\xint_c_ 0 -\chardef\xint_c_i 1 +\chardef\xint_c_i 1 % 0 and 8 in xinttools \chardef\xint_c_ii 2 \chardef\xint_c_iii 3 \chardef\xint_c_iv 4 \chardef\xint_c_v 5 -\chardef\xint_c_viii 8 \chardef\xint_c_ix 9 \chardef\xint_c_x 10 \newcount\xint_c_x^viii \xint_c_x^viii 100000000 -\newtoks\XINT_toks \def\xintRev {\romannumeral0\xintrev }% \def\xintrev #1% {% @@ -222,80 +148,20 @@ -\dummy {\XINT_rord_main {}#1}% \krof }% -\def\XINT_Rev {\romannumeral0\XINT_rev }% -\def\xintReverseOrder {\romannumeral0\XINT_rev }% -\def\XINT_rev #1% -{% - \XINT_rord_main {}#1% - \xint_relax - \xint_bye\xint_bye\xint_bye\xint_bye - \xint_bye\xint_bye\xint_bye\xint_bye - \xint_relax -}% -\def\XINT_rord_main #1#2#3#4#5#6#7#8#9% -{% - \xint_bye #9\XINT_rord_cleanup\xint_bye - \XINT_rord_main {#9#8#7#6#5#4#3#2#1}% -}% -\def\XINT_rord_cleanup\xint_bye\XINT_rord_main #1#2\xint_relax -{% - \expandafter\space\xint_gob_til_xint_relax #1% -}% -\def\xintRevWithBraces {\romannumeral0\xintrevwithbraces }% -\def\xintRevWithBracesNoExpand {\romannumeral0\xintrevwithbracesnoexpand }% -\def\xintrevwithbraces #1% -{% - \expandafter\XINT_revwbr_loop\expandafter{\expandafter}% - \romannumeral-`0#1\xint_relax\xint_relax\xint_relax\xint_relax - \xint_relax\xint_relax\xint_relax\xint_relax\xint_bye -}% -\def\xintrevwithbracesnoexpand #1% -{% - \XINT_revwbr_loop {}% - #1\xint_relax\xint_relax\xint_relax\xint_relax - \xint_relax\xint_relax\xint_relax\xint_relax\xint_bye -}% -\def\XINT_revwbr_loop #1#2#3#4#5#6#7#8#9% -{% - \xint_gob_til_xint_relax #9\XINT_revwbr_finish_a\xint_relax - \XINT_revwbr_loop {{#9}{#8}{#7}{#6}{#5}{#4}{#3}{#2}#1}% -}% -\def\XINT_revwbr_finish_a\xint_relax\XINT_revwbr_loop #1#2\xint_bye -{% - \XINT_revwbr_finish_b #2\R\R\R\R\R\R\R\Z #1% -}% -\def\XINT_revwbr_finish_b #1#2#3#4#5#6#7#8\Z -{% - \xint_gob_til_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_revwbr_finish_c #1#2\Z -{% - \expandafter\expandafter\expandafter - \space - \csname xint_gobble_\romannumeral #1\endcsname -}% \def\xintLen {\romannumeral0\xintlen }% \def\xintlen #1% {% - \expandafter\XINT_length_fork + \expandafter\XINT_len_fork \romannumeral0\xintnum{#1}\xint_relax\xint_relax\xint_relax\xint_relax \xint_relax\xint_relax\xint_relax\xint_relax\xint_bye }% -\def\XINT_Len #1% +\def\XINT_Len #1% variant which does not expand via \xintnum. {% - \romannumeral0\XINT_length_fork + \romannumeral0\XINT_len_fork #1\xint_relax\xint_relax\xint_relax\xint_relax \xint_relax\xint_relax\xint_relax\xint_relax\xint_bye }% -\def\XINT_length_fork #1% +\def\XINT_len_fork #1% {% \expandafter\XINT_length_loop \xint_UDsignfork @@ -303,780 +169,6 @@ -\dummy {{0}#1}% \krof }% -\def\XINT_Length {\romannumeral0\XINT_length }% -\def\XINT_length #1% -{% - \XINT_length_loop - {0}#1\xint_relax\xint_relax\xint_relax\xint_relax - \xint_relax\xint_relax\xint_relax\xint_relax\xint_bye -}% -\let\xintLength\XINT_Length -\def\XINT_length_loop #1#2#3#4#5#6#7#8#9% -{% - \xint_gob_til_xint_relax #9\XINT_length_finish_a\xint_relax - \expandafter\XINT_length_loop\expandafter {\the\numexpr #1+8\relax}% -}% -\def\XINT_length_finish_a\xint_relax - \expandafter\XINT_length_loop\expandafter #1#2\xint_bye -{% - \XINT_length_finish_b #2\W\W\W\W\W\W\W\Z {#1}% -}% -\def\XINT_length_finish_b #1#2#3#4#5#6#7#8\Z -{% - \xint_gob_til_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_length_finish_c #1#2\Z #3{\expandafter\space\the\numexpr #3-#1\relax}% -\def\xintZapFirstSpaces {\romannumeral0\xintzapfirstspaces }% -\edef\xintzapfirstspaces #1% - {\noexpand\XINT_zapbsp_a \space #1\space\space\noexpand\xint_bye\xint_relax }% -\xint_firstofone {\def\XINT_zapbsp_a #1 } %<- space token here -{% - \XINT_zapbsp_again? #1\xint_bye\XINT_zapbsp_b {#1}% -}% -\def\XINT_zapbsp_again? #1{\xint_bye #1\XINT_zapbsp_again }% -\edef\XINT_zapbsp_again\XINT_zapbsp_b #1{\noexpand\XINT_zapbsp_a\space }% -\def\XINT_zapbsp_b #1#2\xint_relax - {\XINT_zapbsp_end? #2\XINT_zapbsp_e\empty #2{#1}}% -\def\XINT_zapbsp_end? #1{\xint_bye #1\XINT_zapbsp_end }% -\def\XINT_zapbsp_end\XINT_zapbsp_e\empty #1\xint_bye #2{#2#1}% -\xint_firstofone{\def\XINT_zapbsp_e #1 } \xint_bye - {\expandafter\XINT_zapbsp_f \expandafter{#1}}% -\edef\XINT_zapbsp_f #1#2{#2\space\space #1}% -\def\xintZapLastSpaces {\romannumeral0\xintzaplastspaces }% -\edef\xintzaplastspaces #1{\noexpand\XINT_zapesp_a {\space}\noexpand\empty - #1\space\space\noexpand\xint_bye \xint_relax}% -\xint_firstofone {\def\XINT_zapesp_a #1#2 } %<- second space here - {\expandafter\XINT_zapesp_b\expandafter{#2}{#1}}% -\def\XINT_zapesp_b #1#2#3\xint_relax - {\XINT_zapesp_end? #3\XINT_zapesp_e {#2#1}\empty #3\xint_relax }% -\def\XINT_zapesp_end? #1{\xint_bye #1\XINT_zapesp_end }% -\def\XINT_zapesp_end\XINT_zapesp_e #1#2\xint_relax {#1}% -\edef\XINT_zapesp_e #1{\noexpand \XINT_zapesp_a {#1\space\space}}% -\def\xintZapSpaces {\romannumeral0\xintzapspaces }% -\edef\xintzapspaces #1% - {\noexpand\XINT_zapsp_a \space #1\space\space\noexpand\xint_bye\xint_relax}% -\xint_firstofone {\def\XINT_zapsp_a #1 } %<- space token here -{% - \XINT_zapsp_again? #1\xint_bye\XINT_zapesp_b {#1}{}% -}% -\def\XINT_zapsp_again? #1{\xint_bye #1\XINT_zapsp_again }% -\edef\XINT_zapsp_again\XINT_zapesp_b #1#2{\noexpand\XINT_zapsp_a\space }% -\def\xintZapSpacesB {\romannumeral0\xintzapspacesb }% -\def\xintzapspacesb #1{\XINT_zapspb_one? #1\xint_relax\xint_relax - \xint_bye\xintzapspaces {#1}}% -\def\XINT_zapspb_one? #1#2% - {\xint_gob_til_xint_relax #1\XINT_zapspb_onlyspaces\xint_relax - \xint_gob_til_xint_relax #2\XINT_zapspb_bracedorone\xint_relax - \xint_bye {#1}}% -\def\XINT_zapspb_onlyspaces\xint_relax - \xint_gob_til_xint_relax\xint_relax\XINT_zapspb_bracedorone\xint_relax - \xint_bye #1\xint_bye\xintzapspaces #2{ }% -\def\XINT_zapspb_bracedorone\xint_relax - \xint_bye #1\xint_relax\xint_bye\xintzapspaces #2{ #1}% -\def\xintCSVtoList {\romannumeral0\xintcsvtolist }% -\def\xintcsvtolist #1{\expandafter\xintApply\expandafter\xintzapspacesb - \expandafter{\romannumeral0\xintcsvtolistnonstripped{#1}}}% -\def\xintCSVtoListNoExpand {\romannumeral0\xintcsvtolistnoexpand }% -\def\xintcsvtolistnoexpand #1{\expandafter\xintApply\expandafter\xintzapspacesb - \expandafter{\romannumeral0\xintcsvtolistnonstrippednoexpand{#1}}}% -\def\xintCSVtoListNonStripped {\romannumeral0\xintcsvtolistnonstripped }% -\def\xintCSVtoListNonStrippedNoExpand - {\romannumeral0\xintcsvtolistnonstrippednoexpand }% -\def\xintcsvtolistnonstripped #1% -{% - \expandafter\XINT_csvtol_loop_a\expandafter - {\expandafter}\romannumeral-`0#1% - ,\xint_bye,\xint_bye,\xint_bye,\xint_bye - ,\xint_bye,\xint_bye,\xint_bye,\xint_bye,\Z -}% -\def\xintcsvtolistnonstrippednoexpand #1% -{% - \XINT_csvtol_loop_a - {}#1,\xint_bye,\xint_bye,\xint_bye,\xint_bye - ,\xint_bye,\xint_bye,\xint_bye,\xint_bye,\Z -}% -\def\XINT_csvtol_loop_a #1#2,#3,#4,#5,#6,#7,#8,#9,% -{% - \xint_bye #9\XINT_csvtol_finish_a\xint_bye - \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_bye\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_gob_til_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 }% -\def\xintListWithSepNoExpand {\romannumeral0\xintlistwithsepnoexpand }% -\long\def\xintlistwithsep #1#2% - {\expandafter\XINT_lws\expandafter {\romannumeral-`0#2}{#1}}% -\long\def\XINT_lws #1#2{\XINT_lws_start {#2}#1\xint_bye }% -\long\def\xintlistwithsepnoexpand #1#2{\XINT_lws_start {#1}#2\xint_bye }% -\long\def\XINT_lws_start #1#2% -{% - \xint_bye #2\XINT_lws_dont\xint_bye - \XINT_lws_loop_a {#2}{#1}% -}% -\long\def\XINT_lws_dont\xint_bye\XINT_lws_loop_a #1#2{ }% -\long\def\XINT_lws_loop_a #1#2#3% -{% - \xint_bye #3\XINT_lws_end\xint_bye - \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\xint_bye\XINT_lws_loop_b #1#2#3{ #1}% -\def\xintNthElt {\romannumeral0\xintnthelt }% -\def\xintNthEltNoExpand {\romannumeral0\xintntheltnoexpand }% -\def\xintnthelt #1% -{% - \expandafter\XINT_nthelt_a\expandafter {\the\numexpr #1}% -}% -\def\xintntheltnoexpand #1% -{% - \expandafter\XINT_ntheltnoexpand_a\expandafter {\the\numexpr #1}% -}% -\def\XINT_nthelt_a #1#2% -{% - \ifnum #1<0 - \xint_afterfi{\expandafter\XINT_nthelt_c\expandafter - {\romannumeral0\xintrevwithbraces {#2}}{-#1}}% - \else - \xint_afterfi{\expandafter\XINT_nthelt_c\expandafter - {\romannumeral-`0#2}{#1}}% - \fi -}% -\def\XINT_ntheltnoexpand_a #1#2% -{% - \ifnum #1<0 - \xint_afterfi{\expandafter\XINT_nthelt_c\expandafter - {\romannumeral0\xintrevwithbracesnoexpand {#2}}{-#1}}% - \else - \xint_afterfi{\expandafter\XINT_nthelt_c\expandafter - {#2}{#1}}% - \fi -}% -\def\XINT_nthelt_c #1#2% -{% - \ifnum #2>\xint_c_ - \expandafter\XINT_nthelt_loop_a - \else - \expandafter\XINT_length_loop - \fi {#2}#1\xint_relax\xint_relax\xint_relax\xint_relax - \xint_relax\xint_relax\xint_relax\xint_relax\xint_bye -}% -\def\XINT_nthelt_loop_a #1% -{% - \ifnum #1>\xint_c_viii - \expandafter\XINT_nthelt_loop_b - \else - \expandafter\XINT_nthelt_getit - \fi - {#1}% -}% -\def\XINT_nthelt_loop_b #1#2#3#4#5#6#7#8#9% -{% - \xint_gob_til_xint_relax #9\XINT_nthelt_silentend\xint_relax - \expandafter\XINT_nthelt_loop_a\expandafter{\the\numexpr #1-8}% -}% -\def\XINT_nthelt_silentend #1\xint_bye { }% -\def\XINT_nthelt_getit #1% -{% - \expandafter\expandafter\expandafter\XINT_nthelt_finish - \csname xint_gobble_\romannumeral\numexpr#1-1\endcsname -}% -\def\XINT_nthelt_finish #1#2\xint_bye - {\xint_gob_til_xint_relax #1\expandafter\space - \xint_gobble_iii\xint_relax\space #1}% -\def\xintApply {\romannumeral0\xintapply }% -\def\xintApplyNoExpand {\romannumeral0\xintapplynoexpand }% -\def\xintapply #1#2% -{% - \expandafter\XINT_apply\expandafter {\romannumeral-`0#2}% - {#1}% -}% -\def\XINT_apply #1#2{\XINT_apply_loop_a {}{#2}#1\xint_bye }% -\def\xintapplynoexpand #1#2{\XINT_apply_loop_a {}{#1}#2\xint_bye }% -\def\XINT_apply_loop_a #1#2#3% -{% - \xint_bye #3\XINT_apply_end\xint_bye - \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\xint_bye\expandafter\XINT_apply_loop_b - \expandafter #1#2#3{ #2}% -\def\xintApplyUnbraced {\romannumeral0\xintapplyunbraced }% -\def\xintApplyUnbracedNoExpand {\romannumeral0\xintapplyunbracednoexpand }% -\def\xintapplyunbraced #1#2% -{% - \expandafter\XINT_applyunbr\expandafter {\romannumeral-`0#2}% - {#1}% -}% -\def\XINT_applyunbr #1#2{\XINT_applyunbr_loop_a {}{#2}#1\xint_bye }% -\def\xintapplyunbracednoexpand #1#2% - {\XINT_applyunbr_loop_a {}{#1}#2\xint_bye }% -\def\XINT_applyunbr_loop_a #1#2#3% -{% - \xint_bye #3\XINT_applyunbr_end\xint_bye - \expandafter\XINT_applyunbr_loop_b - \expandafter {\romannumeral-`0#2{#3}}{#1}{#2}% -}% -\def\XINT_applyunbr_loop_b #1#2{\XINT_applyunbr_loop_a {#2#1}}% -\def\XINT_applyunbr_end\xint_bye\expandafter\XINT_applyunbr_loop_b - \expandafter #1#2#3{ #2}% -\def\xintSeq {\romannumeral0\xintseq }% -\def\xintseq #1{\XINT_seq_chkopt #1\xint_bye }% -\def\XINT_seq_chkopt #1% -{% - \ifx [#1\expandafter\XINT_seq_opt - \else\expandafter\XINT_seq_noopt - \fi #1% -}% -\def\XINT_seq_noopt #1\xint_bye #2% -{% - \expandafter\XINT_seq\expandafter - {\the\numexpr#1\expandafter}\expandafter{\the\numexpr #2}% -}% -\def\XINT_seq #1#2% -{% - \ifcase\xintiiSgn{\the\numexpr #2-#1\relax} - \expandafter\xint_firstoftwo_andstop - \or - \expandafter\XINT_seq_p - \else - \expandafter\XINT_seq_n - \fi - {#2}{#1}% -}% -\def\XINT_seq_p #1#2% -{% - \ifnum #1>#2 - \xint_afterfi{\expandafter\XINT_seq_p}% - \else - \expandafter\XINT_seq_e - \fi - \expandafter{\the\numexpr #1-1}{#2}{#1}% -}% -\def\XINT_seq_n #1#2% -{% - \ifnum #1<#2 - \xint_afterfi{\expandafter\XINT_seq_n}% - \else - \expandafter\XINT_seq_e - \fi - \expandafter{\the\numexpr #1+1}{#2}{#1}% -}% -\def\XINT_seq_e #1#2#3{ }% -\def\XINT_seq_opt [\xint_bye #1]#2#3% -{% - \expandafter\XINT_seqo\expandafter - {\the\numexpr #2\expandafter}\expandafter - {\the\numexpr #3\expandafter}\expandafter - {\the\numexpr #1}% -}% -\def\XINT_seqo #1#2% -{% - \ifcase\xintiiSgn{\the\numexpr #2-#1\relax} - \expandafter\XINT_seqo_a - \or - \expandafter\XINT_seqo_pa - \else - \expandafter\XINT_seqo_na - \fi - {#1}{#2}% -}% -\def\XINT_seqo_a #1#2#3{ {#1}}% -\def\XINT_seqo_o #1#2#3#4{ #4}% -\def\XINT_seqo_pa #1#2#3% -{% - \ifcase\XINT_Sgn {#3} - \expandafter\XINT_seqo_o - \or - \expandafter\XINT_seqo_pb - \else - \xint_afterfi{\expandafter\space\xint_gobble_iv}% - \fi - {#1}{#2}{#3}{{#1}}% -}% -\def\XINT_seqo_pb #1#2#3% -{% - \expandafter\XINT_seqo_pc\expandafter{\the\numexpr #1+#3}{#2}{#3}% -}% -\def\XINT_seqo_pc #1#2% -{% - \ifnum#1>#2 - \expandafter\XINT_seqo_o - \else - \expandafter\XINT_seqo_pd - \fi - {#1}{#2}% -}% -\def\XINT_seqo_pd #1#2#3#4{\XINT_seqo_pb {#1}{#2}{#3}{#4{#1}}}% -\def\XINT_seqo_na #1#2#3% -{% - \ifcase\XINT_Sgn {#3} - \expandafter\XINT_seqo_o - \or - \xint_afterfi{\expandafter\space\xint_gobble_iv}% - \else - \expandafter\XINT_seqo_nb - \fi - {#1}{#2}{#3}{{#1}}% -}% -\def\XINT_seqo_nb #1#2#3% -{% - \expandafter\XINT_seqo_nc\expandafter{\the\numexpr #1+#3}{#2}{#3}% -}% -\def\XINT_seqo_nc #1#2% -{% - \ifnum#1<#2 - \expandafter\XINT_seqo_o - \else - \expandafter\XINT_seqo_nd - \fi - {#1}{#2}% -}% -\def\XINT_seqo_nd #1#2#3#4{\XINT_seqo_nb {#1}{#2}{#3}{#4{#1}}}% -\def\XINT_xflet #1% -{% - \def\XINT_xflet_macro {#1}\XINT_xflet_zapsp -}% -\def\XINT_xflet_zapsp -{% - \expandafter\futurelet\expandafter\XINT_token - \expandafter\XINT_xflet_sp?\romannumeral-`0% -}% -\def\XINT_xflet_sp? -{% - \ifx\XINT_token\XINT_sptoken - \expandafter\XINT_xflet_zapsp - \else\expandafter\XINT_xflet_zapspB - \fi -}% -\def\XINT_xflet_zapspB -{% - \expandafter\futurelet\expandafter\XINT_tokenB - \expandafter\XINT_xflet_spB?\romannumeral-`0% -}% -\def\XINT_xflet_spB? -{% - \ifx\XINT_tokenB\XINT_sptoken - \expandafter\XINT_xflet_zapspB - \else\expandafter\XINT_xflet_eq? - \fi -}% -\def\XINT_xflet_eq? -{% - \ifx\XINT_token\XINT_tokenB - \expandafter\XINT_xflet_macro - \else\expandafter\XINT_xflet_zapsp - \fi -}% -\catcode`Z 3% -\def\xintApplyInline #1#2% -{% - \long\expandafter\def\expandafter\XINT_inline_macro - \expandafter ##\expandafter 1\expandafter {#1{##1}}% - \XINT_xflet\XINT_inline_b #2Z% this Z has catcode 3 -}% -\def\XINT_inline_b -{% - \ifx\XINT_token Z\expandafter\xint_gobble_i - \else\expandafter\XINT_inline_d - \fi -}% -\def\XINT_inline_d #1% -{% - \def\XINT_item{{#1}}\XINT_xflet\XINT_inline_e -}% -\def\XINT_inline_e -{% - \ifx\XINT_token Z\expandafter\XINT_inline_w - \else\expandafter\XINT_inline_f - \fi -}% -\def\XINT_inline_f -{% - \expandafter\XINT_inline_g\expandafter{\XINT_inline_macro {##1}}% -}% -\def\XINT_inline_g #1% -{% - \expandafter\XINT_inline_macro\XINT_item - \long\def\XINT_inline_macro ##1{#1}\XINT_inline_d -}% -\def\XINT_inline_w #1% -{% - \expandafter\XINT_inline_macro\XINT_item -}% -\def\XINT_tmpa #1#2{\ifnum #2<#1 \xint_afterfi {{#########2}}\fi}% -\def\XINT_tmpb #1#2{\ifnum #1<#2 \xint_afterfi {{#########2}}\fi}% -\def\XINT_tmpc #1% -{% - \expandafter\edef \csname XINT_for_left#1\endcsname - {\xintApplyUnbraced {\XINT_tmpa #1}{123456789}}% - \expandafter\edef \csname XINT_for_right#1\endcsname - {\xintApplyUnbraced {\XINT_tmpb #1}{123456789}}% -}% -\xintApplyInline \XINT_tmpc {123456789}% -\long\def\xintBreakFor #1Z{}% -\long\def\xintBreakForAndDo #1#2Z{#1}% -\def\xintFor {\let\xintifForFirst\xint_firstoftwo - \futurelet\XINT_token\XINT_for_ifstar }% -\def\XINT_for_ifstar {\ifx\XINT_token*\expandafter\XINT_forx - \else\expandafter\XINT_for \fi }% -\catcode`U 3 % with numexpr -\catcode`V 3 % with xintfrac.sty (xint.sty not enough) -\catcode`D 3 % with dimexpr -\def\XINT_flet_zapsp -{% - \futurelet\XINT_token\XINT_flet_sp? -}% -\def\XINT_flet_sp? -{% - \ifx\XINT_token\XINT_sptoken - \xint_afterfi{\expandafter\XINT_flet_zapsp\romannumeral0}% - \else\expandafter\XINT_flet_macro - \fi -}% -\long\def\XINT_for #1#2in#3#4#5% -{% - \count 255 #2\relax - \expandafter\XINT_toks\expandafter - {\expandafter\XINT_for_d\the\count 255{#5}}% - \def\XINT_flet_macro {\expandafter\XINT_for_forever?\space}% - \expandafter\XINT_flet_zapsp #3Z% -}% -\def\XINT_for_forever? #1Z% -{% - \ifx\XINT_token U\XINT_to_forever\fi - \ifx\XINT_token V\XINT_to_forever\fi - \ifx\XINT_token D\XINT_to_forever\fi - \expandafter\the\expandafter\XINT_toks\romannumeral0\xintcsvtolist {#1}Z% -}% -\def\XINT_to_forever\fi #1\xintcsvtolist #2{\fi \XINT_forever #2}% -\long\def\XINT_forx *#1#2in#3#4#5% -{% - \count 255 #2\relax - \expandafter\XINT_toks\expandafter - {\expandafter\XINT_forx_d\the\count 255{#5}}% - \XINT_xflet\XINT_forx_forever? #3Z% -}% -\def\XINT_forx_forever? -{% - \ifx\XINT_token U\XINT_to_forxever\fi - \ifx\XINT_token V\XINT_to_forxever\fi - \ifx\XINT_token D\XINT_to_forxever\fi - \XINT_forx_empty? -}% -\def\XINT_to_forxever\fi #1\XINT_forx_empty? {\fi \XINT_forever }% -\catcode`U 11 -\catcode`D 11 -\catcode`V 11 -\def\XINT_forx_empty? -{% - \ifx\XINT_token Z\expandafter\xintBreakFor\fi - \the\XINT_toks -}% -\long\def\XINT_for_d #1#2#3% -{% - \long\def\XINT_y ##1##2##3##4##5##6##7##8##9{#2}% - \XINT_toks {{#3}}% - \long\edef\XINT_x {\noexpand\XINT_y \csname XINT_for_left#1\endcsname - \the\XINT_toks \csname XINT_for_right#1\endcsname }% - \XINT_toks {\XINT_x\let\xintifForFirst\xint_secondoftwo\XINT_for_d #1{#2}}% - \futurelet\XINT_token\XINT_for_last? -}% -\long\def\XINT_forx_d #1#2#3% -{% - \long\def\XINT_y ##1##2##3##4##5##6##7##8##9{#2}% - \XINT_toks {{#3}}% - \long\edef\XINT_x {\noexpand\XINT_y \csname XINT_for_left#1\endcsname - \the\XINT_toks \csname XINT_for_right#1\endcsname }% - \XINT_toks {\XINT_x\let\xintifForFirst\xint_secondoftwo\XINT_forx_d #1{#2}}% - \XINT_xflet\XINT_for_last? -}% -\def\XINT_for_last? -{% - \let\xintifForLast\xint_secondoftwo - \ifx\XINT_token Z\let\xintifForLast\xint_firstoftwo - \xint_afterfi{\xintBreakForAndDo\XINT_x}\fi - \the\XINT_toks -}% -\catcode`U 3 -\catcode`D 3 -\catcode`V 3 -\let\xintegers U% -\let\xintintegers U% -\let\xintdimensions D% -\let\xintrationals V% -\def\XINT_forever #1% -{% - \expandafter\XINT_forever_a - \csname XINT_?expr_\ifx#1UU\else\ifx#1DD\else V\fi\fi a\expandafter\endcsname - \csname XINT_?expr_\ifx#1UU\else\ifx#1DD\else V\fi\fi i\expandafter\endcsname - \csname XINT_?expr_\ifx#1UU\else\ifx#1DD\else V\fi\fi \endcsname -}% -\catcode`U 11 -\catcode`D 11 -\catcode`V 11 -\def\XINT_?expr_Ua #1#2% - {\expandafter{\expandafter\numexpr\the\numexpr #1\expandafter\relax - \expandafter\relax\expandafter}% - \expandafter{\the\numexpr #2}}% -\def\XINT_?expr_Da #1#2% - {\expandafter{\expandafter\dimexpr\number\dimexpr #1\expandafter\relax - \expandafter s\expandafter p\expandafter\relax\expandafter}% - \expandafter{\number\dimexpr #2}}% -\catcode`Z 11 -\def\XINT_?expr_Va #1#2% -{% - \expandafter\XINT_?expr_Vb\expandafter - {\romannumeral-`0\xintrawwithzeros{\xintZapSpacesB{#2}}}% - {\romannumeral-`0\xintrawwithzeros{\xintZapSpacesB{#1}}}% -}% -\catcode`Z 3 -\def\XINT_?expr_Vb #1#2{\expandafter\XINT_?expr_Vc #2.#1.}% -\def\XINT_?expr_Vc #1/#2.#3/#4.% -{% - \xintifEq {#2}{#4}% - {\XINT_?expr_Vf {#3}{#1}{#2}}% - {\expandafter\XINT_?expr_Vd\expandafter - {\romannumeral0\xintiimul {#2}{#4}}% - {\romannumeral0\xintiimul {#1}{#4}}% - {\romannumeral0\xintiimul {#2}{#3}}% - }% -}% -\def\XINT_?expr_Vd #1#2#3{\expandafter\XINT_?expr_Ve\expandafter {#2}{#3}{#1}}% -\def\XINT_?expr_Ve #1#2{\expandafter\XINT_?expr_Vf\expandafter {#2}{#1}}% -\def\XINT_?expr_Vf #1#2#3{{#2/#3}{{0}{#1}{#2}{#3}}}% -\def\XINT_?expr_Ui {{\numexpr 1\relax}{1}}% -\def\XINT_?expr_Di {{\dimexpr 0pt\relax}{65536}}% -\def\XINT_?expr_Vi {{1/1}{0111}}% -\def\XINT_?expr_U #1#2% - {\expandafter{\expandafter\numexpr\the\numexpr #1+#2\relax\relax}{#2}}% -\def\XINT_?expr_D #1#2% - {\expandafter{\expandafter\dimexpr\the\numexpr #1+#2\relax sp\relax}{#2}}% -\def\XINT_?expr_V #1#2{\XINT_?expr_Vx #2}% -\def\XINT_?expr_Vx #1#2% -{% - \expandafter\XINT_?expr_Vy\expandafter - {\romannumeral0\xintiiadd {#1}{#2}}{#2}% -}% -\def\XINT_?expr_Vy #1#2#3#4% -{% - \expandafter{\romannumeral0\xintiiadd {#3}{#1}/#4}{{#1}{#2}{#3}{#4}}% -}% -\def\XINT_forever_a #1#2#3#4% -{% - \ifx #4[\expandafter\XINT_forever_opt_a - \else\expandafter\XINT_forever_b - \fi #1#2#3#4% -}% -\def\XINT_forever_b #1#2#3Z{\expandafter\XINT_forever_c\the\XINT_toks #2#3}% -\long\def\XINT_forever_c #1#2#3#4#5% - {\expandafter\XINT_forever_d\expandafter #2#4#5{#3}Z}% -\def\XINT_forever_opt_a #1#2#3[#4+#5]#6Z% -{% - \expandafter\expandafter\expandafter - \XINT_forever_opt_c\expandafter\the\expandafter\XINT_toks - \romannumeral-`0#1{#4}{#5}#3% -}% -\long\def\XINT_forever_opt_c #1#2#3#4#5#6{\XINT_forever_d #2{#4}{#5}#6{#3}Z}% -\long\def\XINT_forever_d #1#2#3#4#5% -{% - \long\def\XINT_y ##1##2##3##4##5##6##7##8##9{#5}% - \XINT_toks {{#2}}% - \long\edef\XINT_x {\noexpand\XINT_y \csname XINT_for_left#1\endcsname - \the\XINT_toks \csname XINT_for_right#1\endcsname }% - \XINT_x - \let\xintifForFirst\xint_secondoftwo - \expandafter\XINT_forever_d\expandafter #1\romannumeral-`0#4{#2}{#3}#4{#5}% -}% -\catcode`j 3 -\long\def\xintForpair #1#2#3in#4#5#6% -{% - \let\xintifForFirst\xint_firstoftwo - \XINT_toks {\XINT_forpair_d #2{#6}}% - \expandafter\the\expandafter\XINT_toks #4jZ% -}% -\long\def\XINT_forpair_d #1#2#3(#4)#5% -{% - \long\def\XINT_y ##1##2##3##4##5##6##7##8##9{#2}% - \XINT_toks \expandafter{\romannumeral0\xintcsvtolist{ #4}}% - \long\edef\XINT_x {\noexpand\XINT_y \csname XINT_for_left#1\endcsname - \the\XINT_toks \csname XINT_for_right\the\numexpr#1+1\endcsname}% - \let\xintifForLast\xint_secondoftwo - \ifx #5j\let\xintifForLast\xint_firstoftwo\expandafter\xintBreakForAndDo\fi - \XINT_x\let\xintifForFirst\xint_secondoftwo\XINT_forpair_d #1{#2}% -}% -\long\def\xintForthree #1#2#3in#4#5#6% -{% - \let\xintifForFirst\xint_firstoftwo - \XINT_toks {\XINT_forthree_d #2{#6}}% - \expandafter\the\expandafter\XINT_toks #4jZ% -}% -\long\def\XINT_forthree_d #1#2#3(#4)#5% -{% - \long\def\XINT_y ##1##2##3##4##5##6##7##8##9{#2}% - \XINT_toks \expandafter{\romannumeral0\xintcsvtolist{ #4}}% - \long\edef\XINT_x {\noexpand\XINT_y \csname XINT_for_left#1\endcsname - \the\XINT_toks \csname XINT_for_right\the\numexpr#1+2\endcsname}% - \let\xintifForLast\xint_secondoftwo - \ifx #5j\let\xintifForLast\xint_firstoftwo\expandafter\xintBreakForAndDo\fi - \XINT_x\let\xintifForFirst\xint_secondoftwo\XINT_forthree_d #1{#2}% -}% -\long\def\xintForfour #1#2#3in#4#5#6% -{% - \let\xintifForFirst\xint_firstoftwo - \XINT_toks {\XINT_forfour_d #2{#6}}% - \expandafter\the\expandafter\XINT_toks #4jZ% -}% -\long\def\XINT_forfour_d #1#2#3(#4)#5% -{% - \long\def\XINT_y ##1##2##3##4##5##6##7##8##9{#2}% - \XINT_toks \expandafter{\romannumeral0\xintcsvtolist{ #4}}% - \long\edef\XINT_x {\noexpand\XINT_y \csname XINT_for_left#1\endcsname - \the\XINT_toks \csname XINT_for_right\the\numexpr#1+3\endcsname}% - \let\xintifForLast\xint_secondoftwo - \ifx #5j\let\xintifForLast\xint_firstoftwo\expandafter\xintBreakForAndDo\fi - \XINT_x\let\xintifForFirst\xint_secondoftwo\XINT_forfour_d #1{#2}% -}% -\catcode`Z 11 -\catcode`j 11 -\def\xintAssign #1\to -{% - \expandafter\XINT_assign_a\romannumeral-`0#1{}\to -}% -\def\XINT_assign_a #1% attention to the # at the beginning of next line -#{% - \def\xint_temp {#1}% - \ifx\empty\xint_temp - \expandafter\XINT_assign_b - \else - \expandafter\XINT_assign_B - \fi -}% -\def\XINT_assign_b #1#2\to #3% -{% - \edef #3{#1}\def\xint_temp {#2}% - \ifx\empty\xint_temp - \else - \xint_afterfi{\XINT_assign_a #2\to }% - \fi -}% -\def\XINT_assign_B #1\to #2% -{% - \edef #2{\xint_temp}% -}% -\def\xintRelaxArray #1% -{% - \edef\XINT_restoreescapechar {\escapechar\the\escapechar\relax}% - \escapechar -1 - \edef\xint_arrayname {\string #1}% - \XINT_restoreescapechar - \expandafter\let\expandafter\xint_temp - \csname\xint_arrayname 0\endcsname - \count 255 0 - \loop - \global\expandafter\let - \csname\xint_arrayname\the\count255\endcsname\relax - \ifnum \count 255 < \xint_temp - \advance\count 255 1 - \repeat - \global\expandafter\let\csname\xint_arrayname 00\endcsname\relax - \global\let #1\relax -}% -\def\xintAssignArray #1\to #2% 1.06b: #1 may now be empty -{% - \edef\XINT_restoreescapechar {\escapechar\the\escapechar\relax }% - \escapechar -1 - \edef\xint_arrayname {\string #2}% - \XINT_restoreescapechar - \count 255 0 - \expandafter\XINT_assignarray_loop \romannumeral-`0#1\xint_relax - \csname\xint_arrayname 00\endcsname - \csname\xint_arrayname 0\endcsname - {\xint_arrayname}% - #2% -}% -\def\XINT_assignarray_loop #1% -{% - \def\xint_temp {#1}% - \ifx\xint_brelax\xint_temp - \expandafter\edef\csname\xint_arrayname 0\endcsname{\the\count 255 }% - \expandafter\expandafter\expandafter\XINT_assignarray_end_a - \else - \advance\count 255 1 - \expandafter\edef - \csname\xint_arrayname\the\count 255\endcsname{\xint_temp }% - \expandafter\XINT_assignarray_loop - \fi -}% -\def\XINT_assignarray_end_a #1% -{% - \expandafter\XINT_assignarray_end_b\expandafter #1% -}% -\def\XINT_assignarray_end_b #1#2#3% -{% - \expandafter\XINT_assignarray_end_c - \expandafter #1\expandafter #2\expandafter {#3}% -}% -\def\XINT_assignarray_end_c #1#2#3#4% -{% - \def #4##1% - {% - \romannumeral0\expandafter #1\expandafter{\the\numexpr ##1}% - }% - \def #1##1% - {% - \ifnum ##1< 0 - \xint_afterfi {\xintError:ArrayIndexIsNegative\space 0}% - \else - \xint_afterfi {% - \ifnum ##1>#2 - \xint_afterfi {\xintError:ArrayIndexBeyondLimit\space 0}% - \else - \xint_afterfi - {\expandafter\expandafter\expandafter - \space\csname #3##1\endcsname}% - \fi}% - \fi - }% -}% -\let\xintDigitsOf\xintAssignArray \def\XINT_RQ #1#2#3#4#5#6#7#8#9% {% \xint_gob_til_R #9\XINT_RQ_end_a\R\XINT_RQ {#9#8#7#6#5#4#3#2#1}% @@ -2519,28 +1611,28 @@ \def\XINT_mul_minusminus #1#2% {% \expandafter\XINT_mul_choice_a - \expandafter{\romannumeral0\XINT_length {#2}}% - {\romannumeral0\XINT_length {#1}}{#1}{#2}% + \expandafter{\romannumeral0\xintlength {#2}}% + {\romannumeral0\xintlength {#1}}{#1}{#2}% }% \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{\romannumeral0\xintlength {#1#3}}% + {\romannumeral0\xintlength {#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{\romannumeral0\xintlength {#3}}% + {\romannumeral0\xintlength {#1#2}}{#1#2}{#3}% }% \def\XINT_mul_plusplus #1#2#3#4% {% \expandafter\XINT_mul_choice_a - \expandafter{\romannumeral0\XINT_length {#2#4}}% - {\romannumeral0\XINT_length {#1#3}}{#1#3}{#2#4}% + \expandafter{\romannumeral0\xintlength {#2#4}}% + {\romannumeral0\xintlength {#1#3}}{#1#3}{#2#4}% }% \def\XINT_mul_choice_a #1#2% {% @@ -2681,7 +1773,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\xintreverseorder{#4}% }% \def\XINT_mul_N #1#2#3#4#5#6#7% {% @@ -2780,7 +1872,7 @@ }% \def\XINT_mul_finish_c #1\XINT_mul_finish_ciii \W\W\W\W #2#3\Z\Z\Z\Z {% - \expandafter\xint_cleanupzeros_andstop\romannumeral0\XINT_rev{#2}% + \expandafter\xint_cleanupzeros_andstop\romannumeral0\xintreverseorder{#2}% }% \def\XINT_mulr_enter #1\Z\Z\Z\Z #2#3#4#5% {% @@ -3131,7 +2223,7 @@ \def\XINT_pow_pprod_end\relax\XINT_pow_pprod_compute #1\Z #2% {% \expandafter\xint_cleanupzeros_andstop - \romannumeral0\XINT_rev {#2}% + \romannumeral0\xintreverseorder {#2}% }% \def\xintiiQuo {\romannumeral0\xintiiquo }% \def\xintiiRem {\romannumeral0\xintiirem }% @@ -3223,7 +2315,7 @@ \def\XINT_div_prepare #1% {% \expandafter \XINT_div_prepareB_aa \expandafter - {\romannumeral0\XINT_length {#1}}{#1}% B > 0 ici + {\romannumeral0\xintlength {#1}}{#1}% B > 0 ici }% \def\XINT_div_prepareB_aa #1% {% @@ -3271,7 +2363,7 @@ \def\XINT_div_prepareB_f #1#2#3#4#5\Z {% \expandafter \XINT_div_prepareB_g \expandafter - {\romannumeral0\XINT_rev {#1#2#3#4#5}}{#1#2#3#4}% + {\romannumeral0\xintreverseorder {#1#2#3#4#5}}{#1#2#3#4}% }% \def\XINT_div_prepareB_g #1#2#3#4#5#6% {% @@ -3280,7 +2372,7 @@ \def\XINT_div_prepareA_a #1% {% \expandafter \XINT_div_prepareA_b \expandafter - {\romannumeral0\XINT_length {#1}}{#1}% A >0 ici + {\romannumeral0\xintlength {#1}}{#1}% A >0 ici }% \def\XINT_div_prepareA_b #1% {% @@ -3496,7 +2588,7 @@ {% \expandafter \XINT_div_body_l \expandafter {\romannumeral0\XINT_div_sub_xpxp - {\romannumeral0\XINT_mul_Mr {#1}#4\Z\Z\Z\Z }{\XINT_Rev{#2}}}% + {\romannumeral0\XINT_mul_Mr {#1}#4\Z\Z\Z\Z }{\xintReverseOrder{#2}}}% {#3+#1}% }% \def\XINT_div_body_l #1#2#3#4#5#6#7% @@ -3664,7 +2756,7 @@ \def\XINT_LDg #1{\romannumeral0\XINT_ldg {#1}}% \def\XINT_ldg #1% {% - \expandafter\XINT_ldg_\romannumeral0\XINT_rev {#1}\Z + \expandafter\XINT_ldg_\romannumeral0\xintreverseorder {#1}\Z }% \def\XINT_ldg_ #1#2\Z{ #1}% \def\xintiiMON {\romannumeral0\xintiimon }% @@ -3741,16 +2833,16 @@ \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\xintreverseorder }% \def\XINT_dsr_b #1#2#3\Z {% \xint_gob_til_W #2\xint_dsr_onedigit\W \xint_gob_til_minus #2\xint_dsr_onedigit-% \expandafter\XINT_dsr_removew - \romannumeral0\XINT_rev {#2#3}% + \romannumeral0\xintreverseorder {#2#3}% }% -\def\xint_dsr_onedigit #1\XINT_rev #2{ 0}% +\def\xint_dsr_onedigit #1\xintreverseorder #2{ 0}% \def\XINT_dsr_removew #1\W { }% \def\xintDSHr {\romannumeral0\xintdshr }% \def\xintdshr #1% @@ -4006,7 +3098,7 @@ \def\XINT_split_fromright #1\Z #2% {% \expandafter \XINT_split_fromright_a \expandafter - {\romannumeral0\XINT_rev {#2}}{#1}{#2}% + {\romannumeral0\xintreverseorder {#2}}{#1}{#2}% }% \def\XINT_split_fromright_a #1#2% {% @@ -4034,7 +3126,7 @@ }% \def\XINT_split_fromright_endsplit_ #1#2\W #3\Z #4% {% - \expandafter\space\expandafter {\romannumeral0\XINT_rev{#2}}{#1}% + \expandafter\space\expandafter {\romannumeral0\xintreverseorder {#2}}{#1}% }% \def\XINT_split_fromright_endsplit_i #1#2% {\XINT_split_fromright_checkiftoofar #2{#2#1}}% @@ -4251,7 +3343,7 @@ \def\XINT_sqrt #1\Z {% \expandafter\XINT_sqrt_start\expandafter - {\romannumeral0\XINT_length {#1}}{#1}% + {\romannumeral0\xintlength {#1}}{#1}% }% \def\XINT_sqrt_start #1% {% |