summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xint
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-11-08 23:51:15 +0000
committerKarl Berry <karl@freefriends.org>2014-11-08 23:51:15 +0000
commit9a870ba0873e5855067323ca60f8211fedfa23cc (patch)
treee5d74dfe6a59a441aefbe010a4818ab72a71a775 /Master/texmf-dist/tex/generic/xint
parent4435db29aea2c716c788f96372d03d17a7cc6486 (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.sty113
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintbinhex.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcfrac.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcore.sty6
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintexpr.sty163
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintfrac.sty62
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintgcd.sty22
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintkernel.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintseries.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xinttools.sty4
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 }%