From 0b9cf8dc5d3785da3a0d3065dc2fb8ffe1398e3b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 27 Feb 2014 23:10:36 +0000 Subject: xint (27feb14) git-svn-id: svn://tug.org/texlive/trunk@33062 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/generic/xint/xint.sty | 14 +- Master/texmf-dist/tex/generic/xint/xintbinhex.sty | 4 +- Master/texmf-dist/tex/generic/xint/xintcfrac.sty | 306 +++++++++++++++------- Master/texmf-dist/tex/generic/xint/xintexpr.sty | 4 +- Master/texmf-dist/tex/generic/xint/xintfrac.sty | 74 +++--- Master/texmf-dist/tex/generic/xint/xintgcd.sty | 4 +- Master/texmf-dist/tex/generic/xint/xintseries.sty | 16 +- Master/texmf-dist/tex/generic/xint/xinttools.sty | 256 ++++++++++++++---- 8 files changed, 469 insertions(+), 209 deletions(-) (limited to 'Master/texmf-dist/tex/generic/xint') diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty index 8931dd3b902..8357015b7c8 100644 --- a/Master/texmf-dist/tex/generic/xint/xint.sty +++ b/Master/texmf-dist/tex/generic/xint/xint.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %%---------------------------------------------------------------- -%% The xint bundle (version 1.09kb of February 13, 2014) +%% The xint bundle (version 1.09m of February 26, 2014) %% xint: Expandable operations on long numbers %% Copyright (C) 2013-2014 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -101,14 +101,13 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xint}% - [2014/02/13 v1.09kb Expandable operations on long numbers (jfB)]% + [2014/02/26 v1.09m Expandable operations on long numbers (jfB)]% \long\def\xint_firstofthree #1#2#3{#1}% \long\def\xint_secondofthree #1#2#3{#2}% \long\def\xint_thirdofthree #1#2#3{#3}% \long\def\xint_firstofthree_thenstop #1#2#3{ #1}% 1.09i \long\def\xint_secondofthree_thenstop #1#2#3{ #2}% \long\def\xint_thirdofthree_thenstop #1#2#3{ #3}% -\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{}% @@ -122,12 +121,7 @@ \def\xint_UDwfork #1\W#2#3\krof {#2}% \def\xint_UDzerosfork #100#2#3\krof {#2}% \def\xint_UDonezerofork #110#2#3\krof {#2}% -\def\xint_UDzerominusfork #10-#2#3\krof {#2}% \def\xint_UDsignsfork #1--#2#3\krof {#2}% -\chardef\xint_c_ii 2 -\chardef\xint_c_iii 3 -\chardef\xint_c_iv 4 -\chardef\xint_c_v 5 \chardef\xint_c_ix 9 \chardef\xint_c_x 10 \chardef\xint_c_ii^v 32 % not used in xint, common to xintfrac and xintbinhex @@ -168,8 +162,8 @@ {% \expandafter\XINT_length_loop \xint_UDsignfork - #1{{0}}% - -{{0}#1}% + #1{0.}% + -{0.#1}% \krof }% \def\XINT_RQ #1#2#3#4#5#6#7#8#9% diff --git a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty index 3308a4a0c3c..44fd98864d5 100644 --- a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty +++ b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %%---------------------------------------------------------------- -%% The xint bundle (version 1.09kb of February 13, 2014) +%% The xint bundle (version 1.09m of February 26, 2014) %% xintbinhex: Expandable binary and hexadecimal conversions %% Copyright (C) 2013-2014 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -101,7 +101,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintbinhex}% - [2014/02/13 v1.09kb Expandable binary and hexadecimal conversions (jfB)]% + [2014/02/26 v1.09m Expandable binary and hexadecimal conversions (jfB)]% \chardef\xint_c_xvi 16 \chardef\xint_c_ii^vii 128 \mathchardef\xint_c_ii^viii 256 diff --git a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty index cd03181aa3b..abe94579dff 100644 --- a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty +++ b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %%---------------------------------------------------------------- -%% The xint bundle (version 1.09kb of February 13, 2014) +%% The xint bundle (version 1.09m of February 26, 2014) %% xintcfrac: Expandable continued fractions with xint package %% Copyright (C) 2013-2014 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -101,22 +101,22 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintcfrac}% - [2014/02/13 v1.09kb Expandable continued fractions with xint package (jfB)]% + [2014/02/26 v1.09m Expandable continued fractions with xint package (jfB)]% \def\xintCFrac {\romannumeral0\xintcfrac }% \def\xintcfrac #1% {% - \XINT_cfrac_opt_a #1\Z + \XINT_cfrac_opt_a #1\xint_relax }% \def\XINT_cfrac_opt_a #1% {% \ifx[#1\XINT_cfrac_opt_b\fi \XINT_cfrac_noopt #1% }% -\def\XINT_cfrac_noopt #1\Z +\def\XINT_cfrac_noopt #1\xint_relax {% \expandafter\XINT_cfrac_A\romannumeral0\xintrawwithzeros {#1}\Z \relax\relax }% -\def\XINT_cfrac_opt_b\fi\XINT_cfrac_noopt [\Z #1]% +\def\XINT_cfrac_opt_b\fi\XINT_cfrac_noopt [\xint_relax #1]% {% \fi\csname XINT_cfrac_opt#1\endcsname }% @@ -177,30 +177,30 @@ }% \def\XINT_cfrac_end_b \Z+\cfrac#1#2{ #2}% \def\xintGCFrac {\romannumeral0\xintgcfrac }% -\def\xintgcfrac #1{\XINT_gcfrac_opt_a #1\Z }% +\def\xintgcfrac #1{\XINT_gcfrac_opt_a #1\xint_relax }% \def\XINT_gcfrac_opt_a #1% {% \ifx[#1\XINT_gcfrac_opt_b\fi \XINT_gcfrac_noopt #1% }% -\def\XINT_gcfrac_noopt #1\Z +\def\XINT_gcfrac_noopt #1\xint_relax {% - \XINT_gcfrac #1+\W/\relax\relax + \XINT_gcfrac #1+\xint_relax/\relax\relax }% -\def\XINT_gcfrac_opt_b\fi\XINT_gcfrac_noopt [\Z #1]% +\def\XINT_gcfrac_opt_b\fi\XINT_gcfrac_noopt [\xint_relax #1]% {% \fi\csname XINT_gcfrac_opt#1\endcsname }% \def\XINT_gcfrac_optl #1% {% - \XINT_gcfrac #1+\W/\relax\hfill + \XINT_gcfrac #1+\xint_relax/\relax\hfill }% \def\XINT_gcfrac_optc #1% {% - \XINT_gcfrac #1+\W/\relax\relax + \XINT_gcfrac #1+\xint_relax/\relax\relax }% \def\XINT_gcfrac_optr #1% {% - \XINT_gcfrac #1+\W/\hfill\relax + \XINT_gcfrac #1+\xint_relax/\hfill\relax }% \def\XINT_gcfrac {% @@ -209,43 +209,94 @@ \def\XINT_gcfrac_enter {\XINT_gcfrac_loop {}}% \def\XINT_gcfrac_loop #1#2+#3/% {% - \xint_gob_til_W #3\XINT_gcfrac_endloop\W + \xint_gob_til_xint_relax #3\XINT_gcfrac_endloop\xint_relax \XINT_gcfrac_loop {{#3}{#2}#1}% }% -\def\XINT_gcfrac_endloop\W\XINT_gcfrac_loop #1#2#3% +\def\XINT_gcfrac_endloop\xint_relax\XINT_gcfrac_loop #1#2#3% {% - \XINT_gcfrac_T #2#3#1\Z\Z + \XINT_gcfrac_T #2#3#1\xint_relax\xint_relax }% \def\XINT_gcfrac_T #1#2#3#4{\XINT_gcfrac_U #1#2{\xintFrac{#4}}}% \def\XINT_gcfrac_U #1#2#3#4#5% {% - \xint_gob_til_Z #5\XINT_gcfrac_end\Z\XINT_gcfrac_U + \xint_gob_til_xint_relax #5\XINT_gcfrac_end\xint_relax\XINT_gcfrac_U #1#2{\xintFrac{#5}% \ifcase\xintSgn{#4} +\or+\else-\fi \cfrac{#1\xintFrac{\xintAbs{#4}}#2}{#3}}% }% -\def\XINT_gcfrac_end\Z\XINT_gcfrac_U #1#2#3% +\def\XINT_gcfrac_end\xint_relax\XINT_gcfrac_U #1#2#3% {% \XINT_gcfrac_end_b #3% }% \def\XINT_gcfrac_end_b #1\cfrac#2#3{ #3}% +\def\xintGGCFrac {\romannumeral0\xintggcfrac }% +\def\xintggcfrac #1{\XINT_ggcfrac_opt_a #1\xint_relax }% +\def\XINT_ggcfrac_opt_a #1% +{% + \ifx[#1\XINT_ggcfrac_opt_b\fi \XINT_ggcfrac_noopt #1% +}% +\def\XINT_ggcfrac_noopt #1\xint_relax +{% + \XINT_ggcfrac #1+\xint_relax/\relax\relax +}% +\def\XINT_ggcfrac_opt_b\fi\XINT_ggcfrac_noopt [\xint_relax #1]% +{% + \fi\csname XINT_ggcfrac_opt#1\endcsname +}% +\def\XINT_ggcfrac_optl #1% +{% + \XINT_ggcfrac #1+\xint_relax/\relax\hfill +}% +\def\XINT_ggcfrac_optc #1% +{% + \XINT_ggcfrac #1+\xint_relax/\relax\relax +}% +\def\XINT_ggcfrac_optr #1% +{% + \XINT_ggcfrac #1+\xint_relax/\hfill\relax +}% +\def\XINT_ggcfrac +{% + \expandafter\XINT_ggcfrac_enter\romannumeral-`0% +}% +\def\XINT_ggcfrac_enter {\XINT_ggcfrac_loop {}}% +\def\XINT_ggcfrac_loop #1#2+#3/% +{% + \xint_gob_til_xint_relax #3\XINT_ggcfrac_endloop\xint_relax + \XINT_ggcfrac_loop {{#3}{#2}#1}% +}% +\def\XINT_ggcfrac_endloop\xint_relax\XINT_ggcfrac_loop #1#2#3% +{% + \XINT_ggcfrac_T #2#3#1\xint_relax\xint_relax +}% +\def\XINT_ggcfrac_T #1#2#3#4{\XINT_ggcfrac_U #1#2{#4}}% +\def\XINT_ggcfrac_U #1#2#3#4#5% +{% + \xint_gob_til_xint_relax #5\XINT_ggcfrac_end\xint_relax\XINT_ggcfrac_U + #1#2{#5+\cfrac{#1#4#2}{#3}}% +}% +\def\XINT_ggcfrac_end\xint_relax\XINT_ggcfrac_U #1#2#3% +{% + \XINT_ggcfrac_end_b #3% +}% +\def\XINT_ggcfrac_end_b #1\cfrac#2#3{ #3}% \def\xintGCtoGCx {\romannumeral0\xintgctogcx }% \def\xintgctogcx #1#2#3% {% \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_start #1#2#3{\XINT_gctgcx_loop_a {}{#2}{#3}#1+\xint_relax/}% \def\XINT_gctgcx_loop_a #1#2#3#4+#5/% {% - \xint_gob_til_W #5\XINT_gctgcx_end\W + \xint_gob_til_xint_relax #5\XINT_gctgcx_end\xint_relax \XINT_gctgcx_loop_b {#1{#4}}{#2{#5}#3}{#2}{#3}% }% \def\XINT_gctgcx_loop_b #1#2% {% \XINT_gctgcx_loop_a {#1#2}% }% -\def\XINT_gctgcx_end\W\XINT_gctgcx_loop_b #1#2#3#4{ #1}% +\def\XINT_gctgcx_end\xint_relax\XINT_gctgcx_loop_b #1#2#3#4{ #1}% \def\xintFtoCs {\romannumeral0\xintftocs }% \def\xintftocs #1% {% @@ -264,7 +315,7 @@ \xint_gob_til_zero #1\XINT_ftc_integer 0\XINT_ftc_D #1% }% \def\XINT_ftc_integer 0\XINT_ftc_D 0#1.#2#3{ #2}% -\def\XINT_ftc_D #1.#2#3{\XINT_ftc_loop_a {#1}{#3}{#1}{#2,}}% +\def\XINT_ftc_D #1.#2#3{\XINT_ftc_loop_a {#1}{#3}{#1}{#2, }}% 1.09m adds a space \def\XINT_ftc_loop_a {% \expandafter\XINT_ftc_loop_d\romannumeral0\XINT_div_prepare @@ -279,7 +330,7 @@ }% \def\XINT_ftc_loop_f #1.#2#3#4% {% - \XINT_ftc_loop_a {#1}{#3}{#1}{#4#2,}% + \XINT_ftc_loop_a {#1}{#3}{#1}{#4#2, }% 1.09m has an added space here }% \def\xint_ftc_loop_exit0\XINT_ftc_loop_f #1.#2#3#4{ #4#2}% \def\xintFtoCx {\romannumeral0\xintftocx }% @@ -300,7 +351,7 @@ \xint_gob_til_zero #1\XINT_ftcx_integer 0\XINT_ftcx_D #1% }% \def\XINT_ftcx_integer 0\XINT_ftcx_D 0#1.#2#3#4{ #2}% -\def\XINT_ftcx_D #1.#2#3#4{\XINT_ftcx_loop_a {#1}{#3}{#1}{#2#4}{#4}}% +\def\XINT_ftcx_D #1.#2#3#4{\XINT_ftcx_loop_a {#1}{#3}{#1}{{#2}#4}{#4}}% \def\XINT_ftcx_loop_a {% \expandafter\XINT_ftcx_loop_d\romannumeral0\XINT_div_prepare @@ -318,8 +369,55 @@ \XINT_ftcx_loop_a {#1}{#3}{#1}{#4{#2}#5}{#5}% }% \def\xint_ftcx_loop_exit0\XINT_ftcx_loop_f #1.#2#3#4#5{ #4{#2}}% +\def\xintFtoC {\romannumeral0\xintftoc }% +\def\xintftoc {\xintftocx {}}% \def\xintFtoGC {\romannumeral0\xintftogc }% \def\xintftogc {\xintftocx {+1/}}% +\def\xintFGtoC {\romannumeral0\xintfgtoc}% +\def\xintfgtoc#1% +{% + \expandafter\XINT_fgtc_a\romannumeral0\xintrawwithzeros {#1}\Z +}% +\def\XINT_fgtc_a #1/#2\Z #3% +{% + \expandafter\XINT_fgtc_b\romannumeral0\xintrawwithzeros {#3}\Z #1/#2\Z { }% +}% +\def\XINT_fgtc_b #1/#2\Z +{% + \expandafter\XINT_fgtc_c\romannumeral0\xintiidivision {#1}{#2}{#2}% +}% +\def\XINT_fgtc_c #1#2#3#4/#5\Z +{% + \expandafter\XINT_fgtc_d\romannumeral0\xintiidivision + {#4}{#5}{#5}{#1}{#2}{#3}% +}% +\def\XINT_fgtc_d #1#2#3#4%#5#6#7% +{% + \xintifEq {#1}{#4}{\XINT_fgtc_da {#1}{#2}{#3}{#4}}% + {\xint_thirdofthree}% +}% +\def\XINT_fgtc_da #1#2#3#4#5#6#7% +{% + \XINT_fgtc_e {#2}{#5}{#3}{#6}{#7{#1}}% +}% +\def\XINT_fgtc_e #1% +{% + \xintifZero {#1}{\expandafter\xint_firstofone\xint_gobble_iii}% + {\XINT_fgtc_f {#1}}% +}% +\def\XINT_fgtc_f #1#2% +{% + \xintifZero {#2}{\xint_thirdofthree}{\XINT_fgtc_g {#1}{#2}}% +}% +\def\XINT_fgtc_g #1#2#3% +{% + \expandafter\XINT_fgtc_h\romannumeral0\XINT_div_prepare {#1}{#3}{#1}{#2}% +}% +\def\XINT_fgtc_h #1#2#3#4#5% +{% + \expandafter\XINT_fgtc_d\romannumeral0\XINT_div_prepare + {#4}{#5}{#4}{#1}{#2}{#3}% +}% \def\xintFtoCC {\romannumeral0\xintftocc }% \def\xintftocc #1% {% @@ -391,56 +489,51 @@ \expandafter\XINT_ftcc_loop_a\expandafter {\romannumeral0\xintdiv {1[0]}{#1}}{#3#2+-1/}% }% -\def\xintFtoCv {\romannumeral0\xintftocv }% -\def\xintftocv #1% -{% - \xinticstocv {\xintFtoCs {#1}}% -}% -\def\xintFtoCCv {\romannumeral0\xintftoccv }% -\def\xintftoccv #1% -{% - \xintigctocv {\xintFtoCC {#1}}% -}% \def\xintCstoF {\romannumeral0\xintcstof }% \def\xintcstof #1% {% - \expandafter\XINT_cstf_prep \romannumeral-`0#1,\W,% + \expandafter\XINT_ctf_prep \romannumeral0\xintcsvtolist{#1}\xint_relax +}% +\def\xintCtoF {\romannumeral0\xintctof }% +\def\xintctof #1% +{% + \expandafter\XINT_ctf_prep \romannumeral-`0#1\xint_relax }% -\def\XINT_cstf_prep +\def\XINT_ctf_prep {% - \XINT_cstf_loop_a 1001% + \XINT_ctf_loop_a 1001% }% -\def\XINT_cstf_loop_a #1#2#3#4#5,% +\def\XINT_ctf_loop_a #1#2#3#4#5% {% - \xint_gob_til_W #5\XINT_cstf_end\W - \expandafter\XINT_cstf_loop_b + \xint_gob_til_xint_relax #5\XINT_ctf_end\xint_relax + \expandafter\XINT_ctf_loop_b \romannumeral0\xintrawwithzeros {#5}.{#1}{#2}{#3}{#4}% }% -\def\XINT_cstf_loop_b #1/#2.#3#4#5#6% +\def\XINT_ctf_loop_b #1/#2.#3#4#5#6% {% - \expandafter\XINT_cstf_loop_c\expandafter + \expandafter\XINT_ctf_loop_c\expandafter {\romannumeral0\XINT_mul_fork #2\Z #4\Z }% {\romannumeral0\XINT_mul_fork #2\Z #3\Z }% {\romannumeral0\xintiiadd {\XINT_Mul {#2}{#6}}{\XINT_Mul {#1}{#4}}}% {\romannumeral0\xintiiadd {\XINT_Mul {#2}{#5}}{\XINT_Mul {#1}{#3}}}% }% -\def\XINT_cstf_loop_c #1#2% +\def\XINT_ctf_loop_c #1#2% {% - \expandafter\XINT_cstf_loop_d\expandafter {\expandafter{#2}{#1}}% + \expandafter\XINT_ctf_loop_d\expandafter {\expandafter{#2}{#1}}% }% -\def\XINT_cstf_loop_d #1#2% +\def\XINT_ctf_loop_d #1#2% {% - \expandafter\XINT_cstf_loop_e\expandafter {\expandafter{#2}#1}% + \expandafter\XINT_ctf_loop_e\expandafter {\expandafter{#2}#1}% }% -\def\XINT_cstf_loop_e #1#2% +\def\XINT_ctf_loop_e #1#2% {% - \expandafter\XINT_cstf_loop_a\expandafter{#2}#1% + \expandafter\XINT_ctf_loop_a\expandafter{#2}#1% }% -\def\XINT_cstf_end #1.#2#3#4#5{\xintrawwithzeros {#2/#3}}% 1.09b removes [0] +\def\XINT_ctf_end #1.#2#3#4#5{\xintrawwithzeros {#2/#3}}% 1.09b removes [0] \def\xintiCstoF {\romannumeral0\xinticstof }% \def\xinticstof #1% {% - \expandafter\XINT_icstf_prep \romannumeral-`0#1,\W,% + \expandafter\XINT_icstf_prep \romannumeral-`0#1,\xint_relax,% }% \def\XINT_icstf_prep {% @@ -448,7 +541,7 @@ }% \def\XINT_icstf_loop_a #1#2#3#4#5,% {% - \xint_gob_til_W #5\XINT_icstf_end\W + \xint_gob_til_xint_relax #5\XINT_icstf_end\xint_relax \expandafter \XINT_icstf_loop_b \romannumeral-`0#5.{#1}{#2}{#3}{#4}% }% @@ -467,7 +560,7 @@ \def\xintGCtoF {\romannumeral0\xintgctof }% \def\xintgctof #1% {% - \expandafter\XINT_gctf_prep \romannumeral-`0#1+\W/% + \expandafter\XINT_gctf_prep \romannumeral-`0#1+\xint_relax/% }% \def\XINT_gctf_prep {% @@ -500,7 +593,7 @@ }% \def\XINT_gctf_loop_f #1#2/% {% - \xint_gob_til_W #2\XINT_gctf_end\W + \xint_gob_til_xint_relax #2\XINT_gctf_end\xint_relax \expandafter\XINT_gctf_loop_g \romannumeral0\xintrawwithzeros {#2}.#1% }% @@ -528,7 +621,7 @@ \def\xintiGCtoF {\romannumeral0\xintigctof }% \def\xintigctof #1% {% - \expandafter\XINT_igctf_prep \romannumeral-`0#1+\W/% + \expandafter\XINT_igctf_prep \romannumeral-`0#1+\xint_relax/% }% \def\XINT_igctf_prep {% @@ -552,7 +645,7 @@ }% \def\XINT_igctf_loop_f #1#2#3#4/% {% - \xint_gob_til_W #4\XINT_igctf_end\W + \xint_gob_til_xint_relax #4\XINT_igctf_end\xint_relax \expandafter\XINT_igctf_loop_g \romannumeral-`0#4.{#2}{#3}#1% }% @@ -574,49 +667,54 @@ \def\xintCstoCv {\romannumeral0\xintcstocv }% \def\xintcstocv #1% {% - \expandafter\XINT_cstcv_prep \romannumeral-`0#1,\W,% + \expandafter\XINT_ctcv_prep\romannumeral0\xintcsvtolist{#1}\xint_relax }% -\def\XINT_cstcv_prep +\def\xintCtoCv {\romannumeral0\xintctocv }% +\def\xintctocv #1% {% - \XINT_cstcv_loop_a {}1001% + \expandafter\XINT_ctcv_prep\romannumeral-`0#1\xint_relax }% -\def\XINT_cstcv_loop_a #1#2#3#4#5#6,% +\def\XINT_ctcv_prep {% - \xint_gob_til_W #6\XINT_cstcv_end\W - \expandafter\XINT_cstcv_loop_b + \XINT_ctcv_loop_a {}1001% +}% +\def\XINT_ctcv_loop_a #1#2#3#4#5#6% +{% + \xint_gob_til_xint_relax #6\XINT_ctcv_end\xint_relax + \expandafter\XINT_ctcv_loop_b \romannumeral0\xintrawwithzeros {#6}.{#2}{#3}{#4}{#5}{#1}% }% -\def\XINT_cstcv_loop_b #1/#2.#3#4#5#6% +\def\XINT_ctcv_loop_b #1/#2.#3#4#5#6% {% - \expandafter\XINT_cstcv_loop_c\expandafter + \expandafter\XINT_ctcv_loop_c\expandafter {\romannumeral0\XINT_mul_fork #2\Z #4\Z }% {\romannumeral0\XINT_mul_fork #2\Z #3\Z }% {\romannumeral0\xintiiadd {\XINT_Mul {#2}{#6}}{\XINT_Mul {#1}{#4}}}% {\romannumeral0\xintiiadd {\XINT_Mul {#2}{#5}}{\XINT_Mul {#1}{#3}}}% }% -\def\XINT_cstcv_loop_c #1#2% +\def\XINT_ctcv_loop_c #1#2% {% - \expandafter\XINT_cstcv_loop_d\expandafter {\expandafter{#2}{#1}}% + \expandafter\XINT_ctcv_loop_d\expandafter {\expandafter{#2}{#1}}% }% -\def\XINT_cstcv_loop_d #1#2% +\def\XINT_ctcv_loop_d #1#2% {% - \expandafter\XINT_cstcv_loop_e\expandafter {\expandafter{#2}#1}% + \expandafter\XINT_ctcv_loop_e\expandafter {\expandafter{#2}#1}% }% -\def\XINT_cstcv_loop_e #1#2% +\def\XINT_ctcv_loop_e #1#2% {% - \expandafter\XINT_cstcv_loop_f\expandafter{#2}#1% + \expandafter\XINT_ctcv_loop_f\expandafter{#2}#1% }% -\def\XINT_cstcv_loop_f #1#2#3#4#5% +\def\XINT_ctcv_loop_f #1#2#3#4#5% {% - \expandafter\XINT_cstcv_loop_g\expandafter + \expandafter\XINT_ctcv_loop_g\expandafter {\romannumeral0\xintrawwithzeros {#1/#2}}{#5}{#1}{#2}{#3}{#4}% }% -\def\XINT_cstcv_loop_g #1#2{\XINT_cstcv_loop_a {#2{#1}}}% 1.09b removes [0] -\def\XINT_cstcv_end #1.#2#3#4#5#6{ #6}% +\def\XINT_ctcv_loop_g #1#2{\XINT_ctcv_loop_a {#2{#1}}}% 1.09b removes [0] +\def\XINT_ctcv_end #1.#2#3#4#5#6{ #6}% \def\xintiCstoCv {\romannumeral0\xinticstocv }% \def\xinticstocv #1% {% - \expandafter\XINT_icstcv_prep \romannumeral-`0#1,\W,% + \expandafter\XINT_icstcv_prep \romannumeral-`0#1,\xint_relax,% }% \def\XINT_icstcv_prep {% @@ -624,7 +722,7 @@ }% \def\XINT_icstcv_loop_a #1#2#3#4#5#6,% {% - \xint_gob_til_W #6\XINT_icstcv_end\W + \xint_gob_til_xint_relax #6\XINT_icstcv_end\xint_relax \expandafter \XINT_icstcv_loop_b \romannumeral-`0#6.{#2}{#3}{#4}{#5}{#1}% }% @@ -649,7 +747,7 @@ \def\xintGCtoCv {\romannumeral0\xintgctocv }% \def\xintgctocv #1% {% - \expandafter\XINT_gctcv_prep \romannumeral-`0#1+\W/% + \expandafter\XINT_gctcv_prep \romannumeral-`0#1+\xint_relax/% }% \def\XINT_gctcv_prep {% @@ -691,7 +789,7 @@ }% \def\XINT_gctcv_loop_h #1#2#3/% {% - \xint_gob_til_W #3\XINT_gctcv_end\W + \xint_gob_til_xint_relax #3\XINT_gctcv_end\xint_relax \expandafter\XINT_gctcv_loop_i \romannumeral0\xintrawwithzeros {#3}.#2{#1}% }% @@ -720,7 +818,7 @@ \def\xintiGCtoCv {\romannumeral0\xintigctocv }% \def\xintigctocv #1% {% - \expandafter\XINT_igctcv_prep \romannumeral-`0#1+\W/% + \expandafter\XINT_igctcv_prep \romannumeral-`0#1+\xint_relax/% }% \def\XINT_igctcv_prep {% @@ -744,7 +842,7 @@ }% \def\XINT_igctcv_loop_f #1#2#3#4/% {% - \xint_gob_til_W #4\XINT_igctcv_end_a\W + \xint_gob_til_xint_relax #4\XINT_igctcv_end_a\xint_relax \expandafter\XINT_igctcv_loop_g \romannumeral-`0#4.#1#2{#3}% }% @@ -772,6 +870,16 @@ {\romannumeral0\xintrawwithzeros {#2/#3}}% }% \def\XINT_igctcv_end_b #1#2{ #2{#1}}% 1.09b removes [0] +\def\xintFtoCv {\romannumeral0\xintftocv }% +\def\xintftocv #1% +{% + \xinticstocv {\xintFtoCs {#1}}% +}% +\def\xintFtoCCv {\romannumeral0\xintftoccv }% +\def\xintftoccv #1% +{% + \xintigctocv {\xintFtoCC {#1}}% +}% \def\xintCntoF {\romannumeral0\xintcntof }% \def\xintcntof #1% {% @@ -787,7 +895,7 @@ \xint_afterfi {\ifnum #1=\xint_c_ \xint_afterfi {\expandafter\space \romannumeral-`0#2{0}}% - \else \xint_afterfi { 0/1[0]}% + \else \xint_afterfi { }% 1.09m now returns nothing. \fi}% \fi }% @@ -820,7 +928,7 @@ \xint_afterfi {\ifnum #1=\xint_c_ \xint_afterfi {\expandafter\space\romannumeral-`0#2{0}}% - \else \xint_afterfi { 0/1[0]}% + \else \xint_afterfi { }% 1.09m now returns nothing rather than 0/1[0] \fi}% \fi }% @@ -846,19 +954,19 @@ \def\XINT_cntcs #1#2% {% \ifnum #1<0 - \xint_afterfi { }% 1.09i: a 0/1[0] was strangely here, removed + \xint_afterfi { }% 1.09i: a 0/1[0] was here, now the macro returns nothing \else \xint_afterfi {\expandafter\XINT_cntcs_loop\expandafter - {\the\numexpr #1-1\expandafter}\expandafter - {\expandafter{\romannumeral-`0#2{#1}}}{#2}}% + {\the\numexpr #1-\xint_c_i\expandafter}\expandafter + {\romannumeral-`0#2{#1}}{#2}}% produced coeff not braced \fi }% \def\XINT_cntcs_loop #1#2#3% {% - \ifnum #1>-1 \else \XINT_cntcs_exit \fi + \ifnum #1>-\xint_c_i \else \XINT_cntcs_exit \fi \expandafter\XINT_cntcs_loop\expandafter - {\the\numexpr #1-1\expandafter }\expandafter - {\expandafter{\romannumeral-`0#3{#1}},#2}{#3}% + {\the\numexpr #1-\xint_c_i\expandafter}\expandafter + {\romannumeral-`0#3{#1}, #2}{#3}% space added, 1.09m }% \def\XINT_cntcs_exit \fi \expandafter\XINT_cntcs_loop\expandafter @@ -866,7 +974,7 @@ {% \fi\XINT_cntcs_exit_b #2% }% -\def\XINT_cntcs_exit_b #1,{ }% +\def\XINT_cntcs_exit_b #1,{}% romannumeral stopping space already there \def\xintCntoGC {\romannumeral0\xintcntogc }% \def\xintcntogc #1% {% @@ -878,15 +986,15 @@ \xint_afterfi { }% 1.09i there was as strange 0/1[0] here, removed \else \xint_afterfi {\expandafter\XINT_cntgc_loop\expandafter - {\the\numexpr #1-1\expandafter}\expandafter + {\the\numexpr #1-\xint_c_i\expandafter}\expandafter {\expandafter{\romannumeral-`0#2{#1}}}{#2}}% \fi }% \def\XINT_cntgc_loop #1#2#3% {% - \ifnum #1>-1 \else \XINT_cntgc_exit \fi + \ifnum #1>-\xint_c_i \else \XINT_cntgc_exit \fi \expandafter\XINT_cntgc_loop\expandafter - {\the\numexpr #1-1\expandafter }\expandafter + {\the\numexpr #1-\xint_c_i\expandafter }\expandafter {\expandafter{\romannumeral-`0#3{#1}}+1/#2}{#3}% }% \def\XINT_cntgc_exit \fi @@ -907,20 +1015,20 @@ \xint_afterfi { }% 1.09i now returns nothing \else \xint_afterfi {\expandafter\XINT_gcntgc_loop\expandafter - {\the\numexpr #1-1\expandafter}\expandafter + {\the\numexpr #1-\xint_c_i\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 + \ifnum #1>-\xint_c_i \else \XINT_gcntgc_exit \fi \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 + {\the\numexpr #3-\xint_c_i \expandafter}\expandafter {\expandafter{\romannumeral-`0#2}+#1}% }% \def\XINT_gcntgc_exit \fi @@ -932,25 +1040,25 @@ \def\xintCstoGC {\romannumeral0\xintcstogc }% \def\xintcstogc #1% {% - \expandafter\XINT_cstc_prep \romannumeral-`0#1,\W,% + \expandafter\XINT_cstc_prep \romannumeral-`0#1,\xint_relax,% }% \def\XINT_cstc_prep #1,{\XINT_cstc_loop_a {{#1}}}% \def\XINT_cstc_loop_a #1#2,% {% - \xint_gob_til_W #2\XINT_cstc_end\W + \xint_gob_til_xint_relax #2\XINT_cstc_end\xint_relax \XINT_cstc_loop_b {#1}{#2}% }% \def\XINT_cstc_loop_b #1#2{\XINT_cstc_loop_a {#1+1/{#2}}}% -\def\XINT_cstc_end\W\XINT_cstc_loop_b #1#2{ #1}% +\def\XINT_cstc_end\xint_relax\XINT_cstc_loop_b #1#2{ #1}% \def\xintGCtoGC {\romannumeral0\xintgctogc }% \def\xintgctogc #1% {% - \expandafter\XINT_gctgc_start \romannumeral-`0#1+\W/% + \expandafter\XINT_gctgc_start \romannumeral-`0#1+\xint_relax/% }% \def\XINT_gctgc_start {\XINT_gctgc_loop_a {}}% \def\XINT_gctgc_loop_a #1#2+#3/% {% - \xint_gob_til_W #3\XINT_gctgc_end\W + \xint_gob_til_xint_relax #3\XINT_gctgc_end\xint_relax \expandafter\XINT_gctgc_loop_b\expandafter {\romannumeral-`0#2}{#3}{#1}% }% @@ -963,7 +1071,7 @@ {% \XINT_gctgc_loop_a {#3{#2}+{#1}/}% }% -\def\XINT_gctgc_end\W\expandafter\XINT_gctgc_loop_b +\def\XINT_gctgc_end\xint_relax\expandafter\XINT_gctgc_loop_b {% \expandafter\XINT_gctgc_end_b }% diff --git a/Master/texmf-dist/tex/generic/xint/xintexpr.sty b/Master/texmf-dist/tex/generic/xint/xintexpr.sty index 1873d3bfd9f..899e824186d 100644 --- a/Master/texmf-dist/tex/generic/xint/xintexpr.sty +++ b/Master/texmf-dist/tex/generic/xint/xintexpr.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %%---------------------------------------------------------------- -%% The xint bundle (version 1.09kb of February 13, 2014) +%% The xint bundle (version 1.09m of February 26, 2014) %% xintexpr: Expandable expression parser %% Copyright (C) 2013-2014 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -101,7 +101,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintexpr}% - [2014/02/13 v1.09kb Expandable expression parser (jfB)]% + [2014/02/26 v1.09m Expandable expression parser (jfB)]% \def\xint_gob_til_! #1!{}% nota bene: this ! has catcode 11 \expandafter\def\expandafter \XINT_expr_lock\expandafter#\expandafter1\expandafter !\expandafter diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty index d004f3ade63..b2ea1be9fbc 100644 --- a/Master/texmf-dist/tex/generic/xint/xintfrac.sty +++ b/Master/texmf-dist/tex/generic/xint/xintfrac.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %%---------------------------------------------------------------- -%% The xint bundle (version 1.09kb of February 13, 2014) +%% The xint bundle (version 1.09m of February 26, 2014) %% xintfrac: Expandable operations on fractions %% Copyright (C) 2013-2014 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -101,9 +101,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintfrac}% - [2014/02/13 v1.09kb Expandable operations on fractions (jfB)]% -\chardef\xint_c_vi 6 -\chardef\xint_c_vii 7 + [2014/02/26 v1.09m Expandable operations on fractions (jfB)]% \chardef\xint_c_xviii 18 \def\xintLen {\romannumeral0\xintlen }% \def\xintlen #1% @@ -629,19 +627,19 @@ \expandafter\XINT_e_end\expandafter{\the\numexpr #1+\xintNum{#4}}{#2}{#3}% }% \def\xintFloatE {\romannumeral0\xintfloate }% -\def\xintfloate #1{\XINT_floate_chkopt #1\Z }% +\def\xintfloate #1{\XINT_floate_chkopt #1\xint_relax }% \def\XINT_floate_chkopt #1% {% \ifx [#1\expandafter\XINT_floate_opt \else\expandafter\XINT_floate_noopt \fi #1% }% -\def\XINT_floate_noopt #1\Z +\def\XINT_floate_noopt #1\xint_relax {% \expandafter\XINT_floate_a\expandafter\XINTdigits \romannumeral0\XINT_infrac {#1}% }% -\def\XINT_floate_opt [\Z #1]#2% +\def\XINT_floate_opt [\xint_relax #1]#2% {% \expandafter\XINT_floate_a\expandafter {\the\numexpr #1\expandafter}\romannumeral0\XINT_infrac {#2}% @@ -1239,19 +1237,19 @@ {\afterassignment \xint_gobble_i \mathchardef\XINTdigits=}% \def\xinttheDigits {\number\XINTdigits }% \def\xintFloat {\romannumeral0\xintfloat }% -\def\xintfloat #1{\XINT_float_chkopt #1\Z }% +\def\xintfloat #1{\XINT_float_chkopt #1\xint_relax }% \def\XINT_float_chkopt #1% {% \ifx [#1\expandafter\XINT_float_opt \else\expandafter\XINT_float_noopt \fi #1% }% -\def\XINT_float_noopt #1\Z +\def\XINT_float_noopt #1\xint_relax {% \expandafter\XINT_float_a\expandafter\XINTdigits \romannumeral0\XINT_infrac {#1}\XINT_float_Q }% -\def\XINT_float_opt [\Z #1]#2% +\def\XINT_float_opt [\xint_relax #1]#2% {% \expandafter\XINT_float_a\expandafter {\the\numexpr #1\expandafter}% @@ -1915,20 +1913,20 @@ \def\xintSgn {\romannumeral0\xintsgn }% \def\xintsgn #1{\expandafter\XINT_sgn\romannumeral0\xintraw {#1}\Z }% \def\xintFloatAdd {\romannumeral0\xintfloatadd }% -\def\xintfloatadd #1{\XINT_fladd_chkopt \xintfloat #1\Z }% +\def\xintfloatadd #1{\XINT_fladd_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatAdd {\romannumeral0\XINTinfloatadd }% -\def\XINTinfloatadd #1{\XINT_fladd_chkopt \XINTinfloat #1\Z }% +\def\XINTinfloatadd #1{\XINT_fladd_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_fladd_chkopt #1#2% {% \ifx [#2\expandafter\XINT_fladd_opt \else\expandafter\XINT_fladd_noopt \fi #1#2% }% -\def\XINT_fladd_noopt #1#2\Z #3% +\def\XINT_fladd_noopt #1#2\xint_relax #3% {% #1[\XINTdigits]{\XINT_FL_Add {\XINTdigits+\xint_c_ii}{#2}{#3}}% }% -\def\XINT_fladd_opt #1[\Z #2]#3#4% +\def\XINT_fladd_opt #1[\xint_relax #2]#3#4% {% #1[#2]{\XINT_FL_Add {#2+\xint_c_ii}{#3}{#4}}% }% @@ -1963,38 +1961,38 @@ \def\XINT_FL_Add_zero 0\XINT_FL_Add_c 0[0]#1[#2]#3{#1[#2]}% \def\XINT_FL_Add_zerobis 0\XINT_FL_Add_d #1[#2]0[0]#3{#1[#2]}% \def\xintFloatSub {\romannumeral0\xintfloatsub }% -\def\xintfloatsub #1{\XINT_flsub_chkopt \xintfloat #1\Z }% +\def\xintfloatsub #1{\XINT_flsub_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatSub {\romannumeral0\XINTinfloatsub }% -\def\XINTinfloatsub #1{\XINT_flsub_chkopt \XINTinfloat #1\Z }% +\def\XINTinfloatsub #1{\XINT_flsub_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_flsub_chkopt #1#2% {% \ifx [#2\expandafter\XINT_flsub_opt \else\expandafter\XINT_flsub_noopt \fi #1#2% }% -\def\XINT_flsub_noopt #1#2\Z #3% +\def\XINT_flsub_noopt #1#2\xint_relax #3% {% #1[\XINTdigits]{\XINT_FL_Add {\XINTdigits+\xint_c_ii}{#2}{\xintOpp{#3}}}% }% -\def\XINT_flsub_opt #1[\Z #2]#3#4% +\def\XINT_flsub_opt #1[\xint_relax #2]#3#4% {% #1[#2]{\XINT_FL_Add {#2+\xint_c_ii}{#3}{\xintOpp{#4}}}% }% \def\xintFloatMul {\romannumeral0\xintfloatmul}% -\def\xintfloatmul #1{\XINT_flmul_chkopt \xintfloat #1\Z }% +\def\xintfloatmul #1{\XINT_flmul_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatMul {\romannumeral0\XINTinfloatmul }% -\def\XINTinfloatmul #1{\XINT_flmul_chkopt \XINTinfloat #1\Z }% +\def\XINTinfloatmul #1{\XINT_flmul_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_flmul_chkopt #1#2% {% \ifx [#2\expandafter\XINT_flmul_opt \else\expandafter\XINT_flmul_noopt \fi #1#2% }% -\def\XINT_flmul_noopt #1#2\Z #3% +\def\XINT_flmul_noopt #1#2\xint_relax #3% {% #1[\XINTdigits]{\XINT_FL_Mul {\XINTdigits+\xint_c_ii}{#2}{#3}}% }% -\def\XINT_flmul_opt #1[\Z #2]#3#4% +\def\XINT_flmul_opt #1[\xint_relax #2]#3#4% {% #1[#2]{\XINT_FL_Mul {#2+\xint_c_ii}{#3}{#4}}% }% @@ -2009,20 +2007,20 @@ }% \def\XINT_FL_Mul_b #1[#2]#3[#4]{\xintE{\xintiiMul {#1}{#3}}{#2+#4}}% \def\xintFloatDiv {\romannumeral0\xintfloatdiv}% -\def\xintfloatdiv #1{\XINT_fldiv_chkopt \xintfloat #1\Z }% +\def\xintfloatdiv #1{\XINT_fldiv_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatDiv {\romannumeral0\XINTinfloatdiv }% -\def\XINTinfloatdiv #1{\XINT_fldiv_chkopt \XINTinfloat #1\Z }% +\def\XINTinfloatdiv #1{\XINT_fldiv_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_fldiv_chkopt #1#2% {% \ifx [#2\expandafter\XINT_fldiv_opt \else\expandafter\XINT_fldiv_noopt \fi #1#2% }% -\def\XINT_fldiv_noopt #1#2\Z #3% +\def\XINT_fldiv_noopt #1#2\xint_relax #3% {% #1[\XINTdigits]{\XINT_FL_Div {\XINTdigits+\xint_c_ii}{#2}{#3}}% }% -\def\XINT_fldiv_opt #1[\Z #2]#3#4% +\def\XINT_fldiv_opt #1[\xint_relax #2]#3#4% {% #1[#2]{\XINT_FL_Div {#2+\xint_c_ii}{#3}{#4}}% }% @@ -2059,9 +2057,9 @@ {\expandafter\XINT_floatprd_b\romannumeral0\XINTinfloatmul {#1}}% \def\XINT_floatprd_e #1\Z #2\Z { #2}% \def\xintFloatPow {\romannumeral0\xintfloatpow}% -\def\xintfloatpow #1{\XINT_flpow_chkopt \xintfloat #1\Z }% +\def\xintfloatpow #1{\XINT_flpow_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatPow {\romannumeral0\XINTinfloatpow }% -\def\XINTinfloatpow #1{\XINT_flpow_chkopt \XINTinfloat #1\Z }% +\def\XINTinfloatpow #1{\XINT_flpow_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_flpow_chkopt #1#2% {% \ifx [#2\expandafter\XINT_flpow_opt @@ -2069,13 +2067,13 @@ \fi #1#2% }% -\def\XINT_flpow_noopt #1#2\Z #3% +\def\XINT_flpow_noopt #1#2\xint_relax #3% {% \expandafter\XINT_flpow_checkB_start\expandafter {\the\numexpr #3\expandafter}\expandafter {\the\numexpr \XINTdigits}{#2}{#1[\XINTdigits]}% }% -\def\XINT_flpow_opt #1[\Z #2]#3#4% +\def\XINT_flpow_opt #1[\xint_relax #2]#3#4% {% \expandafter\XINT_flpow_checkB_start\expandafter {\the\numexpr #4\expandafter}\expandafter @@ -2200,9 +2198,9 @@ \krof }% \def\xintFloatPower {\romannumeral0\xintfloatpower}% -\def\xintfloatpower #1{\XINT_flpower_chkopt \xintfloat #1\Z }% +\def\xintfloatpower #1{\XINT_flpower_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatPower {\romannumeral0\XINTinfloatpower}% -\def\XINTinfloatpower #1{\XINT_flpower_chkopt \XINTinfloat #1\Z }% +\def\XINTinfloatpower #1{\XINT_flpower_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_flpower_chkopt #1#2% {% \ifx [#2\expandafter\XINT_flpower_opt @@ -2210,13 +2208,13 @@ \fi #1#2% }% -\def\XINT_flpower_noopt #1#2\Z #3% +\def\XINT_flpower_noopt #1#2\xint_relax #3% {% \expandafter\XINT_flpower_checkB_start\expandafter {\the\numexpr \XINTdigits\expandafter}\expandafter {\romannumeral0\xintnum{#3}}{#2}{#1[\XINTdigits]}% }% -\def\XINT_flpower_opt #1[\Z #2]#3#4% +\def\XINT_flpower_opt #1[\xint_relax #2]#3#4% {% \expandafter\XINT_flpower_checkB_start\expandafter {\the\numexpr #2\expandafter}\expandafter @@ -2316,20 +2314,20 @@ #4{#3}{#5}% }% \def\xintFloatSqrt {\romannumeral0\xintfloatsqrt }% -\def\xintfloatsqrt #1{\XINT_flsqrt_chkopt \xintfloat #1\Z }% +\def\xintfloatsqrt #1{\XINT_flsqrt_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatSqrt {\romannumeral0\XINTinfloatsqrt }% -\def\XINTinfloatsqrt #1{\XINT_flsqrt_chkopt \XINTinfloat #1\Z }% +\def\XINTinfloatsqrt #1{\XINT_flsqrt_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_flsqrt_chkopt #1#2% {% \ifx [#2\expandafter\XINT_flsqrt_opt \else\expandafter\XINT_flsqrt_noopt \fi #1#2% }% -\def\XINT_flsqrt_noopt #1#2\Z +\def\XINT_flsqrt_noopt #1#2\xint_relax {% #1[\XINTdigits]{\XINT_FL_sqrt \XINTdigits {#2}}% }% -\def\XINT_flsqrt_opt #1[\Z #2]#3% +\def\XINT_flsqrt_opt #1[\xint_relax #2]#3% {% #1[#2]{\XINT_FL_sqrt {#2}{#3}}% }% diff --git a/Master/texmf-dist/tex/generic/xint/xintgcd.sty b/Master/texmf-dist/tex/generic/xint/xintgcd.sty index 39b7301746a..a5016c7092b 100644 --- a/Master/texmf-dist/tex/generic/xint/xintgcd.sty +++ b/Master/texmf-dist/tex/generic/xint/xintgcd.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %%---------------------------------------------------------------- -%% The xint bundle (version 1.09kb of February 13, 2014) +%% The xint bundle (version 1.09m of February 26, 2014) %% xintgcd: Euclidean algorithm with xint package %% Copyright (C) 2013-2014 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -101,7 +101,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintgcd}% - [2014/02/13 v1.09kb Euclide algorithm with xint package (jfB)]% + [2014/02/26 v1.09m Euclide algorithm with xint package (jfB)]% \def\xintGCD {\romannumeral0\xintgcd }% \def\xintgcd #1% {% diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty index b73dc876e64..117ccd4eb36 100644 --- a/Master/texmf-dist/tex/generic/xint/xintseries.sty +++ b/Master/texmf-dist/tex/generic/xint/xintseries.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %%---------------------------------------------------------------- -%% The xint bundle (version 1.09kb of February 13, 2014) +%% The xint bundle (version 1.09m of February 26, 2014) %% xintseries: Expandable partial sums with xint package %% Copyright (C) 2013-2014 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -101,7 +101,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintseries}% - [2014/02/13 v1.09kb Expandable partial sums with xint package (jfB)]% + [2014/02/26 v1.09m Expandable partial sums with xint package (jfB)]% \def\xintSeries {\romannumeral0\xintseries }% \def\xintseries #1#2% {% @@ -339,7 +339,7 @@ {#2}{#1}{#3}{#4}{#5}% }% \def\xintFloatPowerSeries {\romannumeral0\xintfloatpowerseries }% -\def\xintfloatpowerseries #1{\XINT_flpowseries_chkopt #1\Z }% +\def\xintfloatpowerseries #1{\XINT_flpowseries_chkopt #1\xint_relax }% \def\XINT_flpowseries_chkopt #1% {% \ifx [#1\expandafter\XINT_flpowseries_opt @@ -347,13 +347,13 @@ \fi #1% }% -\def\XINT_flpowseries_noopt #1\Z #2% +\def\XINT_flpowseries_noopt #1\xint_relax #2% {% \expandafter\XINT_flpowseries\expandafter {\the\numexpr #1\expandafter}\expandafter {\the\numexpr #2}\XINTdigits }% -\def\XINT_flpowseries_opt [\Z #1]#2#3% +\def\XINT_flpowseries_opt [\xint_relax #1]#2#3% {% \expandafter\XINT_flpowseries\expandafter {\the\numexpr #2\expandafter}\expandafter @@ -404,7 +404,7 @@ \xintfloatadd [#7]{#4}{\XINTinfloatmul [#7]{#6{#2}}{#1}}% }% \def\xintFloatPowerSeriesX {\romannumeral0\xintfloatpowerseriesx }% -\def\xintfloatpowerseriesx #1{\XINT_flpowseriesx_chkopt #1\Z }% +\def\xintfloatpowerseriesx #1{\XINT_flpowseriesx_chkopt #1\xint_relax }% \def\XINT_flpowseriesx_chkopt #1% {% \ifx [#1\expandafter\XINT_flpowseriesx_opt @@ -412,13 +412,13 @@ \fi #1% }% -\def\XINT_flpowseriesx_noopt #1\Z #2% +\def\XINT_flpowseriesx_noopt #1\xint_relax #2% {% \expandafter\XINT_flpowseriesx\expandafter {\the\numexpr #1\expandafter}\expandafter {\the\numexpr #2}\XINTdigits }% -\def\XINT_flpowseriesx_opt [\Z #1]#2#3% +\def\XINT_flpowseriesx_opt [\xint_relax #1]#2#3% {% \expandafter\XINT_flpowseriesx\expandafter {\the\numexpr #2\expandafter}\expandafter diff --git a/Master/texmf-dist/tex/generic/xint/xinttools.sty b/Master/texmf-dist/tex/generic/xint/xinttools.sty index 11d8315c830..9b5e78d39b8 100644 --- a/Master/texmf-dist/tex/generic/xint/xinttools.sty +++ b/Master/texmf-dist/tex/generic/xint/xinttools.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %%---------------------------------------------------------------- -%% The xint bundle (version 1.09kb of February 13, 2014) +%% The xint bundle (version 1.09m of February 26, 2014) %% xinttools: Expandable and non-expandable utilities %% Copyright (C) 2013-2014 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -152,7 +152,7 @@ \fi \XINT_providespackage \ProvidesPackage {xinttools}% - [2014/02/13 v1.09kb Expandable and non-expandable utilities (jfB)]% + [2014/02/26 v1.09m Expandable and non-expandable utilities (jfB)]% \long\def\xint_gobble_ {}% \long\def\xint_gobble_i #1{}% \long\def\xint_gobble_ii #1#2{}% @@ -163,12 +163,14 @@ \long\def\xint_gobble_vii #1#2#3#4#5#6#7{}% \long\def\xint_gobble_viii #1#2#3#4#5#6#7#8{}% \long\def\xint_firstofone #1{#1}% -\xint_firstofone{\let\XINT_sptoken= } %<- space here! \long\def\xint_firstoftwo #1#2{#1}% \long\def\xint_secondoftwo #1#2{#2}% +\long\def\xint_firstofone_thenstop #1{ #1}% \long\def\xint_firstoftwo_thenstop #1#2{ #1}% \long\def\xint_secondoftwo_thenstop #1#2{ #2}% \def\xint_minus_thenstop { -}% +\def\xint_gob_til_zero #10{}% no need to make it long, so far +\def\xint_UDzerominusfork #10-#2#3\krof {#2}% id. \long\def\xint_gob_til_R #1\R {}% \long\def\xint_gob_til_W #1\W {}% \long\def\xint_gob_til_Z #1\Z {}% @@ -178,9 +180,16 @@ \long\def\xint_gob_til_xint_relax #1\xint_relax {}% \long\def\xint_afterfi #1#2\fi {\fi #1}% \chardef\xint_c_ 0 -\chardef\xint_c_i 1 % 1.09k did not have it, but needed in \xintSeq +\chardef\xint_c_i 1 +\chardef\xint_c_ii 2 +\chardef\xint_c_iii 3 +\chardef\xint_c_iv 4 +\chardef\xint_c_v 5 +\chardef\xint_c_vi 6 +\chardef\xint_c_vii 7 \chardef\xint_c_viii 8 \newtoks\XINT_toks +\xint_firstofone{\let\XINT_sptoken= } %<- space here! \def\xintodef #1{\expandafter\def\expandafter#1\expandafter }% \ifdefined\odef\else\let\odef\xintodef\fi \def\xintgodef {\global\xintodef }% @@ -256,33 +265,33 @@ \long\def\xintlength #1% {% \XINT_length_loop - {0}#1\xint_relax\xint_relax\xint_relax\xint_relax + 0.#1\xint_relax\xint_relax\xint_relax\xint_relax \xint_relax\xint_relax\xint_relax\xint_relax\xint_bye }% -\long\def\XINT_length_loop #1#2#3#4#5#6#7#8#9% +\long\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}% + \expandafter\XINT_length_loop\the\numexpr #1+\xint_c_viii.% }% -\def\XINT_length_finish_a\xint_relax - \expandafter\XINT_length_loop\expandafter #1#2\xint_bye +\def\XINT_length_finish_a\xint_relax\expandafter\XINT_length_loop + \the\numexpr #1+\xint_c_viii.#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 + #1\XINT_length_finish_c \xint_c_ + #2\XINT_length_finish_c \xint_c_i + #3\XINT_length_finish_c \xint_c_ii + #4\XINT_length_finish_c \xint_c_iii + #5\XINT_length_finish_c \xint_c_iv + #6\XINT_length_finish_c \xint_c_v + #7\XINT_length_finish_c \xint_c_vi + \W\XINT_length_finish_c \xint_c_vii\Z }% \edef\XINT_length_finish_c #1#2\Z #3% - {\noexpand\expandafter\space\noexpand\the\numexpr #3-#1\relax}% + {\noexpand\expandafter\space\noexpand\the\numexpr #3+#1\relax}% \def\xintZapFirstSpaces {\romannumeral0\xintzapfirstspaces }% \long\edef\xintzapfirstspaces #1% {\noexpand\XINT_zapbsp_a \space #1\space\space\noexpand\xint_bye\xint_relax }% @@ -411,66 +420,217 @@ \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% +\def\xintnthelt #1#2% {% - \expandafter\XINT_nthelt_a\expandafter {\the\numexpr #1}% + \expandafter\XINT_nthelt_a\the\numexpr #1\expandafter.% + \expandafter{\romannumeral-`0#2}% }% \def\xintntheltnoexpand #1% {% - \expandafter\XINT_ntheltnoexpand_a\expandafter {\the\numexpr #1}% + \expandafter\XINT_nthelt_a\the\numexpr #1.% }% -\long\def\XINT_nthelt_a #1#2% +\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 + \xint_UDzerominusfork + #1-{\XINT_nthelt_bzero}% + 0#1{\XINT_nthelt_bneg {#2}}% + 0-{\XINT_nthelt_bpos {#1#2}}% + \krof }% -\long\def\XINT_ntheltnoexpand_a #1#2% +\long\def\XINT_nthelt_bzero #1% {% - \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 + \XINT_length_loop 0.#1\xint_relax\xint_relax\xint_relax\xint_relax + \xint_relax\xint_relax\xint_relax\xint_relax\xint_bye }% -\long\def\XINT_nthelt_c #1#2% +\long\def\XINT_nthelt_bneg #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 + \expandafter\XINT_nthelt_loop_a\expandafter {\the\numexpr #1\expandafter}% + \romannumeral0\xintrevwithbracesnoexpand {#2}% + \xint_relax\xint_relax\xint_relax\xint_relax \xint_relax\xint_relax\xint_relax\xint_relax\xint_bye }% +\long\def\XINT_nthelt_bpos #1#2% +{% + \XINT_nthelt_loop_a {#1}#2\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 + \XINT_nthelt_getit \fi {#1}% }% \long\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}% + \expandafter\XINT_nthelt_loop_a\expandafter{\the\numexpr #1-\xint_c_viii}% }% \def\XINT_nthelt_silentend #1\xint_bye { }% -\def\XINT_nthelt_getit #1% +\def\XINT_nthelt_getit\fi #1% {% - \expandafter\expandafter\expandafter\XINT_nthelt_finish - \csname xint_gobble_\romannumeral\numexpr#1-1\endcsname + \fi\expandafter\expandafter\expandafter\XINT_nthelt_finish + \csname xint_gobble_\romannumeral\numexpr#1-\xint_c_i\endcsname }% \long\edef\XINT_nthelt_finish #1#2\xint_bye {\noexpand\xint_gob_til_xint_relax #1\noexpand\expandafter\space \noexpand\xint_gobble_iii\xint_relax\space #1}% +\def\xintKeep {\romannumeral0\xintkeep }% +\def\xintKeepNoExpand {\romannumeral0\xintkeepnoexpand }% +\def\xintkeep #1#2% +{% + \expandafter\XINT_keep_a\the\numexpr #1\expandafter.% + \expandafter{\romannumeral-`0#2}% +}% +\def\xintkeepnoexpand #1% +{% + \expandafter\XINT_keep_a\the\numexpr #1.% +}% +\def\XINT_keep_a #1#2.% +{% + \xint_UDzerominusfork + #1-{\expandafter\space\xint_gobble_i }% + 0#1{\XINT_keep_bneg_a {#2}}% + 0-{\XINT_keep_bpos {#1#2}}% + \krof +}% +\long\def\XINT_keep_bneg_a #1#2% +{% + \expandafter\XINT_keep_bneg_b \the\numexpr \xintLength{#2}-#1.{#2}% +}% +\def\XINT_keep_bneg_b #1#2.% +{% + \xint_UDzerominusfork + #1-{\xint_firstofone_thenstop }% + 0#1{\xint_firstofone_thenstop }% + 0-{\XINT_trim_bpos {#1#2}}% + \krof +}% +\long\def\XINT_keep_bpos #1#2% +{% + \XINT_keep_loop_a {#1}{}#2\xint_relax\xint_relax\xint_relax\xint_relax + \xint_relax\xint_relax\xint_relax\xint_bye +}% +\def\XINT_keep_loop_a #1% +{% + \ifnum #1>\xint_c_vi + \expandafter\XINT_keep_loop_b + \else + \XINT_keep_finish + \fi + {#1}% +}% +\long\def\XINT_keep_loop_b #1#2#3#4#5#6#7#8#9% +{% + \xint_gob_til_xint_relax #9\XINT_keep_enda\xint_relax + \expandafter\XINT_keep_loop_c\expandafter{\the\numexpr #1-\xint_c_vii}% + {{#3}{#4}{#5}{#6}{#7}{#8}{#9}}{#2}% +}% +\long\def\XINT_keep_loop_c #1#2#3{\XINT_keep_loop_a {#1}{#3#2}}% +\long\def\XINT_keep_enda\xint_relax + \expandafter\XINT_keep_loop_c\expandafter #1#2#3#4\xint_bye +{% + \XINT_keep_endb #4\W\W\W\W\W\W\Z #2{#3}% +}% +\def\XINT_keep_endb #1#2#3#4#5#6#7\Z +{% + \xint_gob_til_W + #1\XINT_keep_endc_ + #2\XINT_keep_endc_i + #3\XINT_keep_endc_ii + #4\XINT_keep_endc_iii + #5\XINT_keep_endc_iv + #6\XINT_keep_endc_v + \W\XINT_keep_endc_vi\Z +}% +\long\def\XINT_keep_endc_ #1\Z #2#3#4#5#6#7#8#9{ #9}% +\long\def\XINT_keep_endc_i #1\Z #2#3#4#5#6#7#8#9{ #9{#2}}% +\long\def\XINT_keep_endc_ii #1\Z #2#3#4#5#6#7#8#9{ #9{#2}{#3}}% +\long\def\XINT_keep_endc_iii #1\Z #2#3#4#5#6#7#8#9{ #9{#2}{#3}{#4}}% +\long\def\XINT_keep_endc_iv #1\Z #2#3#4#5#6#7#8#9{ #9{#2}{#3}{#4}{#5}}% +\long\def\XINT_keep_endc_v #1\Z #2#3#4#5#6#7#8#9{ #9{#2}{#3}{#4}{#5}{#6}}% +\long\def\XINT_keep_endc_vi\Z #1#2#3#4#5#6#7#8{ #8{#1}{#2}{#3}{#4}{#5}{#6}}% +\long\def\XINT_keep_finish\fi #1#2#3#4#5#6#7#8#9\xint_bye +{% + \fi\XINT_keep_finish_loop_a {#1}{}{#3}{#4}{#5}{#6}{#7}{#8}\Z {#2}% +}% +\def\XINT_keep_finish_loop_a #1% +{% + \xint_gob_til_zero #1\XINT_keep_finish_z0% + \expandafter\XINT_keep_finish_loop_b\expandafter + {\the\numexpr #1-\xint_c_i}% +}% +\long\def\XINT_keep_finish_z0% + \expandafter\XINT_keep_finish_loop_b\expandafter #1#2#3\Z #4{ #4#2}% +\long\def\XINT_keep_finish_loop_b #1#2#3% +{% + \xint_gob_til_xint_relax #3\XINT_keep_finish_exit\xint_relax + \XINT_keep_finish_loop_c {#1}{#2}{#3}% +}% +\long\def\XINT_keep_finish_exit\xint_relax + \XINT_keep_finish_loop_c #1#2#3\Z #4{ #4#2}% +\long\def\XINT_keep_finish_loop_c #1#2#3% + {\XINT_keep_finish_loop_a {#1}{#2{#3}}}% +\def\xintTrim {\romannumeral0\xinttrim }% +\def\xintTrimNoExpand {\romannumeral0\xinttrimnoexpand }% +\def\xinttrim #1#2% +{% + \expandafter\XINT_trim_a\the\numexpr #1\expandafter.% + \expandafter{\romannumeral-`0#2}% +}% +\def\xinttrimnoexpand #1% +{% + \expandafter\XINT_trim_a\the\numexpr #1.% +}% +\def\XINT_trim_a #1#2.% +{% + \xint_UDzerominusfork + #1-{\xint_firstofone_thenstop }% + 0#1{\XINT_trim_bneg_a {#2}}% + 0-{\XINT_trim_bpos {#1#2}}% + \krof +}% +\long\def\XINT_trim_bneg_a #1#2% +{% + \expandafter\XINT_trim_bneg_b \the\numexpr \xintLength{#2}-#1.{#2}% +}% +\def\XINT_trim_bneg_b #1#2.% +{% + \xint_UDzerominusfork + #1-{\expandafter\space\xint_gobble_i }% + 0#1{\expandafter\space\xint_gobble_i }% + 0-{\XINT_keep_bpos {#1#2}}% + \krof +}% +\long\def\XINT_trim_bpos #1#2% +{% + \XINT_trim_loop_a {#1}#2\xint_relax\xint_relax\xint_relax\xint_relax + \xint_relax\xint_relax\xint_relax\xint_relax\xint_bye +}% +\def\XINT_trim_loop_a #1% +{% + \ifnum #1>\xint_c_vii + \expandafter\XINT_trim_loop_b + \else + \XINT_trim_finish + \fi + {#1}% +}% +\long\def\XINT_trim_loop_b #1#2#3#4#5#6#7#8#9% +{% + \xint_gob_til_xint_relax #9\XINT_trim_silentend\xint_relax + \expandafter\XINT_trim_loop_a\expandafter{\the\numexpr #1-\xint_c_viii}% +}% +\def\XINT_trim_silentend #1\xint_bye { }% +\def\XINT_trim_finish\fi #1% +{% + \fi\expandafter\expandafter\expandafter\XINT_trim_finish_a + \expandafter\expandafter\expandafter\space % avoids brace removal + \csname xint_gobble_\romannumeral\numexpr#1\endcsname +}% +\long\def\XINT_trim_finish_a #1\xint_relax #2\xint_bye {#1}% \def\xintApply {\romannumeral0\xintapply }% \def\xintApplyNoExpand {\romannumeral0\xintapplynoexpand }% \long\def\xintapply #1#2% -- cgit v1.2.3