diff options
author | Karl Berry <karl@freefriends.org> | 2014-11-08 23:51:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-11-08 23:51:15 +0000 |
commit | 9a870ba0873e5855067323ca60f8211fedfa23cc (patch) | |
tree | e5d74dfe6a59a441aefbe010a4818ab72a71a775 /Master/texmf-dist/tex/generic/xint | |
parent | 4435db29aea2c716c788f96372d03d17a7cc6486 (diff) |
xint (8nov14)
git-svn-id: svn://tug.org/texlive/trunk@35545 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 | 113 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintbinhex.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintcfrac.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintcore.sty | 6 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintexpr.sty | 163 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintfrac.sty | 62 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintgcd.sty | 22 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintkernel.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintseries.sty | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xinttools.sty | 4 |
10 files changed, 214 insertions, 172 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty index b105b592d96..94ed59c37c0 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 v1.1 (2014/10/28) +%% The xint bundle v1.1a (2014/11/07) %% Copyright (C) 2013-2014 by Jean-Francois Burnol %% xint: Expandable operations on big integers %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty (loaded by xintcore.sty) \XINT_providespackage \ProvidesPackage{xint}% - [2014/10/28 v1.1 Expandable operations on big integers (jfB)]% + [2014/11/07 v1.1a Expandable operations on big integers (jfB)]% \long\def\xint_firstofthree #1#2#3{#1}% \long\def\xint_secondofthree #1#2#3{#2}% \long\def\xint_thirdofthree #1#2#3{#3}% @@ -85,6 +85,8 @@ \else\expandafter\xint_firstofthree_thenstop \fi }% +\def\xintiiIsOne {\romannumeral0\xintiiisone }% +\def\xintiiisone #1{\expandafter\XINT_isone\romannumeral-`0#1\W\Z }% \def\xintIsOne {\romannumeral0\xintisone }% \def\xintisone #1{\expandafter\XINT_isone\romannumeral0\xintnum{#1}\W\Z }% \def\XINT_isOne #1{\romannumeral0\XINT_isone #1\W\Z }% @@ -220,6 +222,15 @@ \expandafter\xint_firstoftwo_thenstop \fi }% +\def\xintiiifOne {\romannumeral0\xintiiifone }% +\def\xintiiifone #1% +{% + \if1\xintiiIsOne{#1}% + \expandafter\xint_firstoftwo_thenstop + \else + \expandafter\xint_secondoftwo_thenstop + \fi +}% \def\xintifOne {\romannumeral0\xintifone }% \def\xintifone #1% {% @@ -242,6 +253,15 @@ \else\expandafter\xint_firstofthree_thenstop \fi }% +\def\xintiiifCmp {\romannumeral0\xintiiifcmp }% +\def\xintiiifcmp #1#2% +{% + \ifcase\xintiiCmp {#1}{#2} + \expandafter\xint_secondofthree_thenstop + \or\expandafter\xint_thirdofthree_thenstop + \else\expandafter\xint_firstofthree_thenstop + \fi +}% \def\xintifEq {\romannumeral0\xintifeq }% \def\xintifeq #1#2% {% @@ -250,6 +270,14 @@ \else\expandafter\xint_secondoftwo_thenstop \fi }% +\def\xintiiifEq {\romannumeral0\xintiiifeq }% +\def\xintiiifeq #1#2% +{% + \if0\xintiiCmp{#1}{#2}% + \expandafter\xint_firstoftwo_thenstop + \else\expandafter\xint_secondoftwo_thenstop + \fi +}% \def\xintifGt {\romannumeral0\xintifgt }% \def\xintifgt #1#2% {% @@ -258,6 +286,14 @@ \else\expandafter\xint_secondoftwo_thenstop \fi }% +\def\xintiiifGt {\romannumeral0\xintiiifgt }% +\def\xintiiifgt #1#2% +{% + \if1\xintiiCmp{#1}{#2}% + \expandafter\xint_firstoftwo_thenstop + \else\expandafter\xint_secondoftwo_thenstop + \fi +}% \def\xintifLt {\romannumeral0\xintiflt }% \def\xintiflt #1#2% {% @@ -266,6 +302,23 @@ \else \expandafter\xint_secondoftwo_thenstop \fi }% +\def\xintiiifLt {\romannumeral0\xintiiiflt }% +\def\xintiiiflt #1#2% +{% + \ifnum\xintiiCmp{#1}{#2}<\xint_c_ + \expandafter\xint_firstoftwo_thenstop + \else \expandafter\xint_secondoftwo_thenstop + \fi +}% +\def\xintiiifOdd {\romannumeral0\xintiiifodd }% +\def\xintiiifodd #1% +{% + \if\xintiiOdd{#1}1% + \expandafter\xint_firstoftwo_thenstop + \else + \expandafter\xint_secondoftwo_thenstop + \fi +}% \def\xintifOdd {\romannumeral0\xintifodd }% \def\xintifodd #1% {% @@ -284,6 +337,15 @@ {% \expandafter\XINT_cmp_fork \romannumeral0\xintnum{#2}\Z #1\Z }% +\def\xintiiCmp {\romannumeral0\xintiicmp }% +\def\xintiicmp #1% +{% + \expandafter\xint_iicmp\expandafter{\romannumeral-`0#1}% +}% +\def\xint_iicmp #1#2% +{% + \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 {% @@ -381,15 +443,18 @@ \def\XINT_OneIfPositive_finish #1\W\X\Y\Z{ 1}% \def\xint_OneIfPositive_backtomain 0\XINT_OneIfPositive_finish 0% {\XINT_OneIfPositive_main }% -\def\xintEq {\romannumeral0\xinteq }% -\def\xinteq #1#2{\xintifeq{#1}{#2}{1}{0}}% -\def\xintGt {\romannumeral0\xintgt }% -\def\xintgt #1#2{\xintifgt{#1}{#2}{1}{0}}% -\def\xintLt {\romannumeral0\xintlt }% -\def\xintlt #1#2{\xintiflt{#1}{#2}{1}{0}}% +\def\xintEq {\romannumeral0\xinteq }\def\xinteq #1#2{\xintifeq{#1}{#2}{1}{0}}% +\def\xintGt {\romannumeral0\xintgt }\def\xintgt #1#2{\xintifgt{#1}{#2}{1}{0}}% +\def\xintLt {\romannumeral0\xintlt }\def\xintlt #1#2{\xintiflt{#1}{#2}{1}{0}}% \def\xintLtorEq #1#2{\romannumeral0\xintifgt {#1}{#2}{0}{1}}% \def\xintGtorEq #1#2{\romannumeral0\xintiflt {#1}{#2}{0}{1}}% \def\xintNeq #1#2{\romannumeral0\xintifeq {#1}{#2}{0}{1}}% +\def\xintiiEq #1#2{\romannumeral0\xintiiifeq{#1}{#2}{1}{0}}% +\def\xintiiGt #1#2{\romannumeral0\xintiiifgt{#1}{#2}{1}{0}}% +\def\xintiiLt #1#2{\romannumeral0\xintiiiflt{#1}{#2}{1}{0}}% +\def\xintiiLtorEq #1#2{\romannumeral0\xintiiifgt {#1}{#2}{0}{1}}% +\def\xintiiGtorEq #1#2{\romannumeral0\xintiiiflt {#1}{#2}{0}{1}}% +\def\xintiiNeq #1#2{\romannumeral0\xintiiifeq {#1}{#2}{0}{1}}% \def\xintIsZero {\romannumeral0\xintiszero }% \def\xintiszero #1{\if0\xintSgn{#1}\xint_afterfi{ 1}\else\xint_afterfi{ 0}\fi}% \def\xintIsNotZero {\romannumeral0\xintisnotzero }% @@ -1331,20 +1396,19 @@ {% \noexpand\expandafter\space\noexpand\the\numexpr #1#2#3#4#5#6#7\relax }% -\def\xintiiSqrt {\romannumeral0\xintiisqrt }% -\def\xintiisqrt - {\expandafter\XINT_sqrt_post\romannumeral0\xintiisquareroot }% -\def\XINT_sqrt_post #1#2{\XINT_dec_pos #1\R\R\R\R\R\R\R\R\Z - \W\W\W\W\W\W\W\W }% +\def\xintiiSqrt {\romannumeral0\xintiisqrt }% +\def\xintiiSqrtR {\romannumeral0\xintiisqrtr }% \def\xintiiSquareRoot {\romannumeral0\xintiisquareroot }% -\def\xintiisquareroot #1% - {\expandafter\XINT_sqrt_checkin\romannumeral-`0#1\Z}% -\def\xintiSqrt {\romannumeral0\xintisqrt }% -\def\xintisqrt - {\expandafter\XINT_sqrt_post\romannumeral0\xintisquareroot }% -\def\xintiSquareRoot {\romannumeral0\xintisquareroot }% -\def\xintisquareroot #1% - {\expandafter\XINT_sqrt_checkin\romannumeral0\xintnum{#1}\Z}% +\def\xintiSqrt {\romannumeral0\xintisqrt }% +\def\xintiSquareRoot {\romannumeral0\xintisquareroot }% +\def\xintisqrt {\expandafter\XINT_sqrt_post\romannumeral0\xintisquareroot }% +\def\xintiisqrt {\expandafter\XINT_sqrt_post\romannumeral0\xintiisquareroot }% +\def\xintiisqrtr {\expandafter\XINT_sqrtr_post\romannumeral0\xintiisquareroot }% +\def\XINT_sqrt_post #1#2{\XINT_dec_pos #1\R\R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W\W }% +\def\XINT_sqrtr_post #1#2{\xintiiifLt {#2}{#1}% Lt <-> a<b + { #1}{\XINT_dec_pos #1\R\R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W\W }}% +\def\xintisquareroot #1{\expandafter\XINT_sqrt_checkin\romannumeral0\xintnum{#1}\Z }% +\def\xintiisquareroot #1{\expandafter\XINT_sqrt_checkin\romannumeral-`0#1\Z }% \def\XINT_sqrt_checkin #1% {% \xint_UDzerominusfork @@ -1353,12 +1417,11 @@ 0-{\XINT_sqrt #1}% \krof }% -\def\XINT_sqrt_iszero #1\Z { 1.}% -\edef\XINT_sqrt_isneg #1\Z {\noexpand\xintError:RootOfNegative\space 1.}% +\def\XINT_sqrt_iszero #1\Z { 11}% +\edef\XINT_sqrt_isneg #1\Z {\noexpand\xintError:RootOfNegative\space 11}% \def\XINT_sqrt #1\Z {% - \expandafter\XINT_sqrt_start\expandafter - {\romannumeral0\xintlength {#1}}{#1}% + \expandafter\XINT_sqrt_start\expandafter {\romannumeral0\xintlength {#1}}{#1}% }% \def\XINT_sqrt_start #1% {% diff --git a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty index 001062ba53a..0ebd458ee56 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 v1.1 (2014/10/28) +%% The xint bundle v1.1a (2014/11/07) %% Copyright (C) 2013-2014 by Jean-Francois Burnol %% xintbinhex: Expandable binary and hexadecimal conversions %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintbinhex}% - [2014/10/28 v1.1 Expandable binary and hexadecimal conversions (jfB)]% + [2014/11/07 v1.1a 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 c9db663a45d..1cea3cd46cc 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 v1.1 (2014/10/28) +%% The xint bundle v1.1a (2014/11/07) %% Copyright (C) 2013-2014 by Jean-Francois Burnol %% xintcfrac: Expandable continued fractions with xint package %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintcfrac}% - [2014/10/28 v1.1 Expandable continued fractions with xint package (jfB)]% + [2014/11/07 v1.1a Expandable continued fractions with xint package (jfB)]% \def\xintCFrac {\romannumeral0\xintcfrac }% \def\xintcfrac #1% {% diff --git a/Master/texmf-dist/tex/generic/xint/xintcore.sty b/Master/texmf-dist/tex/generic/xint/xintcore.sty index a23eb23cb84..005139341b2 100644 --- a/Master/texmf-dist/tex/generic/xint/xintcore.sty +++ b/Master/texmf-dist/tex/generic/xint/xintcore.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle v1.1 (2014/10/28) +%% The xint bundle v1.1a (2014/11/07) %% Copyright (C) 2013-2014 by Jean-Francois Burnol %% xintcore: Expandable arithmetic on big integers %% --------------------------------------------------------------- @@ -62,7 +62,7 @@ \def\z{\endgroup\RequirePackage{xintkernel}}% \fi \else - \aftergroup\endinput % xinttools already loaded. + \aftergroup\endinput % xintkernel already loaded. \fi \fi \fi @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintcore}% - [2014/10/28 v1.1 Expandable arithmetic on big integers (jfB)]% + [2014/11/07 v1.1a Expandable arithmetic on big integers (jfB)]% \def\xint_minus_thenstop { -}% \def\xint_gob_til_zeros_iii #1000{}% \def\xint_gob_til_zeros_iv #10000{}% diff --git a/Master/texmf-dist/tex/generic/xint/xintexpr.sty b/Master/texmf-dist/tex/generic/xint/xintexpr.sty index a73c5736307..99d1f6fa2d2 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 v1.1 (2014/10/28) +%% The xint bundle v1.1a (2014/11/07) %% Copyright (C) 2013-2014 by Jean-Francois Burnol %% xintexpr: Expandable expression parser %% --------------------------------------------------------------- @@ -81,7 +81,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintexpr}% - [2014/10/28 v1.1 Expandable expression parser (jfB)]% + [2014/11/07 v1.1a Expandable expression parser (jfB)]% \def\xint_gob_til_! #1!{}% this ! has catcode 11 \edef\XINT_expr_lockscan#1!{\noexpand\expandafter\space\noexpand\csname .=#1\endcsname }% \edef\XINT_expr_lockit #1{\noexpand\expandafter\space\noexpand\csname .=#1\endcsname }% @@ -134,7 +134,7 @@ \def\XINT_iexpr_withopt [#1]% {% \expandafter\XINT_iexpr_wrap\expandafter - {\the\numexpr \xint_zapspaces #1 \xint_bye\xint_bye\expandafter}% + {\the\numexpr \xint_zapspaces #1 \xint_gobble_i\expandafter}% \romannumeral0\xintbareeval }% \def\XINT_iexpr_wrap #1#2% @@ -155,7 +155,7 @@ \def\XINT_flexpr_withopt_a [#1]% {% \expandafter\XINT_flexpr_withopt_b\expandafter - {\the\numexpr\xint_zapspaces #1 \xint_bye\xint_bye\expandafter}% + {\the\numexpr\xint_zapspaces #1 \xint_gobble_i\expandafter}% \romannumeral0\xintbarefloateval }% \def\XINT_flexpr_withopt_b #1#2% @@ -183,7 +183,7 @@ \def\XINT_::_end #1,#2{\xint_gobble_i #2}% \def\xintCSV::csv #1{\expandafter\XINT_csv::_a\romannumeral-`0#1,^,}% \def\XINT_csv::_a {\XINT_csv::_b {}}% -\def\XINT_csv::_b #1#2,{\XINT_csv::_c #2,{#1}}% +\def\XINT_csv::_b #1#2,{\expandafter\XINT_csv::_c \romannumeral-`0#2,{#1}}% \def\XINT_csv::_c #1{\if ^#1\expandafter\XINT_::_end\fi\XINT_csv::_d #1}% \def\XINT_csv::_d #1,#2{\XINT_csv::_b {#2, #1}}% possibly, item #1 is empty. \def\xintSPRaw {\romannumeral0\xintspraw }% @@ -193,7 +193,7 @@ \def\XINT_spraw_p #1[\W]{\xintpraw {#1}}% \def\xintSPRaw::csv #1{\romannumeral0\expandafter\XINT_spraw::_a\romannumeral-`0#1,^,}% \def\XINT_spraw::_a {\XINT_spraw::_b {}}% -\def\XINT_spraw::_b #1#2,{\XINT_spraw::_c #2,{#1}}% +\def\XINT_spraw::_b #1#2,{\expandafter\XINT_spraw::_c \romannumeral-`0#2,{#1}}% \def\XINT_spraw::_c #1{\if ,#1\xint_dothis\XINT_spraw::_e\fi \if ^#1\xint_dothis\XINT_::_end\fi \xint_orthat\XINT_spraw::_d #1}% @@ -201,7 +201,7 @@ \def\XINT_spraw::_e #1,#2{\XINT_spraw::_b {#2, #1}}% \def\xintIsTrue::csv #1{\romannumeral0\expandafter\XINT_istrue::_a\romannumeral-`0#1,^,}% \def\XINT_istrue::_a {\XINT_istrue::_b {}}% -\def\XINT_istrue::_b #1#2,{\XINT_istrue::_c #2,{#1}}% +\def\XINT_istrue::_b #1#2,{\expandafter\XINT_istrue::_c \romannumeral-`0#2,{#1}}% \def\XINT_istrue::_c #1{\if ,#1\xint_dothis\XINT_istrue::_e\fi \if ^#1\xint_dothis\XINT_::_end\fi \xint_orthat\XINT_istrue::_d #1}% @@ -210,7 +210,7 @@ \def\XINT_:::_end #1,#2#3{\xint_gobble_i #3}% \def\xintRound::csv #1#2{\romannumeral0\expandafter\XINT_round::_b\expandafter {\the\numexpr#1\expandafter}\expandafter{\expandafter}\romannumeral-`0#2,^,}% -\def\XINT_round::_b #1#2#3,{\XINT_round::_c #3,{#1}{#2}}% +\def\XINT_round::_b #1#2#3,{\expandafter\XINT_round::_c \romannumeral-`0#3,{#1}{#2}}% \def\XINT_round::_c #1{\if ,#1\xint_dothis\XINT_round::_e\fi \if ^#1\xint_dothis\XINT_:::_end\fi \xint_orthat\XINT_round::_d #1}% @@ -229,7 +229,7 @@ \def\XINT_infloat::_e #1,#2#3{\XINT_infloat::_b {#2}{#3, #1}}% \def\xintPFloat::csv #1#2{\romannumeral0\expandafter\XINT_pfloat::_b\expandafter {\the\numexpr #1\expandafter}\expandafter{\expandafter}\romannumeral-`0#2,^,}% -\def\XINT_pfloat::_b #1#2#3,{\XINT_pfloat::_c #3,{#1}{#2}}% +\def\XINT_pfloat::_b #1#2#3,{\expandafter\XINT_pfloat::_c \romannumeral-`0#3,{#1}{#2}}% \def\XINT_pfloat::_c #1{\if ,#1\xint_dothis\XINT_pfloat::_e\fi \if ^#1\xint_dothis\XINT_:::_end\fi \xint_orthat\XINT_pfloat::_d #1}% @@ -522,7 +522,7 @@ \xint_orthat {\XINT_expr_scanop_a #1}% }% \def\XINT_expr_binopwrd #1#2'{\expandafter\XINT_expr_foundop_a - \csname XINT_expr_itself_\xint_zapspaces #2 \xint_bye\xint_bye\endcsname #1}% + \csname XINT_expr_itself_\xint_zapspaces #2 \xint_gobble_i\endcsname #1}% \def\XINT_expr_scanop_a #1#2#3% {\expandafter\XINT_expr_scanop_b\expandafter #1\expandafter #2\romannumeral-`0#3}% \def\XINT_expr_scanop_b #1#2#3% @@ -667,7 +667,7 @@ \csname #2#6\expandafter\endcsname \csname XINT_expr_precedence_#3\endcsname {#1}% }% -\xintFor #1 in {expr, flexpr, iiexpr} \do {% +\xintFor #1 in {expr, flexpr} \do {% \def\XINT_tmpa ##1{\XINT_tmpb {#1}{xint}##1}% \xintApplyInline {\XINT_tmpa }{% {|{iii}{vi}{OR}}% @@ -679,8 +679,8 @@ {{<=}{v}{vi}{LtorEq}}% {{>=}{v}{vi}{GtorEq}}% {{!=}{v}{vi}{Neq}}% - {{..}{iii}{vi}{Seq::csv}}% will get redefined to use \xintiiSeq::csv in xintiiexpr - {{//}{vii}{vii}{DivTrunc}}% will get redefined for xintiiexpr + {{..}{iii}{vi}{Seq::csv}}% + {{//}{vii}{vii}{DivTrunc}}% {{/:}{vii}{vii}{Mod}}% }% }% @@ -706,6 +706,15 @@ }% \def\XINT_tmpa #1{\XINT_tmpb {iiexpr}{xint}#1}% \xintApplyInline {\XINT_tmpa }{% + {|{iii}{vi}{OR}}% + {&{iv}{vi}{AND}}% + {{xor}{iii}{vi}{XOR}}% + {<{v}{vi}{iiLt}}% + {>{v}{vi}{iiGt}}% + {={v}{vi}{iiEq}}% + {{<=}{v}{vi}{iiLtorEq}}% + {{>=}{v}{vi}{iiGtorEq}}% + {{!=}{v}{vi}{iiNeq}}% {+{vi}{vi}{iiAdd}}% {-{vi}{vi}{iiSub}}% {*{vii}{vii}{iiMul}}% @@ -1225,13 +1234,13 @@ \let\XINT_expr_precedence_[ \xint_c_vii \def\XINT_expr_op_[ #1#2]{\expandafter\XINT_expr_getop \csname .=\xintE{\XINT_expr_unlock #1}% - {\xint_zapspaces #2 \xint_bye\xint_bye}\endcsname}% + {\xint_zapspaces #2 \xint_gobble_i}\endcsname}% \def\XINT_iiexpr_op_[ #1#2]{\expandafter\XINT_expr_getop \csname .=\xintiiE{\XINT_expr_unlock #1}% - {\xint_zapspaces #2 \xint_bye\xint_bye}\endcsname}% + {\xint_zapspaces #2 \xint_gobble_i}\endcsname}% \def\XINT_flexpr_op_[ #1#2]{\expandafter\XINT_expr_getop \csname .=\XINTinFloatE{\XINT_expr_unlock #1}% - {\xint_zapspaces #2 \xint_bye\xint_bye}\endcsname}% + {\xint_zapspaces #2 \xint_gobble_i}\endcsname}% \catcode`[ 12 \catcode`* 12 \def\XINT_expr_op__ #1% op__ with two _'s @@ -1252,14 +1261,14 @@ \let\XINT_iiexpr_op__ \XINT_expr_op__ \catcode`: 12 \def\xintdefvar #1:=#2;{\expandafter\odef - \csname XINT_expr_var_\xint_zapspaces #1 \xint_bye\xint_bye\endcsname + \csname XINT_expr_var_\xint_zapspaces #1 \xint_gobble_i\endcsname {\expandafter\empty\romannumeral0\xintbareeval #2\relax }}% \def\xintdefiivar #1:=#2;{\expandafter\odef - \csname XINT_expr_var_\xint_zapspaces #1 \xint_bye\xint_bye\endcsname + \csname XINT_expr_var_\xint_zapspaces #1 \xint_gobble_i\endcsname {\expandafter\empty\romannumeral0\xintbareiieval #2\relax }% }% \def\xintdeffloatvar #1:=#2;{\expandafter\odef - \csname XINT_expr_var_\xint_zapspaces #1 \xint_bye\xint_bye\endcsname + \csname XINT_expr_var_\xint_zapspaces #1 \xint_gobble_i\endcsname {\expandafter\empty\romannumeral0\xintbarefloateval #2\relax }% }% \catcode`: 11 @@ -1442,7 +1451,7 @@ \def\XINT_flexpr_func_opx #1#2{\XINT_allexpr_opx \xintfloatexpr }% \def\XINT_iiexpr_func_opx #1#2{\XINT_allexpr_opx \xintiiexpr }% \def\XINT_allexpr_opx #1#2#3#4#5% -{% au d^^e9part on avait op(#4,#3=#2 (^^e9valu^^e9 ici)) #3=la variable, #4=expression, #5=+ ou*. +{% au d\'epart on avait op(#4,#3=#2 (\'evalu\'e ici)) #3=la variable, #4=expression, #5=+ ou*. \expandafter\XINT_expr_getop\romannumeral0\expandafter\XINT_expr_op:_a \csname XINT_expr_op:_#5\expandafter\endcsname \romannumeral-`0\XINT_expr_unlock #2!#5#1#3{#4}% @@ -1727,6 +1736,10 @@ \expandafter\xint_firstofone\romannumeral-`0#1,^,1}% \def\xintLCMof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintlcm \expandafter\xint_firstofone\romannumeral-`0#1,^,0}% +\def\xintiiGCDof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintiigcd + \expandafter\xint_firstofone\romannumeral-`0#1,^,1}% +\def\xintiiLCMof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintiilcm + \expandafter\xint_firstofone\romannumeral-`0#1,^,0}% \def\XINTinFloatdigits {\XINTinFloat [\XINTdigits]}% \def\XINTinFloatSqrtdigits {\XINTinFloatSqrt [\XINTdigits]}% \def\XINTinFloatMaxof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintmax @@ -1776,7 +1789,7 @@ \def\XINT_expr_func_frac #1#2#3% {\expandafter #1\expandafter #2\csname.=\xintTFrac {\XINT_expr_unlock #3}\endcsname }% \def\XINT_flexpr_func_frac #1#2#3{\expandafter #1\expandafter #2\csname - .=\XINTinFloatFrac {\XINT_expr_unlock #3}\endcsname }% + .=\XINTinFloatFracdigits {\XINT_expr_unlock #3}\endcsname }% \def\XINT_expr_func_floor #1#2#3% {\expandafter #1\expandafter #2\csname .=\xintFloor {\XINT_expr_unlock #3}\endcsname }% \let\XINT_flexpr_func_floor\XINT_expr_func_floor @@ -1809,6 +1822,8 @@ \let\XINT_flexpr_func_sqrt\XINT_expr_func_sqrt \def\XINT_iiexpr_func_sqrt #1#2#3% {\expandafter #1\expandafter #2\csname.=\xintiiSqrt {\XINT_expr_unlock #3}\endcsname }% +\def\XINT_iiexpr_func_sqrtr #1#2#3% + {\expandafter #1\expandafter #2\csname.=\xintiiSqrtR {\XINT_expr_unlock #3}\endcsname }% \def\XINT_expr_func_round #1#2#3% {% \expandafter #1\expandafter #2\csname .=% @@ -1900,12 +1915,16 @@ {\expandafter #1\expandafter #2\csname .=\xintGCDof:csv{\XINT_expr_unlock #3}\endcsname }% \let\XINT_flexpr_func_gcd\XINT_expr_func_gcd -\let\XINT_iiexpr_func_gcd\XINT_expr_func_gcd +\def\XINT_iiexpr_func_gcd #1#2#3% + {\expandafter #1\expandafter #2\csname + .=\xintiiGCDof:csv{\XINT_expr_unlock #3}\endcsname }% \def\XINT_expr_func_lcm #1#2#3% {\expandafter #1\expandafter #2\csname .=\xintLCMof:csv{\XINT_expr_unlock #3}\endcsname }% \let\XINT_flexpr_func_lcm\XINT_expr_func_lcm -\let\XINT_iiexpr_func_lcm\XINT_expr_func_lcm +\def\XINT_iiexpr_func_lcm #1#2#3% + {\expandafter #1\expandafter #2\csname + .=\xintiiLCMof:csv{\XINT_expr_unlock #3}\endcsname }% \def\XINT_expr_func_max #1#2#3% {\expandafter #1\expandafter #2\csname .=\xintMaxof:csv{\XINT_expr_unlock #3}\endcsname }% @@ -2133,12 +2152,12 @@ \def\XINT_xptwo_getab_b #1#2!#3% {\expandafter\XINT_xptwo_getab_c\romannumeral-`0#3!#1{#1#2}}% \def\XINT_xptwo_getab_c #1#2!#3#4#5#6{#1#3{#5}{#6}{#1#2}{#4}}% -\def\xint_ddfork #1$$#2#3\krof {#2}% +\def\xint_ddfork #1$$#2#3\krof {#2}% $$ \def\XINT_NEfork #1#2{\xint_ddfork #1#2\XINT_expr_RLApply:::csv #1$\XINT_expr_RApply::csv% $ $#2\XINT_expr_LApply::csv% $ - $${\XINT_NEfork_nn #1#2}% + $${\XINT_NEfork_nn #1#2}% $$ \krof }% \def\XINT_NEfork_nn #1#2#3#4{% \if #1##\xint_dothis{#3}\fi @@ -2158,76 +2177,65 @@ Lt,Gt,Eq,LtorEq,GtorEq,Neq,AND,OR,XOR,iQuo,iRem,Add,Sub,Mul,Div,Pow,E,% iiAdd,iiSub,iiMul,iiPow,iiQuo,iiRem,iiE,SeqA::csv,iiSeqA::csv}\do {\toks0 - \expandafter{\the\toks0 - \expandafter\let\csname xint#1NE\expandafter\endcsname\csname xint#1\endcsname - \expandafter\def\csname xint#1\endcsname ####1####2{% + \expandafter{\the\toks0% no space! (makes shorter macro in the end) + \expandafter\let\csname xint#1NE\expandafter\endcsname\csname xint#1\expandafter + \endcsname\expandafter\def\csname xint#1\endcsname ####1####2{% \expandafter\XINT_NEfork \romannumeral-`0\expandafter\XINT_xptwo_getab_b \romannumeral-`0####2!{####1}{~xint#1}{xint#1}}% }% }% \xintFor #1 in {Num,Irr,Abs,iiAbs,Sgn,iiSgn,TFrac,Floor,iFloor,Ceil,iCeil,% - Sqr,iiSqr,iSqrt,iiIsZero,iiIsNotZero,iiifNotZero,iiifSgn,Odd,Even,iiOdd,iiEven,% - Opp,iiOpp,iiifZero,Fac,iFac,Bool,Toggle}\do + Sqr,iiSqr,iiSqrt,iiSqrtR,iiIsZero,iiIsNotZero,iiifNotZero,iiifSgn,% + Odd,Even,iiOdd,iiEven,Opp,iiOpp,iiifZero,Fac,iFac,Bool,Toggle}\do {\toks0 - \expandafter{\the\toks0 - \expandafter\let\csname xint#1NE\expandafter\endcsname\csname xint#1\endcsname - \expandafter\def\csname xint#1\endcsname ####1{% + \expandafter{\the\toks0% + \expandafter\let\csname xint#1NE\expandafter\endcsname\csname xint#1\expandafter + \endcsname\expandafter\def\csname xint#1\endcsname ####1{% \expandafter\XINT_NEfork_one\romannumeral-`0####1!{~xint#1}{xint#1}{}{}}% }% }% \xintFor #1 in {Add,Sub,Mul,Div,Power,E,Mod,SeqA::csv}\do {\toks0 - \expandafter{\the\toks0 + \expandafter{\the\toks0% \expandafter\let\csname XINTinFloat#1NE\expandafter\endcsname - \csname XINTinFloat#1\endcsname + \csname XINTinFloat#1\expandafter\endcsname \expandafter\def\csname XINTinFloat#1\endcsname ####1####2{% \expandafter\XINT_NEfork \romannumeral-`0\expandafter\XINT_xptwo_getab_b \romannumeral-`0####2!{####1}{~XINTinFloat#1}{XINTinFloat#1}}% }% }% -\toks0 - \expandafter{\the\toks0 - \let\xintSeqB::csvNE\xintSeqB::csv - \def\xintSeqB::csv ##1##2{% - \expandafter\XINT_NEfork - \romannumeral-`0\expandafter\XINT_xptwo_getab_b - \romannumeral-`0##2!{##1}{$noexpand$xintSeqB:f:csv}{xintSeqB::csv}}% - \let\xintiiSeqB::csvNE\xintiiSeqB::csv - \def\xintiiSeqB::csv ##1##2{% - \expandafter\XINT_NEfork - \romannumeral-`0\expandafter\XINT_xptwo_getab_b - \romannumeral-`0##2!{##1}{$noexpand$xintiiSeqB:f:csv}{xintiiSeqB::csv}}% - \let\XINTinFloatSeqB::csvNE\XINTinFloatSeqB::csv - \def\XINTinFloatSeqB::csv ##1##2{% - \expandafter\XINT_NEfork - \romannumeral-`0\expandafter\XINT_xptwo_getab_b - \romannumeral-`0##2!{##1}{$noexpand$XINTinFloatSeqB:f:csv}{XINTinFloatSeqB::csv}}% - \let\xintSeq::csvNE\xintSeq::csv - \def\xintSeq::csv ##1##2{% - \expandafter\XINT_NEfork - \romannumeral-`0\expandafter\XINT_xptwo_getab_b - \romannumeral-`0##2!{##1}{$noexpand$xintSeq::csv}{xintSeq::csv}}% - \let\xintiiSeq::csvNE\xintiiSeq::csv - \def\xintiiSeq::csv ##1##2{% +\xintFor #1 in {XINTinFloatdigits,XINTinFloatFracdigits,XINTinFloatSqrtdigits}\do +{\toks0 + \expandafter{\the\toks0% + \expandafter\let\csname #1NE\expandafter\endcsname\csname #1\expandafter + \endcsname\expandafter\def\csname #1\endcsname ####1{\expandafter + \XINT_NEfork_one\romannumeral-`0####1!{~#1}{#1}{}{}}% + }% +}% +\xintFor #1 in {xintSeq::csv,xintiiSeq::csv,XINTinFloatSeq::csv}\do + {\toks0 + \expandafter{\the\toks0% no space + \expandafter\let\csname #1NE\expandafter\endcsname\csname #1\expandafter + \endcsname\expandafter\def\csname #1\endcsname ####1####2{% \expandafter\XINT_NEfork \romannumeral-`0\expandafter\XINT_xptwo_getab_b - \romannumeral-`0##2!{##1}{$noexpand$xintiiSeq::csv}{xintiiSeq::csv}}% - \let\XINTinFloatSeq::csvNE\XINTinFloatSeq::csv - \def\XINTinFloatSeq::csv ##1##2{% + \romannumeral-`0####2!{####1}{$noexpand$#1}{#1}}% + }% +}% +\xintFor #1 in {xintSeqB,xintiiSeqB,XINTinFloatSeqB}\do + {\toks0 + \expandafter{\the\toks0% no space + \expandafter\let\csname #1::csvNE\expandafter\endcsname\csname #1::csv\expandafter + \endcsname\expandafter\def\csname #1::csv\endcsname ####1####2{% \expandafter\XINT_NEfork \romannumeral-`0\expandafter\XINT_xptwo_getab_b - \romannumeral-`0##2!{##1}{$noexpand$XINTinFloatSeq::csv}{XINTinFloatSeq::csv}}% - \let\XINTinFloatFracNE\XINTinFloatFrac - \def\XINTinFloatFrac ##1{\expandafter\XINT_NEfork_one\romannumeral-`0##1!% - {~XINTinFloatFrac}{XINTinFloatFrac}{}{}}% - \let\XINTinFloatdigitsNE\XINTinFloatdigits - \def\XINTinFloatdigits ##1{\expandafter\XINT_NEfork_one\romannumeral-`0##1!% - {~XINTinFloatdigits}{XINTinFloatdigits}{}{}}% - \let\XINTinFloatSqrtdigitsNE\XINTinFloatSqrtdigits - \def\XINTinFloatSqrtdigits ##1{\expandafter\XINT_NEfork_one\romannumeral-`0##1!% - {~XINTinFloatSqrtdigits}{XINTinFloatSqrtdigits}{}{}}% + \romannumeral-`0####2!{####1}{$noexpand$#1:f:csv}{#1::csv}}% + }% +}% +\toks0 + \expandafter{\the\toks0 \let\XINTinFloatNE\XINTinFloat \def\XINTinFloat [##1]##2{% not ultimately general, but got tired \expandafter\XINT_NEfork_one @@ -2240,12 +2248,11 @@ \xintFor #1 in {ANDof,ORof,XORof,iiMaxof,iiMinof,iiSum,iiPrd, GCDof,LCMof,Sum,Prd,Maxof,Minof}\do {\toks0 - \expandafter{\the\toks0 \expandafter\def\csname xint#1:csv\endcsname {~xint#1:csv}}% + \expandafter{\the\toks0\expandafter\def\csname xint#1:csv\endcsname {~xint#1:csv}}% }% -\xintFor #1 in {Maxof,Minof,Sum,Prd}\do +\xintFor #1 in {XINTinFloatMaxof,XINTinFloatMinof,XINTinFloatSum,XINTinFloatPrd}\do {\toks0 - \expandafter{\the\toks0 - \expandafter\def\csname XINTinFloat#1:csv\endcsname {~XINTinFloat#1:csv}}% + \expandafter{\the\toks0\expandafter\def\csname #1:csv\endcsname {~#1:csv}}% }% \expandafter\def\expandafter\XINT_expr_redefinemacros\expandafter {\the\toks0 @@ -2299,8 +2306,8 @@ {@ \def\XINT_tmpa %%1%%2%%3%%4%%5%%6%%7%%8%%9{%2}@ \XINT_expr_redefinemacros - \def~{$noexpand$}@ vvv v^^e9rifier si vraiment besoin pour ^ et ! - \catcode`: 11 \catcode`_ 11 @ \catcode`^ 11 \catcode`! 11 + \def~{$noexpand$}@ + \catcode`: 11 \catcode`_ 11 \catcode`# 12 \catcode`~ 13 \escapechar 126 \endlinechar -1 \everyeof {\noexpand }@ \edef\XINT_tmpb diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty index 1a92682ecc7..1d0231e7629 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 v1.1 (2014/10/28) +%% The xint bundle v1.1a (2014/11/07) %% Copyright (C) 2013-2014 by Jean-Francois Burnol %% xintfrac: Expandable operations on fractions %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintfrac}% - [2014/10/28 v1.1 Expandable operations on fractions (jfB)]% + [2014/11/07 v1.1a Expandable operations on fractions (jfB)]% \chardef\xint_c_xviii 18 \def\XINT_cntSgnFork #1% {% @@ -769,12 +769,12 @@ \def\XINT_tfrac_zero #1\Z { 0/1[0]}% \def\XINT_tfrac_P #1/#2\Z {\expandafter\XINT_rez_AB \romannumeral0\xintiirem{#1}{#2}\Z {0}{#2}}% -\def\XINTinFloatFrac {\romannumeral0\XINTinfloatfrac [\XINTdigits]}% -\def\XINTinfloatfrac [#1]#2% +\def\XINTinFloatFracdigits {\romannumeral0\XINTinfloatfracdigits }% +\def\XINTinfloatfracdigits #1% {% - \expandafter\XINT_infloatfrac_a\expandafter {\romannumeral0\xinttfrac{#2}}{#1}% + \expandafter\XINT_infloatfracdg_a\expandafter {\romannumeral0\xinttfrac{#1}}% }% -\def\XINT_infloatfrac_a #1#2{\XINTinFloat [#2]{#1}}% +\def\XINT_infloatfracdg_a {\XINTinfloat [\XINTdigits]}% \def\xintTrunc {\romannumeral0\xinttrunc }% \def\xintiTrunc {\romannumeral0\xintitrunc }% \def\xinttrunc #1% @@ -1409,7 +1409,7 @@ {\expandafter\XINT_pfloat_c \romannumeral0\expandafter\XINT_split_fromleft_loop \expandafter {\the\numexpr #1+#2-\xint_c_i}#3\W\W\W\W\W\W\W\W\Z }% -\def\XINT_pfloat_c #1#2{ #1.#2}% #2 peut ^^eatre vide +\def\XINT_pfloat_c #1#2{ #1.#2}% #2 peut \^etre vide \def\XINT_pfloat_B #1#2#3% {\expandafter\XINT_pfloat_C \romannumeral0\XINT_dsx_zeroloop {\numexpr -#1-#2}{}\Z {}#3}% @@ -1741,7 +1741,7 @@ \def\xintDivFloor {\romannumeral0\xintdivfloor }% \def\xintdivfloor #1#2{\xintfloor{\xintDiv {#1}{#2}}}% \def\xintDivTrunc {\romannumeral0\xintdivtrunc }% -\def\xintdivtrunc #1#2{\xintitrunc 0{\xintDiv {#1}{#2}}}% +\def\xintdivtrunc #1#2{\xintttrunc {\xintDiv {#1}{#2}}}% \def\xintDivRound {\romannumeral0\xintdivround }% \def\xintdivround #1#2{\xintiround 0{\xintDiv {#1}{#2}}}% \def\xintMod {\romannumeral0\xintmod }% @@ -2134,28 +2134,6 @@ \expandafter\XINT_FL_Div_b\romannumeral0\XINTinfloat [#1]{#3}#2% }% \def\XINT_FL_Div_b #1[#2]#3[#4]{\xintE{#3/#1}{#4-#2}}% -\def\XINTinFloatSum {\romannumeral0\XINTinfloatsum }% -\def\XINTinfloatsum #1{\expandafter\XINT_floatsum_a\romannumeral-`0#1\relax }% -\def\XINT_floatsum_a #1{\expandafter\XINT_floatsum_b - \romannumeral0\XINTinfloat[\XINTdigits]{#1}\Z }% -\def\XINT_floatsum_b #1\Z #2% - {\expandafter\XINT_floatsum_c\romannumeral-`0#2\Z {#1}\Z}% -\def\XINT_floatsum_c #1% - {\xint_gob_til_relax #1\XINT_floatsum_e\relax\XINT_floatsum_d #1}% -\def\XINT_floatsum_d #1\Z - {\expandafter\XINT_floatsum_b\romannumeral0\XINTinfloatadd {#1}}% -\def\XINT_floatsum_e #1\Z #2\Z { #2}% -\def\XINTinFloatPrd {\romannumeral0\XINTinfloatprd }% -\def\XINTinfloatprd #1{\expandafter\XINT_floatprd_a\romannumeral-`0#1\relax }% -\def\XINT_floatprd_a #1{\expandafter\XINT_floatprd_b - \romannumeral0\XINTinfloat[\XINTdigits]{#1}\Z }% -\def\XINT_floatprd_b #1\Z #2% - {\expandafter\XINT_floatprd_c\romannumeral-`0#2\Z {#1}\Z}% -\def\XINT_floatprd_c #1% - {\xint_gob_til_relax #1\XINT_floatprd_e\relax\XINT_floatprd_d #1}% -\def\XINT_floatprd_d #1\Z - {\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\xint_relax }% \def\XINTinFloatPow {\romannumeral0\XINTinfloatpow }% @@ -2590,30 +2568,6 @@ {\xintHalf{\xintiiQuo{\XINT_dsx_addzerosnofuss {#4}{#2}}{#3}}}}% }% \def\XINT_flsqrt_big_end_b #1#2{#2[#1]}% -\def\XINTinFloatMaxof {\romannumeral0\XINTinfloatmaxof }% -\def\XINTinfloatmaxof #1{\expandafter\XINT_flmaxof_a\romannumeral-`0#1\relax }% -\def\XINT_flmaxof_a #1{\expandafter\XINT_flmaxof_b - \romannumeral0\XINTinfloat [\XINTdigits]{#1}\Z }% -\def\XINT_flmaxof_b #1\Z #2% - {\expandafter\XINT_flmaxof_c\romannumeral-`0#2\Z {#1}\Z}% -\def\XINT_flmaxof_c #1% - {\xint_gob_til_relax #1\XINT_flmaxof_e\relax\XINT_flmaxof_d #1}% -\def\XINT_flmaxof_d #1\Z - {\expandafter\XINT_flmaxof_b\romannumeral0\xintmax - {\XINTinFloat [\XINTdigits]{#1}}}% -\def\XINT_flmaxof_e #1\Z #2\Z { #2}% -\def\XINTinFloatMinof {\romannumeral0\XINTinfloatminof }% -\def\XINTinfloatminof #1{\expandafter\XINT_flminof_a\romannumeral-`0#1\relax }% -\def\XINT_flminof_a #1{\expandafter\XINT_flminof_b - \romannumeral0\XINTinfloat [\XINTdigits]{#1}\Z }% -\def\XINT_flminof_b #1\Z #2% - {\expandafter\XINT_flminof_c\romannumeral-`0#2\Z {#1}\Z}% -\def\XINT_flminof_c #1% - {\xint_gob_til_relax #1\XINT_flminof_e\relax\XINT_flminof_d #1}% -\def\XINT_flminof_d #1\Z - {\expandafter\XINT_flminof_b\romannumeral0\xintmin - {\XINTinFloat [\XINTdigits]{#1}}}% -\def\XINT_flminof_e #1\Z #2\Z { #2}% \XINT_restorecatcodes_endinput% \endinput %% diff --git a/Master/texmf-dist/tex/generic/xint/xintgcd.sty b/Master/texmf-dist/tex/generic/xint/xintgcd.sty index ec42410dc1c..7d6cd8d12c4 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 v1.1 (2014/10/28) +%% The xint bundle v1.1a (2014/11/07) %% Copyright (C) 2013-2014 by Jean-Francois Burnol %% xintgcd: Euclidean algorithm with xint package %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintgcd}% - [2014/10/28 v1.1 Euclide algorithm with xint package (jfB)]% + [2014/11/07 v1.1a Euclide algorithm with xint package (jfB)]% \def\xintGCD {\romannumeral0\xintgcd }% \def\xintgcd #1% {% @@ -80,6 +80,15 @@ {% \expandafter\XINT_gcd_fork\romannumeral0\xintiabs {#2}\Z #1\Z }% +\def\xintiiGCD {\romannumeral0\xintiigcd }% +\def\xintiigcd #1% +{% + \expandafter\XINT_iigcd\expandafter{\romannumeral0\xintiiabs {#1}}% +}% +\def\XINT_iigcd #1#2% +{% + \expandafter\XINT_gcd_fork\romannumeral0\xintiiabs {#2}\Z #1\Z +}% \def\XINT_gcd_fork #1#2\Z #3#4\Z {% \xint_UDzerofork @@ -113,6 +122,15 @@ {% \expandafter\XINT_lcm_fork\romannumeral0\xintiabs {#2}\Z #1\Z }% +\def\xintiiLCM {\romannumeral0\xintiilcm}% +\def\xintiilcm #1% +{% + \expandafter\XINT_iilcm\expandafter{\romannumeral0\xintiiabs {#1}}% +}% +\def\XINT_iilcm #1#2% +{% + \expandafter\XINT_lcm_fork\romannumeral0\xintiiabs {#2}\Z #1\Z +}% \def\XINT_lcm_fork #1#2\Z #3#4\Z {% \xint_UDzerofork diff --git a/Master/texmf-dist/tex/generic/xint/xintkernel.sty b/Master/texmf-dist/tex/generic/xint/xintkernel.sty index 16300608b64..27cb40831c4 100644 --- a/Master/texmf-dist/tex/generic/xint/xintkernel.sty +++ b/Master/texmf-dist/tex/generic/xint/xintkernel.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle v1.1 (2014/10/28) +%% The xint bundle v1.1a (2014/11/07) %% Copyright (C) 2013-2014 by Jean-Francois Burnol %% xintkernel: Paraphernalia for the xint packages %% --------------------------------------------------------------- @@ -152,7 +152,7 @@ \fi \XINT_providespackage \ProvidesPackage {xintkernel}% - [2014/10/28 v1.1 Paraphernalia for the xint packages (jfB)]% + [2014/11/07 v1.1a Paraphernalia for the xint packages (jfB)]% \long\def\xint_gobble_ {}% \long\def\xint_gobble_i #1{}% \long\def\xint_gobble_ii #1#2{}% diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty index 0f0ceeac680..51037789437 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 v1.1 (2014/10/28) +%% The xint bundle v1.1a (2014/11/07) %% Copyright (C) 2013-2014 by Jean-Francois Burnol %% xintseries: Expandable partial sums with xint package %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintseries}% - [2014/10/28 v1.1 Expandable partial sums with xint package (jfB)]% + [2014/11/07 v1.1a Expandable partial sums with xint package (jfB)]% \def\xintSeries {\romannumeral0\xintseries }% \def\xintseries #1#2% {% diff --git a/Master/texmf-dist/tex/generic/xint/xinttools.sty b/Master/texmf-dist/tex/generic/xint/xinttools.sty index 9639b665c8b..1e06bbf215a 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 v1.1 (2014/10/28) +%% The xint bundle v1.1a (2014/11/07) %% Copyright (C) 2013-2014 by Jean-Francois Burnol %% xinttools: Expandable and non-expandable utilities %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xinttools}% - [2014/10/28 v1.1 Expandable and non-expandable utilities (jfB)]% + [2014/11/07 v1.1a Expandable and non-expandable utilities (jfB)]% \newtoks\XINT_toks \xint_firstofone{\let\XINT_sptoken= } %<- space here! \def\xintgodef {\global\xintodef }% |