summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xint
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-08-30 23:00:58 +0000
committerKarl Berry <karl@freefriends.org>2017-08-30 23:00:58 +0000
commit96aac111c7824c49a05e48fdbb2a1eba6313d062 (patch)
tree4294864efc6bba2c700ba4c6d537132b89aa596d /Master/texmf-dist/tex/generic/xint
parentf3fd3b4467cd76a039a199abe6944cfb00fea1e0 (diff)
xint (30aug17)
git-svn-id: svn://tug.org/texlive/trunk@45177 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xint')
-rw-r--r--Master/texmf-dist/tex/generic/xint/xint.sty1000
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintbinhex.sty55
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcfrac.sty8
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcore.sty150
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintexpr.sty26
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintfrac.sty64
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintgcd.sty4
-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, 708 insertions, 611 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty
index 0b4ddd99c34..3cbe8373d14 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 1.2n 2017/08/06
+%% The xint bundle 1.2o 2017/08/29
%% Copyright (C) 2013-2017 by Jean-Francois Burnol
%% xint: Expandable operations on big integers
%% ---------------------------------------------------------------
@@ -70,37 +70,27 @@
\XINTsetupcatcodes% defined in xintkernel.sty (loaded by xintcore.sty)
\XINT_providespackage
\ProvidesPackage{xint}%
- [2017/08/06 1.2n Expandable operations on big integers (JFB)]%
+ [2017/08/29 1.2o 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}%
\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\xintSgnFork {\romannumeral0\xintsgnfork }%
-\def\xintsgnfork #1%
+\def\xintiLen {\romannumeral0\xintilen }%
+\def\xintilen #1{\def\xintilen ##1%
{%
- \ifcase #1 \expandafter\xint_secondofthree_thenstop
- \or\expandafter\xint_thirdofthree_thenstop
- \else\expandafter\xint_firstofthree_thenstop
- \fi
-}%
-\def\xintiiIsOne {\romannumeral0\xintiiisone }%
-\def\xintiiisone #1{\expandafter\XINT_isone\romannumeral`&&@#1XY}%
-\def\xintIsOne {\romannumeral0\xintisone }%
-\def\xintisone #1{\expandafter\XINT_isone\romannumeral0\xintnum{#1}XY}%
-\def\XINT_isone #1#2#3Y%
-{%
- \unless\if#2X\xint_dothis{ 0}\fi
- \unless\if#11\xint_dothis{ 0}\fi
- \xint_orthat{ 1}%
-}%
-\def\XINT_isOne #1{\XINT_is_One#1XY}%
-\def\XINT_is_One #1#2#3Y%
+ \expandafter#1\the\numexpr
+ \expandafter\XINT_len_fork\romannumeral0\xintinum{##1}%
+ \xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:
+ \xint_c_viii\xint_c_vii\xint_c_vi\xint_c_v
+ \xint_c_iv\xint_c_iii\xint_c_ii\xint_c_i\xint_c_\xint_bye\relax
+}}\xintilen{ }%
+\def\xintLen {\romannumeral0\xintlen }%
+\let\xintlen\xintilen
+\def\XINT_len_fork #1%
{%
- \unless\if#2X\xint_dothis0\fi
- \unless\if#11\xint_dothis0\fi
- \xint_orthat1%
+ \expandafter\XINT_length_loop\xint_UDsignfork#1{}-#1\krof
}%
\def\xintReverseDigits {\romannumeral0\xintreversedigits }%
\def\xintreversedigits #1%
@@ -139,99 +129,392 @@
{\expandafter#1\xint_gob_til_Z ##1}%
}\XINT_revdigits_end{ }%
\let\xintRev\xintReverseDigits
-\def\xintLen {\romannumeral0\xintlen }%
-\def\xintlen #1{\def\xintlen ##1%
+%%รท Used in \xintMod
+\def\xintiiE {\romannumeral0\xintiie }%
+\def\xintiie #1#2%
+ {\expandafter\XINT_iie_fork\the\numexpr #2\expandafter.\romannumeral`&&@#1;}%
+\def\XINT_iie_fork #1%
{%
- \expandafter#1\the\numexpr
- \expandafter\XINT_len_fork\romannumeral0\xintnum{##1}%
- \xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:
+ \xint_UDsignfork
+ #1\XINT_iie_neg
+ -\XINT_iie_a
+ \krof #1%
+}%
+\def\XINT_iie_a #1.%
+ {\expandafter\XINT_dsx_append\romannumeral\XINT_rep #1\endcsname 0.}%
+\def\XINT_iie_neg #1.#2;{ #2}%
+\def\xintDecSplit {\romannumeral0\xintdecsplit }%
+\def\xintdecsplit #1#2%
+{%
+ \expandafter\XINT_split_finish
+ \romannumeral0\expandafter\XINT_split_xfork
+ \the\numexpr #1\expandafter.\romannumeral`&&@#2%
+ \xint_bye2345678\xint_bye..%
+}%
+\def\XINT_split_finish #1.#2.{{#1}{#2}}%
+\def\XINT_split_xfork #1%
+{%
+ \xint_UDzerominusfork
+ #1-\XINT_split_zerosplit
+ 0#1\XINT_split_fromleft
+ 0-{\XINT_split_fromright #1}%
+ \krof
+}%
+\def\XINT_split_zerosplit .#1\xint_bye#2\xint_bye..{ #1..}%
+\def\XINT_split_fromleft
+ {\expandafter\XINT_split_fromleft_a\the\numexpr\xint_c_viii-}%
+\def\XINT_split_fromleft_a #1%
+{%
+ \xint_UDsignfork
+ #1\XINT_split_fromleft_b
+ -{\XINT_split_fromleft_end_a #1}%
+ \krof
+}%
+\def\XINT_split_fromleft_b #1.#2#3#4#5#6#7#8#9%
+{%
+ \expandafter\XINT_split_fromleft_clean
+ \the\numexpr1#2#3#4#5#6#7#8#9\expandafter
+ \XINT_split_fromleft_a\the\numexpr\xint_c_viii-#1.%
+}%
+\def\XINT_split_fromleft_end_a #1.%
+{%
+ \expandafter\XINT_split_fromleft_clean
+ \the\numexpr1\csname XINT_split_fromleft_end#1\endcsname
+}%
+\def\XINT_split_fromleft_clean 1{ }%
+\expandafter\def\csname XINT_split_fromleft_end7\endcsname #1%
+ {#1\XINT_split_fromleft_end_b}%
+\expandafter\def\csname XINT_split_fromleft_end6\endcsname #1#2%
+ {#1#2\XINT_split_fromleft_end_b}%
+\expandafter\def\csname XINT_split_fromleft_end5\endcsname #1#2#3%
+ {#1#2#3\XINT_split_fromleft_end_b}%
+\expandafter\def\csname XINT_split_fromleft_end4\endcsname #1#2#3#4%
+ {#1#2#3#4\XINT_split_fromleft_end_b}%
+\expandafter\def\csname XINT_split_fromleft_end3\endcsname #1#2#3#4#5%
+ {#1#2#3#4#5\XINT_split_fromleft_end_b}%
+\expandafter\def\csname XINT_split_fromleft_end2\endcsname #1#2#3#4#5#6%
+ {#1#2#3#4#5#6\XINT_split_fromleft_end_b}%
+\expandafter\def\csname XINT_split_fromleft_end1\endcsname #1#2#3#4#5#6#7%
+ {#1#2#3#4#5#6#7\XINT_split_fromleft_end_b}%
+\expandafter\def\csname XINT_split_fromleft_end0\endcsname #1#2#3#4#5#6#7#8%
+ {#1#2#3#4#5#6#7#8\XINT_split_fromleft_end_b}%
+\def\XINT_split_fromleft_end_b #1\xint_bye#2\xint_bye.{.#1}% puis .
+\def\XINT_split_fromright #1.#2\xint_bye
+{%
+ \expandafter\XINT_split_fromright_a
+ \the\numexpr#1-\numexpr\XINT_length_loop
+ #2\xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:
\xint_c_viii\xint_c_vii\xint_c_vi\xint_c_v
- \xint_c_iv\xint_c_iii\xint_c_ii\xint_c_i\xint_c_\xint_bye\relax
-}}\xintlen{ }%
-\def\XINT_len_fork #1%
+ \xint_c_iv\xint_c_iii\xint_c_ii\xint_c_i\xint_c_\xint_bye
+ .#2\xint_bye
+}%
+\def\XINT_split_fromright_a #1%
{%
- \expandafter\XINT_length_loop\xint_UDsignfork#1{}-#1\krof
+ \xint_UDsignfork
+ #1\XINT_split_fromleft
+ -\XINT_split_fromright_Lempty
+ \krof
}%
-\def\xintBool #1{\romannumeral`&&@%
- \csname if#1\endcsname\expandafter1\else\expandafter0\fi }%
-\def\xintToggle #1{\romannumeral`&&@\iftoggle{#1}{1}{0}}%
-\def\xintifSgn {\romannumeral0\xintifsgn }%
-\def\xintifsgn #1%
+\def\XINT_split_fromright_Lempty #1.#2\xint_bye#3..{.#2.}%
+\def\xintDecSplitL {\romannumeral0\xintdecsplitl }%
+\def\xintdecsplitl #1#2%
{%
- \ifcase \xintSgn{#1}
- \expandafter\xint_secondofthree_thenstop
- \or\expandafter\xint_thirdofthree_thenstop
- \else\expandafter\xint_firstofthree_thenstop
+ \expandafter\XINT_splitl_finish
+ \romannumeral0\expandafter\XINT_split_xfork
+ \the\numexpr #1\expandafter.\romannumeral`&&@#2%
+ \xint_bye2345678\xint_bye..%
+}%
+\def\XINT_splitl_finish #1.#2.{ #1}%
+\def\xintDecSplitR {\romannumeral0\xintdecsplitr }%
+\def\xintdecsplitr #1#2%
+{%
+ \expandafter\XINT_splitr_finish
+ \romannumeral0\expandafter\XINT_split_xfork
+ \the\numexpr #1\expandafter.\romannumeral`&&@#2%
+ \xint_bye2345678\xint_bye..%
+}%
+\def\XINT_splitr_finish #1.#2.{ #2}%
+\def\xintDSHr {\romannumeral0\xintdshr }%
+\def\xintdshr #1#2%
+{%
+ \expandafter\XINT_dshr_fork\the\numexpr#1\expandafter.\romannumeral`&&@#2;%
+}%
+\def\XINT_dshr_fork #1%
+{%
+ \xint_UDzerominusfork
+ 0#1\XINT_dshr_xzeroorneg
+ #1-\XINT_dshr_xzeroorneg
+ 0-\XINT_dshr_xpositive
+ \krof #1%
+}%
+\def\XINT_dshr_xzeroorneg #1;{ 0}%
+\def\XINT_dshr_xpositive
+{%
+ \expandafter\xint_secondoftwo_thenstop\romannumeral0\XINT_dsx_xisPos
+}%
+\def\xintDSH {\romannumeral0\xintdsh }%
+\def\xintdsh #1#2%
+{%
+ \expandafter\XINT_dsh_fork\the\numexpr#1\expandafter.\romannumeral`&&@#2;%
+}%
+\def\XINT_dsh_fork #1%
+{%
+ \xint_UDzerominusfork
+ #1-\XINT_dsh_xiszero
+ 0#1\XINT_dsx_xisNeg_checkA
+ 0-{\XINT_dsh_xisPos #1}%
+ \krof
+}%
+\def\XINT_dsh_xiszero #1.#2;{ #2}%
+\def\XINT_dsh_xisPos
+{%
+ \expandafter\xint_firstoftwo_thenstop\romannumeral0\XINT_dsx_xisPos
+}%
+\def\xintDSx {\romannumeral0\xintdsx }%
+\def\xintdsx #1#2%
+{%
+ \expandafter\XINT_dsx_fork\the\numexpr#1\expandafter.\romannumeral`&&@#2;%
+}%
+\def\XINT_dsx_fork #1%
+{%
+ \xint_UDzerominusfork
+ #1-\XINT_dsx_xisZero
+ 0#1\XINT_dsx_xisNeg_checkA
+ 0-{\XINT_dsx_xisPos #1}%
+ \krof
+}%
+\def\XINT_dsx_xisZero #1.#2;{{#2}{0}}%
+\def\XINT_dsx_xisNeg_checkA #1.#2%
+{%
+ \xint_gob_til_zero #2\XINT_dsx_xisNeg_Azero 0%
+ \expandafter\XINT_dsx_append\romannumeral\XINT_rep #1\endcsname 0.#2%
+}%
+\def\XINT_dsx_xisNeg_Azero #1;{ 0}%
+\def\XINT_dsx_addzeros #1%
+ {\expandafter\XINT_dsx_append\romannumeral\XINT_rep#1\endcsname0.}%
+\def\XINT_dsx_addzerosnofuss #1%
+ {\expandafter\XINT_dsx_append\romannumeral\xintreplicate{#1}0.}%
+\def\XINT_dsx_append #1.#2;{ #2#1}%
+\def\XINT_dsx_xisPos #1.#2%
+{%
+ \xint_UDzerominusfork
+ #2-\XINT_dsx_AisZero
+ 0#2\XINT_dsx_AisNeg
+ 0-\XINT_dsx_AisPos
+ \krof #1.#2%
+}%
+\def\XINT_dsx_AisZero #1;{{0}{0}}%
+\def\XINT_dsx_AisNeg #1.-#2;%
+{%
+ \expandafter\XINT_dsx_AisNeg_checkiffirstempty
+ \romannumeral0\XINT_split_xfork #1.#2\xint_bye2345678\xint_bye..%
+}%
+\def\XINT_dsx_AisNeg_checkiffirstempty #1%
+{%
+ \xint_gob_til_dot #1\XINT_dsx_AisNeg_finish_zero.%
+ \XINT_dsx_AisNeg_finish_notzero #1%
+}%
+\def\XINT_dsx_AisNeg_finish_zero.\XINT_dsx_AisNeg_finish_notzero.#1.%
+{%
+ \expandafter\XINT_dsx_end
+ \expandafter {\romannumeral0\XINT_num {-#1}}{0}%
+}%
+\def\XINT_dsx_AisNeg_finish_notzero #1.#2.%
+{%
+ \expandafter\XINT_dsx_end
+ \expandafter {\romannumeral0\XINT_num {#2}}{-#1}%
+}%
+\def\XINT_dsx_AisPos #1.#2;%
+{%
+ \expandafter\XINT_dsx_AisPos_finish
+ \romannumeral0\XINT_split_xfork #1.#2\xint_bye2345678\xint_bye..%
+}%
+\def\XINT_dsx_AisPos_finish #1.#2.%
+{%
+ \expandafter\XINT_dsx_end
+ \expandafter {\romannumeral0\XINT_num {#2}}%
+ {\romannumeral0\XINT_num {#1}}%
+}%
+\def\XINT_dsx_end #1#2{\expandafter{#2}{#1}}%
+\def\xintEq {\romannumeral0\XINT_signaldeprecated{xint}{xintEq}\xinteq }%
+\def\xinteq #1#2{\xintifeq{#1}{#2}{1}{0}}%
+\def\xintiiEq #1#2{\romannumeral0\xintiiifeq{#1}{#2}{1}{0}}%
+\def\xintNeq #1#2{\romannumeral0\XINT_signaldeprecated{xint}{xintNeq}\xintifeq {#1}{#2}{0}{1}}%
+\def\xintiiNotEq #1#2{\romannumeral0\xintiiifeq {#1}{#2}{0}{1}}%
+\def\xintGeq {\romannumeral0\XINT_signaldeprecated{xint}{xintGeq}\xintgeq }%
+\def\xintgeq #1{\expandafter\XINT_geq\romannumeral0\xintnum{#1}\xint:}%
+\def\xintiiGeq {\romannumeral0\xintiigeq }%
+\def\xintiigeq #1{\expandafter\XINT_iigeq\romannumeral`&&@#1\xint:}%
+\def\XINT_iigeq #1#2\xint:#3%
+{%
+ \expandafter\XINT_geq_fork\expandafter #1\romannumeral`&&@#3\xint:#2\xint:
+}%
+\def\XINT_geq #1#2\xint:#3%
+{%
+ \expandafter\XINT_geq_fork\expandafter #1\romannumeral0\xintnum{#3}\xint:#2\xint:
+}%
+\def\XINT_geq_fork #1#2%
+{%
+ \xint_UDzerofork
+ #1\XINT_geq_firstiszero
+ #2\XINT_geq_secondiszero
+ 0{}%
+ \krof
+ \xint_UDsignsfork
+ #1#2\XINT_geq_minusminus
+ #1-\XINT_geq_minusplus
+ #2-\XINT_geq_plusminus
+ --\XINT_geq_plusplus
+ \krof #1#2%
+}%
+\def\XINT_geq_firstiszero #1\krof 0#2#3\xint:#4\xint:
+ {\xint_UDzerofork #2{ 1}0{ 0}\krof }%
+\def\XINT_geq_secondiszero #1\krof #20#3\xint:#4\xint:{ 1}%
+\def\XINT_geq_plusminus #1-{\XINT_geq_plusplus #1{}}%
+\def\XINT_geq_minusplus -#1{\XINT_geq_plusplus {}#1}%
+\def\XINT_geq_minusminus --{\XINT_geq_plusplus {}{}}%
+\def\XINT_geq_plusplus
+ {\expandafter\XINT_geq_finish\romannumeral0\XINT_cmp_plusplus}%
+\def\XINT_geq_finish #1{\if-#1\expandafter\XINT_geq_no
+ \else\expandafter\XINT_geq_yes\fi}%
+\def\XINT_geq_no 1{ 0}%
+\def\XINT_geq_yes { 1}%
+\def\xintGt {\romannumeral0\XINT_signaldeprecated{xint}{xintGt}\xintgt }%
+\def\xintgt #1#2{\xintifgt{#1}{#2}{1}{0}}%
+\def\xintiiGt #1#2{\romannumeral0\xintiiifgt{#1}{#2}{1}{0}}%
+\def\xintLt {\romannumeral0\XINT_signaldeprecated{xint}{xintLt}\xintlt }%
+\def\xintlt #1#2{\xintiflt{#1}{#2}{1}{0}}%
+\def\xintiiLt #1#2{\romannumeral0\xintiiiflt{#1}{#2}{1}{0}}%
+\def\xintGtorEq #1#2{\romannumeral0\XINT_signaldeprecated{xint}{xintGtorEq}\xintiflt {#1}{#2}{0}{1}}%
+\def\xintiiGtorEq #1#2{\romannumeral0\xintiiiflt {#1}{#2}{0}{1}}%
+\def\xintLtorEq #1#2{\romannumeral0\XINT_signaldeprecated{xint}{xintLtorEq}\xintifgt {#1}{#2}{0}{1}}%
+\def\xintiiLtorEq #1#2{\romannumeral0\xintiiifgt {#1}{#2}{0}{1}}%
+\def\xintIsZero {\romannumeral0\XINT_signaldeprecated{xint}{xintIsZero}\xintiszero }%
+\def\xintiszero #1{\if0\xintSgn{#1}\xint_afterfi{ 1}\else\xint_afterfi{ 0}\fi}%
+\def\xintiiIsZero {\romannumeral0\xintiiiszero }%
+\def\xintiiiszero #1{\if0\xintiiSgn{#1}\xint_afterfi{ 1}\else\xint_afterfi{ 0}\fi}%
+\def\xintIsNotZero {\romannumeral0\XINT_signaldeprecated{xint}{xintIsNotZero}\xintisnotzero }%
+\def\xintisnotzero
+ #1{\if0\xintSgn{#1}\xint_afterfi{ 0}\else\xint_afterfi{ 1}\fi}%
+\def\xintiiIsNotZero {\romannumeral0\xintiiisnotzero }%
+\def\xintiiisnotzero
+ #1{\if0\xintiiSgn{#1}\xint_afterfi{ 0}\else\xint_afterfi{ 1}\fi}%
+\def\xintiiIsOne {\romannumeral0\xintiiisone }%
+\def\xintiiisone #1{\expandafter\XINT_isone\romannumeral`&&@#1XY}%
+\def\xintIsOne {\romannumeral0\XINT_signaldeprecated{xint}{xintIsOne}\xintisone }%
+\def\xintisone #1{\expandafter\XINT_isone\romannumeral0\xintnum{#1}XY}%
+\def\XINT_isone #1#2#3Y%
+{%
+ \unless\if#2X\xint_dothis{ 0}\fi
+ \unless\if#11\xint_dothis{ 0}\fi
+ \xint_orthat{ 1}%
+}%
+\def\XINT_isOne #1{\XINT_is_One#1XY}%
+\def\XINT_is_One #1#2#3Y%
+{%
+ \unless\if#2X\xint_dothis0\fi
+ \unless\if#11\xint_dothis0\fi
+ \xint_orthat1%
+}%
+\def\xintiiOdd {\romannumeral0\xintiiodd }%
+\def\xintiiodd #1%
+{%
+ \ifodd\xintLDg{#1} %<- intentional space
+ \xint_afterfi{ 1}%
+ \else
+ \xint_afterfi{ 0}%
\fi
}%
-\def\xintiiifSgn {\romannumeral0\xintiiifsgn }%
-\def\xintiiifsgn #1%
+\def\xintOdd {\romannumeral0\XINT_signaldeprecated{xint}{xintOdd}\xintodd }%
+\def\xintodd #1%
{%
- \ifcase \xintiiSgn{#1}
- \expandafter\xint_secondofthree_thenstop
- \or\expandafter\xint_thirdofthree_thenstop
- \else\expandafter\xint_firstofthree_thenstop
+ \ifodd\xintLDg{\xintNum{#1}} %<- intentional space
+ \xint_afterfi{ 1}%
+ \else
+ \xint_afterfi{ 0}%
\fi
}%
-\def\xintifZero {\romannumeral0\xintifzero }%
-\def\xintifzero #1%
+\def\xintiiEven {\romannumeral0\xintiieven }%
+\def\xintiieven #1%
{%
- \if0\xintSgn{#1}%
- \expandafter\xint_firstoftwo_thenstop
+ \ifodd\xintLDg{#1} %<- intentional space
+ \xint_afterfi{ 0}%
\else
- \expandafter\xint_secondoftwo_thenstop
+ \xint_afterfi{ 1}%
\fi
}%
-\def\xintifNotZero {\romannumeral0\xintifnotzero }%
-\def\xintifnotzero #1%
+\def\xintEven {\romannumeral0\XINT_signaldeprecated{xint}{xintEven}\xinteven }%
+\def\xinteven #1%
{%
- \if0\xintSgn{#1}%
- \expandafter\xint_secondoftwo_thenstop
+ \ifodd\xintLDg{\xintNum{#1}} %<- intentional space
+ \xint_afterfi{ 0}%
\else
- \expandafter\xint_firstoftwo_thenstop
+ \xint_afterfi{ 1}%
\fi
}%
-\def\xintiiifZero {\romannumeral0\xintiiifzero }%
-\def\xintiiifzero #1%
+\def\xintiiMON {\romannumeral0\xintiimon }%
+\def\xintiimon #1%
{%
- \if0\xintiiSgn{#1}%
- \expandafter\xint_firstoftwo_thenstop
+ \ifodd\xintLDg {#1} %<- intentional space
+ \xint_afterfi{ -1}%
\else
- \expandafter\xint_secondoftwo_thenstop
+ \xint_afterfi{ 1}%
\fi
}%
-\def\xintiiifNotZero {\romannumeral0\xintiiifnotzero }%
-\def\xintiiifnotzero #1%
+\def\xintMON {\romannumeral0\XINT_signaldeprecated{xint}{xintMON}\xintmon }%
+\def\xintmon #1%
{%
- \if0\xintiiSgn{#1}%
- \expandafter\xint_secondoftwo_thenstop
+ \ifodd\xintLDg{\xintNum{#1}} %<- intentional space
+ \xint_afterfi{ -1}%
\else
- \expandafter\xint_firstoftwo_thenstop
+ \xint_afterfi{ 1}%
\fi
}%
-\def\xintiiifOne {\romannumeral0\xintiiifone }%
-\def\xintiiifone #1%
+\def\xintiiMMON {\romannumeral0\xintiimmon }%
+\def\xintiimmon #1%
{%
- \if1\xintiiIsOne{#1}%
- \expandafter\xint_firstoftwo_thenstop
+ \ifodd\xintLDg {#1} %<- intentional space
+ \xint_afterfi{ 1}%
\else
- \expandafter\xint_secondoftwo_thenstop
+ \xint_afterfi{ -1}%
\fi
}%
-\def\xintifOne {\romannumeral0\xintifone }%
-\def\xintifone #1%
+\def\xintMMON {\romannumeral0\XINT_signaldeprecated{xint}{xintMMON}\xintmmon }%
+\def\xintmmon #1%
{%
- \if1\xintIsOne{#1}%
- \expandafter\xint_firstoftwo_thenstop
+ \ifodd\xintLDg{\xintNum{#1}} %<- intentional space
+ \xint_afterfi{ 1}%
\else
- \expandafter\xint_secondoftwo_thenstop
+ \xint_afterfi{ -1}%
\fi
}%
-\let\xintifTrueAelseB\xintifNotZero
-\let\xintifFalseAelseB\xintifZero
-%%\let\xintifTrue\xintifNotZero % now removed
-%%\let\xintifTrueFalse\xintifNotZero % now removed
-\def\xintifCmp {\romannumeral0\xintifcmp }%
+\def\xintSgnFork {\romannumeral0\xintsgnfork }%
+\def\xintsgnfork #1%
+{%
+ \ifcase #1 \expandafter\xint_secondofthree_thenstop
+ \or\expandafter\xint_thirdofthree_thenstop
+ \else\expandafter\xint_firstofthree_thenstop
+ \fi
+}%
+\def\xintifSgn {\romannumeral0\XINT_signaldeprecated{xint}{xintifSgn}\xintifsgn }%
+\def\xintifsgn #1%
+{%
+ \ifcase \xintSgn{#1}
+ \expandafter\xint_secondofthree_thenstop
+ \or\expandafter\xint_thirdofthree_thenstop
+ \else\expandafter\xint_firstofthree_thenstop
+ \fi
+}%
+\def\xintiiifSgn {\romannumeral0\xintiiifsgn }%
+\def\xintiiifsgn #1%
+{%
+ \ifcase \xintiiSgn{#1}
+ \expandafter\xint_secondofthree_thenstop
+ \or\expandafter\xint_thirdofthree_thenstop
+ \else\expandafter\xint_firstofthree_thenstop
+ \fi
+}%
+\def\xintifCmp {\romannumeral0\XINT_signaldeprecated{xint}{xintifCmp}\xintifcmp }%
\def\xintifcmp #1#2%
{%
\ifcase\xintCmp {#1}{#2}
@@ -249,7 +532,7 @@
\else\expandafter\xint_firstofthree_thenstop
\fi
}%
-\def\xintifEq {\romannumeral0\xintifeq }%
+\def\xintifEq {\romannumeral0\XINT_signaldeprecated{xint}{xintifEq}\xintifeq }%
\def\xintifeq #1#2%
{%
\if0\xintCmp{#1}{#2}%
@@ -265,7 +548,7 @@
\else\expandafter\xint_secondoftwo_thenstop
\fi
}%
-\def\xintifGt {\romannumeral0\xintifgt }%
+\def\xintifGt {\romannumeral0\XINT_signaldeprecated{xint}{xintifGt}\xintifgt }%
\def\xintifgt #1#2%
{%
\if1\xintCmp{#1}{#2}%
@@ -281,7 +564,7 @@
\else\expandafter\xint_secondoftwo_thenstop
\fi
}%
-\def\xintifLt {\romannumeral0\xintiflt }%
+\def\xintifLt {\romannumeral0\XINT_signaldeprecated{xint}{xintifLt}\xintiflt }%
\def\xintiflt #1#2%
{%
\ifnum\xintCmp{#1}{#2}<\xint_c_
@@ -297,6 +580,60 @@
\else \expandafter\xint_secondoftwo_thenstop
\fi
}%
+\def\xintifZero {\romannumeral0\XINT_signaldeprecated{xint}{xintifZero}\xintifzero }%
+\def\xintifzero #1%
+{%
+ \if0\xintSgn{#1}%
+ \expandafter\xint_firstoftwo_thenstop
+ \else
+ \expandafter\xint_secondoftwo_thenstop
+ \fi
+}%
+\def\xintiiifZero {\romannumeral0\xintiiifzero }%
+\def\xintiiifzero #1%
+{%
+ \if0\xintiiSgn{#1}%
+ \expandafter\xint_firstoftwo_thenstop
+ \else
+ \expandafter\xint_secondoftwo_thenstop
+ \fi
+}%
+\def\xintifNotZero {\romannumeral0\XINT_signaldeprecated{xint}{xintifNotZero}\xintifnotzero }%
+\def\xintifnotzero #1%
+{%
+ \if0\xintSgn{#1}%
+ \expandafter\xint_secondoftwo_thenstop
+ \else
+ \expandafter\xint_firstoftwo_thenstop
+ \fi
+}%
+\def\xintiiifNotZero {\romannumeral0\xintiiifnotzero }%
+\def\xintiiifnotzero #1%
+{%
+ \if0\xintiiSgn{#1}%
+ \expandafter\xint_secondoftwo_thenstop
+ \else
+ \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\XINT_signaldeprecated{xint}{xintifOne}\xintifone }%
+\def\xintifone #1%
+{%
+ \if1\xintIsOne{#1}%
+ \expandafter\xint_firstoftwo_thenstop
+ \else
+ \expandafter\xint_secondoftwo_thenstop
+ \fi
+}%
\def\xintiiifOdd {\romannumeral0\xintiiifodd }%
\def\xintiiifodd #1%
{%
@@ -306,7 +643,7 @@
\expandafter\xint_secondoftwo_thenstop
\fi
}%
-\def\xintifOdd {\romannumeral0\xintifodd }%
+\def\xintifOdd {\romannumeral0\XINT_signaldeprecated{xint}{xintifOdd}\xintifodd }%
\def\xintifodd #1%
{%
\if\xintOdd{#1}1%
@@ -315,41 +652,20 @@
\expandafter\xint_secondoftwo_thenstop
\fi
}%
-\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 }%
-\def\xintisnotzero
- #1{\if0\xintSgn{#1}\xint_afterfi{ 0}\else\xint_afterfi{ 1}\fi}%
-\def\xintiiIsZero {\romannumeral0\xintiiiszero }%
-\def\xintiiiszero #1{\if0\xintiiSgn{#1}\xint_afterfi{ 1}\else\xint_afterfi{ 0}\fi}%
-\def\xintiiIsNotZero {\romannumeral0\xintiiisnotzero }%
-\def\xintiiisnotzero
- #1{\if0\xintiiSgn{#1}\xint_afterfi{ 0}\else\xint_afterfi{ 1}\fi}%
-\let\xintIsTrue\xintIsNotZero
-\let\xintNot\xintIsZero
-\let\xintIsFalse\xintIsZero
+\def\xintifTrueAelseB {\romannumeral0\xintiiifnotzero}%
+\def\xintifFalseAelseB{\romannumeral0\xintiiifzero}%
+\def\xintNot{\romannumeral0\XINT_signaldeprecated{xint}{xintNot}\xintiiiszero}%
+\def\xintNOT{\romannumeral0\xintiiiszero}%
\def\xintAND {\romannumeral0\xintand }%
-\def\xintand #1#2{\if0\xintSgn{#1}\expandafter\xint_firstoftwo
+\def\xintand #1#2{\if0\xintiiSgn{#1}\expandafter\xint_firstoftwo
\else\expandafter\xint_secondoftwo\fi
- { 0}{\xintisnotzero{#2}}}%
+ { 0}{\xintiiisnotzero{#2}}}%
\def\xintOR {\romannumeral0\xintor }%
-\def\xintor #1#2{\if0\xintSgn{#1}\expandafter\xint_firstoftwo
+\def\xintor #1#2{\if0\xintiiSgn{#1}\expandafter\xint_firstoftwo
\else\expandafter\xint_secondoftwo\fi
- {\xintisnotzero{#2}}{ 1}}%
+ {\xintiiisnotzero{#2}}{ 1}}%
\def\xintXOR {\romannumeral0\xintxor }%
-\def\xintxor #1#2{\if\xintIsZero{#1}\xintIsZero{#2}%
+\def\xintxor #1#2{\if\xintiiIsZero{#1}\xintiiIsZero{#2}%
\xint_afterfi{ 0}\else\xint_afterfi{ 1}\fi }%
\def\xintANDof {\romannumeral0\xintandof }%
\def\xintandof #1{\expandafter\XINT_andof_a\romannumeral`&&@#1\xint:}%
@@ -381,45 +697,7 @@
{\XINT_xorof_a #2}%
}%
\def\XINT_xorof_e #1!#2{ #2}%
-\def\xintGeq {\romannumeral0\xintgeq }%
-\def\xintgeq #1{\expandafter\XINT_geq\romannumeral0\xintnum{#1}\xint:}%
-\def\xintiiGeq {\romannumeral0\xintiigeq }%
-\def\xintiigeq #1{\expandafter\XINT_iigeq\romannumeral`&&@#1\xint:}%
-\def\XINT_iigeq #1#2\xint:#3%
-{%
- \expandafter\XINT_geq_fork\expandafter #1\romannumeral`&&@#3\xint:#2\xint:
-}%
-\def\XINT_geq #1#2\xint:#3%
-{%
- \expandafter\XINT_geq_fork\expandafter #1\romannumeral0\xintnum{#3}\xint:#2\xint:
-}%
-\def\XINT_geq_fork #1#2%
-{%
- \xint_UDzerofork
- #1\XINT_geq_firstiszero
- #2\XINT_geq_secondiszero
- 0{}%
- \krof
- \xint_UDsignsfork
- #1#2\XINT_geq_minusminus
- #1-\XINT_geq_minusplus
- #2-\XINT_geq_plusminus
- --\XINT_geq_plusplus
- \krof #1#2%
-}%
-\def\XINT_geq_firstiszero #1\krof 0#2#3\xint:#4\xint:
- {\xint_UDzerofork #2{ 1}0{ 0}\krof }%
-\def\XINT_geq_secondiszero #1\krof #20#3\xint:#4\xint:{ 1}%
-\def\XINT_geq_plusminus #1-{\XINT_geq_plusplus #1{}}%
-\def\XINT_geq_minusplus -#1{\XINT_geq_plusplus {}#1}%
-\def\XINT_geq_minusminus --{\XINT_geq_plusplus {}{}}%
-\def\XINT_geq_plusplus
- {\expandafter\XINT_geq_finish\romannumeral0\XINT_cmp_plusplus}%
-\def\XINT_geq_finish #1{\if-#1\expandafter\XINT_geq_no
- \else\expandafter\XINT_geq_yes\fi}%
-\def\XINT_geq_no 1{ 0}%
-\def\XINT_geq_yes { 1}%
-\def\xintiMax {\romannumeral0\xintimax }%
+\def\xintiMax {\romannumeral0\XINT_signaldeprecated{xint}{xintiMax}\xintimax }%
\def\xintimax #1%
{%
\expandafter\xint_max\romannumeral0\xintnum{#1}\xint:
@@ -470,28 +748,7 @@
{%
\unless\if1\romannumeral0\XINT_geq_plusplus{}{}%
}%
-\def\xintiMaxof {\romannumeral0\xintimaxof }%
-\def\xintimaxof #1{\expandafter\XINT_imaxof_a\romannumeral`&&@#1\xint:}%
-\def\XINT_imaxof_a
-#1{\expandafter\XINT_imaxof_b\romannumeral0\xintnum{#1}!}%
-\def\XINT_imaxof_b #1!#2%
- {\expandafter\XINT_imaxof_c\romannumeral`&&@#2!{#1}!}%
-\def\XINT_imaxof_c #1%
- {\xint_gob_til_xint: #1\XINT_imaxof_e\xint:\XINT_imaxof_d #1}%
-\def\XINT_imaxof_d #1!%
- {\expandafter\XINT_imaxof_b\romannumeral0\xintimax {#1}}%
-\def\XINT_imaxof_e #1!#2!{ #2}%
-\def\xintiiMaxof {\romannumeral0\xintiimaxof }%
-\def\xintiimaxof #1{\expandafter\XINT_iimaxof_a\romannumeral`&&@#1\xint:}%
-\def\XINT_iimaxof_a #1{\expandafter\XINT_iimaxof_b\romannumeral`&&@#1!}%
-\def\XINT_iimaxof_b #1!#2%
- {\expandafter\XINT_iimaxof_c\romannumeral`&&@#2!{#1}!}%
-\def\XINT_iimaxof_c #1%
- {\xint_gob_til_xint: #1\XINT_iimaxof_e\xint:\XINT_iimaxof_d #1}%
-\def\XINT_iimaxof_d #1!%
- {\expandafter\XINT_iimaxof_b\romannumeral0\xintiimax {#1}}%
-\def\XINT_iimaxof_e #1!#2!{ #2}%
-\def\xintiMin {\romannumeral0\xintimin }%
+\def\xintiMin {\romannumeral0\XINT_signaldeprecated{xint}{xintiMin}\xintimin }%
\def\xintimin #1%
{%
\expandafter\xint_min\romannumeral0\xintnum{#1}\xint:
@@ -542,7 +799,28 @@
{%
\unless\if1\romannumeral0\XINT_geq_plusplus{}{}%
}%
-\def\xintiMinof {\romannumeral0\xintiminof }%
+\def\xintiMaxof {\romannumeral0\XINT_signaldeprecated{xint}{xintiMaxof}\xintimaxof }%
+\def\xintimaxof #1{\expandafter\XINT_imaxof_a\romannumeral`&&@#1\xint:}%
+\def\XINT_imaxof_a
+#1{\expandafter\XINT_imaxof_b\romannumeral0\xintnum{#1}!}%
+\def\XINT_imaxof_b #1!#2%
+ {\expandafter\XINT_imaxof_c\romannumeral`&&@#2!{#1}!}%
+\def\XINT_imaxof_c #1%
+ {\xint_gob_til_xint: #1\XINT_imaxof_e\xint:\XINT_imaxof_d #1}%
+\def\XINT_imaxof_d #1!%
+ {\expandafter\XINT_imaxof_b\romannumeral0\xintimax {#1}}%
+\def\XINT_imaxof_e #1!#2!{ #2}%
+\def\xintiiMaxof {\romannumeral0\xintiimaxof }%
+\def\xintiimaxof #1{\expandafter\XINT_iimaxof_a\romannumeral`&&@#1\xint:}%
+\def\XINT_iimaxof_a #1{\expandafter\XINT_iimaxof_b\romannumeral`&&@#1!}%
+\def\XINT_iimaxof_b #1!#2%
+ {\expandafter\XINT_iimaxof_c\romannumeral`&&@#2!{#1}!}%
+\def\XINT_iimaxof_c #1%
+ {\xint_gob_til_xint: #1\XINT_iimaxof_e\xint:\XINT_iimaxof_d #1}%
+\def\XINT_iimaxof_d #1!%
+ {\expandafter\XINT_iimaxof_b\romannumeral0\xintiimax {#1}}%
+\def\XINT_iimaxof_e #1!#2!{ #2}%
+\def\xintiMinof {\romannumeral0\XINT_signaldeprecated{xint}{xintiMinof}\xintiminof }%
\def\xintiminof #1{\expandafter\XINT_iminof_a\romannumeral`&&@#1\xint:}%
\def\XINT_iminof_a #1{\expandafter\XINT_iminof_b\romannumeral0\xintnum{#1}!}%
\def\XINT_iminof_b #1!#2%
@@ -582,284 +860,8 @@
\def\XINT_prod_loop_c
{\expandafter\XINT_prod_loop_a\romannumeral0\XINT_mul_fork }%
\def\XINT_prod_finished\xint:\XINT_prod_loop_c\xint:\xint:#1\xint:\Z { #1}%
-\def\xintiiMON {\romannumeral0\xintiimon }%
-\def\xintiimon #1%
-{%
- \ifodd\xintiiLDg {#1} %<- intentional space
- \xint_afterfi{ -1}%
- \else
- \xint_afterfi{ 1}%
- \fi
-}%
-\def\xintiiMMON {\romannumeral0\xintiimmon }%
-\def\xintiimmon #1%
-{%
- \ifodd\xintiiLDg {#1} %<- intentional space
- \xint_afterfi{ 1}%
- \else
- \xint_afterfi{ -1}%
- \fi
-}%
-\def\xintMON {\romannumeral0\xintmon }%
-\def\xintmon #1%
-{%
- \ifodd\xintLDg {#1} %<- intentional space
- \xint_afterfi{ -1}%
- \else
- \xint_afterfi{ 1}%
- \fi
-}%
-\def\xintMMON {\romannumeral0\xintmmon }%
-\def\xintmmon #1%
-{%
- \ifodd\xintLDg {#1} %<- intentional space
- \xint_afterfi{ 1}%
- \else
- \xint_afterfi{ -1}%
- \fi
-}%
-\def\xintiiOdd {\romannumeral0\xintiiodd }%
-\def\xintiiodd #1%
-{%
- \ifodd\xintiiLDg{#1} %<- intentional space
- \xint_afterfi{ 1}%
- \else
- \xint_afterfi{ 0}%
- \fi
-}%
-\def\xintiiEven {\romannumeral0\xintiieven }%
-\def\xintiieven #1%
-{%
- \ifodd\xintiiLDg{#1} %<- intentional space
- \xint_afterfi{ 0}%
- \else
- \xint_afterfi{ 1}%
- \fi
-}%
-\def\xintOdd {\romannumeral0\xintodd }%
-\def\xintodd #1%
-{%
- \ifodd\xintLDg{#1} %<- intentional space
- \xint_afterfi{ 1}%
- \else
- \xint_afterfi{ 0}%
- \fi
-}%
-\def\xintEven {\romannumeral0\xinteven }%
-\def\xinteven #1%
-{%
- \ifodd\xintLDg{#1} %<- intentional space
- \xint_afterfi{ 0}%
- \else
- \xint_afterfi{ 1}%
- \fi
-}%
-\def\xintDSHr {\romannumeral0\xintdshr }%
-\def\xintdshr #1#2%
-{%
- \expandafter\XINT_dshr_fork\the\numexpr#1\expandafter.\romannumeral`&&@#2;%
-}%
-\def\XINT_dshr_fork #1%
-{%
- \xint_UDzerominusfork
- 0#1\XINT_dshr_xzeroorneg
- #1-\XINT_dshr_xzeroorneg
- 0-\XINT_dshr_xpositive
- \krof #1%
-}%
-\def\XINT_dshr_xzeroorneg #1;{ 0}%
-\def\XINT_dshr_xpositive
-{%
- \expandafter\xint_secondoftwo_thenstop\romannumeral0\XINT_dsx_xisPos
-}%
-\def\xintDSH {\romannumeral0\xintdsh }%
-\def\xintdsh #1#2%
-{%
- \expandafter\XINT_dsh_fork\the\numexpr#1\expandafter.\romannumeral`&&@#2;%
-}%
-\def\XINT_dsh_fork #1%
-{%
- \xint_UDzerominusfork
- #1-\XINT_dsh_xiszero
- 0#1\XINT_dsx_xisNeg_checkA
- 0-{\XINT_dsh_xisPos #1}%
- \krof
-}%
-\def\XINT_dsh_xiszero #1.#2;{ #2}%
-\def\XINT_dsh_xisPos
-{%
- \expandafter\xint_firstoftwo_thenstop\romannumeral0\XINT_dsx_xisPos
-}%
-\def\xintDSx {\romannumeral0\xintdsx }%
-\def\xintdsx #1#2%
-{%
- \expandafter\XINT_dsx_fork\the\numexpr#1\expandafter.\romannumeral`&&@#2;%
-}%
-\def\XINT_dsx_fork #1%
-{%
- \xint_UDzerominusfork
- #1-\XINT_dsx_xisZero
- 0#1\XINT_dsx_xisNeg_checkA
- 0-{\XINT_dsx_xisPos #1}%
- \krof
-}%
-\def\XINT_dsx_xisZero #1.#2;{{#2}{0}}%
-\def\XINT_dsx_xisNeg_checkA #1.#2%
-{%
- \xint_gob_til_zero #2\XINT_dsx_xisNeg_Azero 0%
- \expandafter\XINT_dsx_append\romannumeral\XINT_rep #1\endcsname 0.#2%
-}%
-\def\XINT_dsx_xisNeg_Azero #1;{ 0}%
-\def\XINT_dsx_addzeros #1%
- {\expandafter\XINT_dsx_append\romannumeral\XINT_rep#1\endcsname0.}%
-\def\XINT_dsx_addzerosnofuss #1%
- {\expandafter\XINT_dsx_append\romannumeral\xintreplicate{#1}0.}%
-\def\XINT_dsx_append #1.#2;{ #2#1}%
-\def\XINT_dsx_xisPos #1.#2%
-{%
- \xint_UDzerominusfork
- #2-\XINT_dsx_AisZero
- 0#2\XINT_dsx_AisNeg
- 0-\XINT_dsx_AisPos
- \krof #1.#2%
-}%
-\def\XINT_dsx_AisZero #1;{{0}{0}}%
-\def\XINT_dsx_AisNeg #1.-#2;%
-{%
- \expandafter\XINT_dsx_AisNeg_checkiffirstempty
- \romannumeral0\XINT_split_xfork #1.#2\xint_bye2345678\xint_bye..%
-}%
-\def\XINT_dsx_AisNeg_checkiffirstempty #1%
-{%
- \xint_gob_til_dot #1\XINT_dsx_AisNeg_finish_zero.%
- \XINT_dsx_AisNeg_finish_notzero #1%
-}%
-\def\XINT_dsx_AisNeg_finish_zero.\XINT_dsx_AisNeg_finish_notzero.#1.%
-{%
- \expandafter\XINT_dsx_end
- \expandafter {\romannumeral0\XINT_num {-#1}}{0}%
-}%
-\def\XINT_dsx_AisNeg_finish_notzero #1.#2.%
-{%
- \expandafter\XINT_dsx_end
- \expandafter {\romannumeral0\XINT_num {#2}}{-#1}%
-}%
-\def\XINT_dsx_AisPos #1.#2;%
-{%
- \expandafter\XINT_dsx_AisPos_finish
- \romannumeral0\XINT_split_xfork #1.#2\xint_bye2345678\xint_bye..%
-}%
-\def\XINT_dsx_AisPos_finish #1.#2.%
-{%
- \expandafter\XINT_dsx_end
- \expandafter {\romannumeral0\XINT_num {#2}}%
- {\romannumeral0\XINT_num {#1}}%
-}%
-\def\XINT_dsx_end #1#2{\expandafter{#2}{#1}}%
-\def\xintDecSplit {\romannumeral0\xintdecsplit }%
-\def\xintdecsplit #1#2%
-{%
- \expandafter\XINT_split_finish
- \romannumeral0\expandafter\XINT_split_xfork
- \the\numexpr #1\expandafter.\romannumeral`&&@#2%
- \xint_bye2345678\xint_bye..%
-}%
-\def\xintDecSplitL {\romannumeral0\xintdecsplitl }%
-\def\xintdecsplitl #1#2%
-{%
- \expandafter\XINT_splitl_finish
- \romannumeral0\expandafter\XINT_split_xfork
- \the\numexpr #1\expandafter.\romannumeral`&&@#2%
- \xint_bye2345678\xint_bye..%
-}%
-\def\xintDecSplitR {\romannumeral0\xintdecsplitr }%
-\def\xintdecsplitr #1#2%
-{%
- \expandafter\XINT_splitr_finish
- \romannumeral0\expandafter\XINT_split_xfork
- \the\numexpr #1\expandafter.\romannumeral`&&@#2%
- \xint_bye2345678\xint_bye..%
-}%
-\def\XINT_split_finish #1.#2.{{#1}{#2}}%
-\def\XINT_splitl_finish #1.#2.{ #1}%
-\def\XINT_splitr_finish #1.#2.{ #2}%
-\def\XINT_split_xfork #1%
-{%
- \xint_UDzerominusfork
- #1-\XINT_split_zerosplit
- 0#1\XINT_split_fromleft
- 0-{\XINT_split_fromright #1}%
- \krof
-}%
-\def\XINT_split_zerosplit .#1\xint_bye#2\xint_bye..{ #1..}%
-\def\XINT_split_fromleft
- {\expandafter\XINT_split_fromleft_a\the\numexpr\xint_c_viii-}%
-\def\XINT_split_fromleft_a #1%
-{%
- \xint_UDsignfork
- #1\XINT_split_fromleft_b
- -{\XINT_split_fromleft_end_a #1}%
- \krof
-}%
-\def\XINT_split_fromleft_b #1.#2#3#4#5#6#7#8#9%
-{%
- \expandafter\XINT_split_fromleft_clean
- \the\numexpr1#2#3#4#5#6#7#8#9\expandafter
- \XINT_split_fromleft_a\the\numexpr\xint_c_viii-#1.%
-}%
-\def\XINT_split_fromleft_end_a #1.%
-{%
- \expandafter\XINT_split_fromleft_clean
- \the\numexpr1\csname XINT_split_fromleft_end#1\endcsname
-}%
-\def\XINT_split_fromleft_clean 1{ }%
-\expandafter\def\csname XINT_split_fromleft_end7\endcsname #1%
- {#1\XINT_split_fromleft_end_b}%
-\expandafter\def\csname XINT_split_fromleft_end6\endcsname #1#2%
- {#1#2\XINT_split_fromleft_end_b}%
-\expandafter\def\csname XINT_split_fromleft_end5\endcsname #1#2#3%
- {#1#2#3\XINT_split_fromleft_end_b}%
-\expandafter\def\csname XINT_split_fromleft_end4\endcsname #1#2#3#4%
- {#1#2#3#4\XINT_split_fromleft_end_b}%
-\expandafter\def\csname XINT_split_fromleft_end3\endcsname #1#2#3#4#5%
- {#1#2#3#4#5\XINT_split_fromleft_end_b}%
-\expandafter\def\csname XINT_split_fromleft_end2\endcsname #1#2#3#4#5#6%
- {#1#2#3#4#5#6\XINT_split_fromleft_end_b}%
-\expandafter\def\csname XINT_split_fromleft_end1\endcsname #1#2#3#4#5#6#7%
- {#1#2#3#4#5#6#7\XINT_split_fromleft_end_b}%
-\expandafter\def\csname XINT_split_fromleft_end0\endcsname #1#2#3#4#5#6#7#8%
- {#1#2#3#4#5#6#7#8\XINT_split_fromleft_end_b}%
-\def\XINT_split_fromleft_end_b #1\xint_bye#2\xint_bye.{.#1}% puis .
-\def\XINT_split_fromright #1.#2\xint_bye
-{%
- \expandafter\XINT_split_fromright_a
- \the\numexpr#1-\numexpr\XINT_length_loop
- #2\xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:
- \xint_c_viii\xint_c_vii\xint_c_vi\xint_c_v
- \xint_c_iv\xint_c_iii\xint_c_ii\xint_c_i\xint_c_\xint_bye
- .#2\xint_bye
-}%
-\def\XINT_split_fromright_a #1%
-{%
- \xint_UDsignfork
- #1\XINT_split_fromleft
- -\XINT_split_fromright_Lempty
- \krof
-}%
-\def\XINT_split_fromright_Lempty #1.#2\xint_bye#3..{.#2.}%
-\def\xintiiSqrt {\romannumeral0\xintiisqrt }%
-\def\xintiiSqrtR {\romannumeral0\xintiisqrtr }%
\def\xintiiSquareRoot {\romannumeral0\xintiisquareroot }%
-\def\xintiSqrt {\romannumeral0\xintisqrt }%
-\def\xintiSqrtR {\romannumeral0\xintisqrtr }%
-\def\xintiSquareRoot {\romannumeral0\xintisquareroot }%
-\def\xintisqrt {\expandafter\XINT_sqrt_post\romannumeral0\xintisquareroot }%
-\def\xintisqrtr {\expandafter\XINT_sqrtr_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 #1\XINT_dec_bye234567890\xint_bye}%
-\def\XINT_sqrtr_post #1#2{\xintiiifLt {#2}{#1}%
- { #1}{\XINT_dec #1\XINT_dec_bye234567890\xint_bye}}%
+\def\xintiSquareRoot{\romannumeral0\XINT_signaldeprecated{xint}{xintiSquareRoot}\xintisquareroot}%
\def\xintisquareroot #1%
{\expandafter\XINT_sqrt_checkin\romannumeral0\xintnum{#1}\xint:}%
\def\xintiisquareroot #1{\expandafter\XINT_sqrt_checkin\romannumeral`&&@#1\xint:}%
@@ -1144,6 +1146,17 @@
\expandafter\XINT_sqrt_big_kloop #2.#1.%
}%
\def\XINT_sqrt_big_end #1#2#3{{#3}{#2}}%
+\def\xintiiSqrt {\romannumeral0\xintiisqrt }%
+\def\xintiisqrt {\expandafter\XINT_sqrt_post\romannumeral0\xintiisquareroot }%
+\def\XINT_sqrt_post #1#2{\XINT_dec #1\XINT_dec_bye234567890\xint_bye}%
+\def\xintiiSqrtR {\romannumeral0\xintiisqrtr }%
+\def\xintiisqrtr {\expandafter\XINT_sqrtr_post\romannumeral0\xintiisquareroot }%
+\def\XINT_sqrtr_post #1#2%
+ {\xintiiifLt {#2}{#1}{ #1}{\XINT_dec #1\XINT_dec_bye234567890\xint_bye}}%
+\def\xintiSqrt {\romannumeral0\XINT_signaldeprecated{xint}{xintiSqrt}\xintisqrt}%
+\def\xintisqrt {\expandafter\XINT_sqrt_post\romannumeral0\xintisquareroot }%
+\def\xintiSqrtR{\romannumeral0\XINT_signaldeprecated{xint}{xintiSqrtr}\xintisqrtr}%
+\def\xintisqrtr {\expandafter\XINT_sqrtr_post\romannumeral0\xintisquareroot }%
\def\xintiiBinomial {\romannumeral0\xintiibinomial }%
\def\xintiibinomial #1#2%
{%
@@ -1153,7 +1166,7 @@
{%
\expandafter\XINT_binom_fork \the\numexpr#1-#2.#2.#1.%
}%
-\def\xintiBinomial{\romannumeral0\xintibinomial}%
+\def\xintiBinomial{\romannumeral0\XINT_signaldeprecated{xint}{xintiBinomial}\xintibinomial}%
\let\xintibinomial\xintiibinomial
\def\XINT_binom_fork #1#2.#3#4.#5#6.%
{%
@@ -1400,8 +1413,10 @@
{%
\expandafter\XINT_pfac_fork\the\numexpr#1\expandafter.\the\numexpr #2.%
}%
-\def\xintiPFactorial{\romannumeral0\xintipfactorial}%
+\def\xintiPFactorial{\romannumeral0\XINT_signaldeprecated{xint}{xintiPFactorial}\xintipfactorial}%
\let\xintipfactorial\xintiipfactorial
+\def\xintPFactorial{\romannumeral0\xintpfactorial}%
+\let\xintpfactorial\xintiipfactorial
\def\XINT_pfac_fork #1#2.#3#4.%
{%
\unless\ifnum #1#2<#3#4 \xint_dothis\XINT_pfac_one\fi
@@ -1538,27 +1553,54 @@
\expandafter\XINT_mul_out
\the\numexpr\expandafter\XINT_smallmul\the\numexpr \xint_c_x^viii+#1!%
}%
-\def\xintiiE {\romannumeral0\xintiie }% used in \xintMod.
-\def\xintiie #1#2%
- {\expandafter\XINT_iie_fork\the\numexpr #2\expandafter.\romannumeral`&&@#1;}%
-\def\XINT_iie_fork #1%
-{%
- \xint_UDsignfork
- #1\XINT_iie_neg
- -\XINT_iie_a
- \krof #1%
-}%
-\def\XINT_iie_a #1.%
- {\expandafter\XINT_dsx_append\romannumeral\XINT_rep #1\endcsname 0.}%
-\def\XINT_iie_neg #1.#2;{ #2}%
-\catcode`! 11
-\def\xintMax {\Did_you_mean_iiMax?or_load_xintfrac!}%
-\def\xintMin {\Did_you_mean_iiMin?or_load_xintfrac!}%
-\def\xintMaxof {\Did_you_mean_iMaxof?or_load_xintfrac!}%
-\def\xintMinof {\Did_you_mean_iMinof?or_load_xintfrac!}%
-\def\xintSum {\Did_you_mean_iiSum?or_load_xintfrac!}%
-\def\xintPrd {\Did_you_mean_iiPrd?or_load_xintfrac!}%
-\catcode`! 12
+\def\xintBool #1{\romannumeral`&&@%
+ \csname if#1\endcsname\expandafter1\else\expandafter0\fi }%
+\def\xintToggle #1{\romannumeral`&&@\iftoggle{#1}{1}{0}}%
+\ifdefined\documentclass\ifdefined\AtEndDocument
+ \AtEndDocument{%
+\XINT_ifFlagRaised{Deprecated-xint}%
+ {\PackageError{xint}
+{Usage of deprecated macros!}
+{These deprecated macros from xint.sty have been detected:\MessageBreak
+\XINT_useiimessage{xintEq}%
+\XINT_useiimessage{xintGeq}%
+\XINT_useiimessage{xintGt}%
+\XINT_useiimessage{xintLt}%
+\XINT_useiimessage{xintGtorEq}%
+\XINT_useiimessage{xintLtorEq}%
+\XINT_useiimessage{xintIsZero}%
+\XINT_useiimessage{xintIsNotZero}%
+\XINT_useiimessage{xintIsOne}%
+\XINT_useiimessage{xintOdd}%
+\XINT_useiimessage{xintEven}%
+\XINT_useiimessage{xintifSgn}%
+\XINT_useiimessage{xintifCmp}%
+\XINT_useiimessage{xintifEq}%
+\XINT_useiimessage{xintifGt}%
+\XINT_useiimessage{xintifLt}%
+\XINT_useiimessage{xintifZero}%
+\XINT_useiimessage{xintifNotZero}%
+\XINT_useiimessage{xintifOne}%
+\XINT_useiimessage{xintifOdd}%
+\XINT_ifFlagRaised{xintNeq}%
+ {\string\xintNeq\space(use \string\xintiiNotEq\space or \string\xintNotEq\space from xintfrac!)\MessageBreak}{}%
+\XINT_ifFlagRaised{xintNot}%
+ {\string\xintNot\space(renamed to \string\xintNOT!)\MessageBreak}{}%
+\XINT_ifFlagRaised{xintMON}{\string\xintMON\MessageBreak}{}%
+\XINT_ifFlagRaised{xintMMON}{\string\xintMMON\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiMax}{\string\xintiMax\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiMin}{\string\xintiMin\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiMaxof}{\string\xintiMaxof\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiMinof}{\string\xintiMinof\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiSquareRoot}{\string\xintiSquareRoot\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiSqrt}{\string\xintiSqrt\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiSqrtR}{\string\xintiSqrtR\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiBinomial}{\string\xintiBinomial\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiPFactorial}{\string\xintiPFactorial\MessageBreak}{}%
+They will get removed at some future release.}}%
+ {% no deprecated macro used (at top level...)
+ }%
+}\fi\fi
\XINT_restorecatcodes_endinput%
\endinput
%%
diff --git a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty
index 4a3be168fc7..4888a8124cb 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 1.2n 2017/08/06
+%% The xint bundle 1.2o 2017/08/29
%% Copyright (C) 2013-2017 by Jean-Francois Burnol
%% xintbinhex: Expandable binary and hexadecimal conversions
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintbinhex}%
- [2017/08/06 1.2n Expandable binary and hexadecimal conversions (JFB)]%
+ [2017/08/29 1.2o Expandable binary and hexadecimal conversions (JFB)]%
\newcount\xint_c_ii^xv \xint_c_ii^xv 32768
\newcount\xint_c_ii^xvi \xint_c_ii^xvi 65536
\def\XINT_tmpa #1{\ifx\relax#1\else
@@ -128,20 +128,6 @@
\def\XINT_zeroes_foriv_end\R\XINT_zeroes_foriv #1#2\W
{\XINT_zeroes_foriv_done #1}%
\def\XINT_zeroes_foriv_done #1\R{ #1}%
-\def\XINT_unsepb_loop #1!#2!#3!#4!#5!#6!#7!#8!#9!%
-{%
- \expandafter\XINT_unsep_clean
- \the\numexpr 1#1\expandafter\XINT_unsep_clean
- \the\numexpr 1#2\expandafter\XINT_unsep_clean
- \the\numexpr 1#3\expandafter\XINT_unsep_clean
- \the\numexpr 1#4\expandafter\XINT_unsep_clean
- \the\numexpr 1#5\expandafter\XINT_unsep_clean
- \the\numexpr 1#6\expandafter\XINT_unsep_clean
- \the\numexpr 1#7\expandafter\XINT_unsep_clean
- \the\numexpr 1#8\expandafter\XINT_unsep_clean
- \the\numexpr 1#9\XINT_unsepb_loop
-}%
-\def\XINT_unsep_clean 1{\relax}% also in xintcore
\def\xintDecToHex {\romannumeral0\xintdectohex }%
\def\xintdectohex #1%
{%
@@ -173,9 +159,10 @@
\expandafter\XINT_dthb_again\the\numexpr\expandafter\XINT_dthb_update
\the\numexpr#1#2#3#4%
\xint_bye#9\XINT_dthb_lastpass\xint_bye
- #5#6#7#8!\XINT_dthb_exclam\relax\XINT_dthb_nextfour!2!3!4!5!6!7!8!9!\Z #9%
+ #5#6#7#8!\XINT_dthb_exclam\relax\XINT_dthb_nextfour #9%
}%
-\def\XINT_dthb_exclam {!\XINT_dthb_exclam!}%
+\def\XINT_dthb_exclam {!\XINT_dthb_exclam\relax
+ \expandafter\XINT_dthb_update\the\numexpr}%
\def\XINT_dthb_update #1!%
{%
\expandafter\XINT_dthb_update_a
@@ -186,10 +173,10 @@
{%
0000+#1\expandafter#3\the\numexpr#2-#1*\xint_c_ii^xvi
}%
-\def\XINT_dthb_nextfour #1\Z #2#3#4#5#6%
+\def\XINT_dthb_nextfour #1#2#3#4#5%
{%
- \xint_bye#6\XINT_dthb_lastpass\xint_bye
- #2#3#4#5!\XINT_dthb_exclam\relax\XINT_dthb_nextfour!2!3!4!5!6!7!8!9!\Z #6%
+ \xint_bye#5\XINT_dthb_lastpass\xint_bye
+ #1#2#3#4!\XINT_dthb_exclam\relax\XINT_dthb_nextfour#5%
}%
\def\XINT_dthb_lastpass\xint_bye #1!#2\xint_bye#3{#1!#3!}%
\def\XINT_dth_tohex
@@ -197,28 +184,18 @@
\expandafter\expandafter\expandafter\XINT_dth_tohex_a\csname\XINT_tofourhex
}%
\def\XINT_dth_tohex_a\endcsname{!\XINT_dth_tohex!}%
-\def\XINT_dthb_a #1!#2!#3!#4!#5!#6!#7!#8!#9!%
-{%
- \expandafter\XINT_dthb_update
- \the\numexpr #1\expandafter\XINT_dthb_update
- \the\numexpr #2\expandafter\XINT_dthb_update
- \the\numexpr #3\expandafter\XINT_dthb_update
- \the\numexpr #4\expandafter\XINT_dthb_update
- \the\numexpr #5\expandafter\XINT_dthb_update
- \the\numexpr #6\expandafter\XINT_dthb_update
- \the\numexpr #7\expandafter\XINT_dthb_update
- \the\numexpr #8\expandafter\XINT_dthb_update
- \the\numexpr #9\XINT_dthb_a
-}%
-\def\XINT_dthb_again #1!#2!%
-{%
- \ifx\XINT_dthb_exclam#2%
+\def\XINT_dthb_again #1!#2#3%
+{%
+ \ifx#3\relax
\expandafter\xint_firstoftwo
\else
\expandafter\xint_secondoftwo
\fi
- {\expandafter\XINT_dthb_again\the\numexpr\expandafter\XINT_dthb_a
- \romannumeral`&&@\ifnum #1>\xint_c_ \xint_dothis{#1!}\fi\xint_orthat{}}%
+ {\expandafter\XINT_dthb_again
+ \the\numexpr
+ \ifnum #1>\xint_c_
+ \xint_afterfi{\expandafter\XINT_dthb_update\the\numexpr#1}%
+ \fi}%
{\ifnum #1>\xint_c_ \xint_dothis{#2#1!}\fi\xint_orthat{!#2!}}%
}%
\def\XINT_tofourhex #1!%
diff --git a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
index f9e6c5f5241..fb5a8744899 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 1.2n 2017/08/06
+%% The xint bundle 1.2o 2017/08/29
%% Copyright (C) 2013-2017 by Jean-Francois Burnol
%% xintcfrac: Expandable continued fractions with xint package
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintcfrac}%
- [2017/08/06 1.2n Expandable continued fractions with xint package (JFB)]%
+ [2017/08/29 1.2o Expandable continued fractions with xint package (JFB)]%
\def\xintCFrac {\romannumeral0\xintcfrac }%
\def\xintcfrac #1%
{%
@@ -371,12 +371,12 @@
}%
\def\XINT_fgtc_e #1%
{%
- \xintifZero {#1}{\expandafter\xint_firstofone\xint_gobble_iii}%
+ \xintiiifZero {#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}}%
+ \xintiiifZero {#2}{\xint_thirdofthree}{\XINT_fgtc_g {#1}{#2}}%
}%
\def\XINT_fgtc_g #1#2#3%
{%
diff --git a/Master/texmf-dist/tex/generic/xint/xintcore.sty b/Master/texmf-dist/tex/generic/xint/xintcore.sty
index 579e8de0ff0..b1f73e6a6c6 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 1.2n 2017/08/06
+%% The xint bundle 1.2o 2017/08/29
%% Copyright (C) 2013-2017 by Jean-Francois Burnol
%% xintcore: Expandable arithmetic on big integers
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintcore}%
- [2017/08/06 1.2n Expandable arithmetic on big integers (JFB)]%
+ [2017/08/29 1.2o Expandable arithmetic on big integers (JFB)]%
\csname XINT_Clamped_istrapped\endcsname
\csname XINT_ConversionSyntax_istrapped\endcsname
\csname XINT_DivisionByZero_istrapped\endcsname
@@ -123,6 +123,7 @@
\XINT_resetFlag{Overflow}% not encountered so far in xint code 1.2l
% .. others ..
}%
+\def\XINT_RaiseFlag #1{\expandafter\xint_gobble_i\csname XINT_#1Flag_ON\endcsname}%
%% NOT IMPLEMENTED! WORK IN PROGRESS! (ALL SIGNALS TRAPPED, NO HANDLERS USED)
\catcode`. 11
\let\XINT_Clamped.handler\xint_firstofone % WIP
@@ -147,13 +148,19 @@
\newcount\xint_c_x^viii_mone \xint_c_x^viii_mone 99999999
\newcount\xint_c_xii_e_viii \xint_c_xii_e_viii 1200000000
\newcount\xint_c_xi_e_viii_mone \xint_c_xi_e_viii_mone 1099999999
+\def\XINT_cuz_small#1{%
+\def\XINT_cuz_small ##1##2##3##4##5##6##7##8%
+{%
+ \expandafter#1\the\numexpr ##1##2##3##4##5##6##7##8\relax
+}}\XINT_cuz_small{ }%
\def\xintiNum {\romannumeral0\xintinum }%
\def\xintinum #1%
{%
\expandafter\XINT_num_cleanup\the\numexpr\expandafter\XINT_num_loop
\romannumeral`&&@#1\xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:\Z
}%
-\let\xintNum\xintiNum \let\xintnum\xintinum
+\def\xintNum {\romannumeral0\xintnum }%
+\let\xintnum\xintinum
\def\XINT_num #1%
{%
\expandafter\XINT_num_cleanup\the\numexpr\XINT_num_loop
@@ -171,17 +178,12 @@
}%
\def\XINT_num_end\xint:#1\xint:{#1+\xint_c_\xint:}% empty input ok
\def\XINT_num_cleanup #1\xint:#2\Z { #1}%
-\def\XINT_cuz_small#1{%
-\def\XINT_cuz_small ##1##2##3##4##5##6##7##8%
-{%
- \expandafter#1\the\numexpr ##1##2##3##4##5##6##7##8\relax
-}}\XINT_cuz_small{ }%
\def\xintiiSgn {\romannumeral0\xintiisgn }%
\def\xintiisgn #1%
{%
\expandafter\XINT_sgn \romannumeral`&&@#1\xint:
}%
-\def\xintSgn {\romannumeral0\xintsgn }%
+\def\xintSgn {\romannumeral0\XINT_signaldeprecated{xintcore}{xintSgn}\xintsgn }%
\def\xintsgn #1%
{%
\expandafter\XINT_sgn \romannumeral0\xintnum{#1}\xint:
@@ -215,7 +217,7 @@
{%
\expandafter\XINT_opp \romannumeral`&&@#1%
}%
-\def\xintiOpp {\romannumeral0\xintiopp }%
+\def\xintiOpp {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiOpp}\xintiopp }%
\def\xintiopp #1%
{%
\expandafter\XINT_opp \romannumeral0\xintnum{#1}%
@@ -234,7 +236,7 @@
{%
\expandafter\XINT_abs \romannumeral`&&@#1%
}%
-\def\xintiAbs {\romannumeral0\xintiabs }%
+\def\xintiAbs {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiAbs}\xintiabs }%
\def\xintiabs #1%
{%
\expandafter\XINT_abs \romannumeral0\xintnum{#1}%
@@ -246,17 +248,12 @@
-{ #1}%
\krof
}%
-\def\xintiiFDg {\romannumeral0\xintiifdg }%
-\def\xintiifdg #1%
-{%
- \expandafter\XINT_fdg \romannumeral`&&@#1\xint:\Z
-}%
\def\xintFDg {\romannumeral0\xintfdg }%
-\def\xintfdg #1%
-{%
- \expandafter\XINT_fdg \romannumeral0\xintnum{#1}\xint:\Z
-}%
-\def\XINT_FDg #1{\romannumeral0\XINT_fdg #1\xint:\Z }%
+\def\xintfdg #1{\expandafter\XINT_fdg \romannumeral`&&@#1\xint:\Z}%
+\def\xintiiFDg {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiiFDg}\xintiifdg }%
+\let\xintiifdg\xintfdg
+\def\XINT_FDg #1%
+ {\romannumeral0\expandafter\XINT_fdg\romannumeral`&&@\xintnum{#1}\xint:\Z }%
\def\XINT_fdg #1#2#3\Z
{%
\xint_UDzerominusfork
@@ -265,12 +262,11 @@
0-{ #1}% positive
\krof
}%
-\def\xintLDg {\romannumeral0\xintldg }%
-\def\xintldg #1{\expandafter\XINT_ldg_fork\romannumeral0\xintnum{#1}%
- \XINT_ldg_c{}{}{}{}{}{}{}{}\xint_bye\relax}%
-\def\xintiiLDg {\romannumeral0\xintiildg }%
-\def\xintiildg #1{\expandafter\XINT_ldg_fork\romannumeral`&&@#1%
+\def\xintLDg {\romannumeral0\xintldg }%
+\def\xintldg #1{\expandafter\XINT_ldg_fork\romannumeral`&&@#1%
\XINT_ldg_c{}{}{}{}{}{}{}{}\xint_bye\relax}%
+\def\xintiiLDg {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiiLDg}\xintiildg }%
+\let\xintiildg\xintldg
\def\XINT_ldg_fork #1%
{%
\xint_UDsignfork
@@ -575,7 +571,7 @@
{%
\expandafter\XINT_cuz_small\xint_gob_til_sc #8#7#6#5#4#3#2#1%
}%
-\def\xintiAdd {\romannumeral0\xintiadd }%
+\def\xintiAdd {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiAdd}\xintiadd }%
\def\xintiadd #1{\expandafter\XINT_iadd\romannumeral0\xintnum{#1}\xint:}%
\def\xintiiAdd {\romannumeral0\xintiiadd }%
\def\xintiiadd #1{\expandafter\XINT_iiadd\romannumeral`&&@#1\xint:}%
@@ -730,7 +726,7 @@
\def\XINT_add_m #1!{\expandafter\XINT_add_n\the\numexpr\xint_c_i+#1\xint:}%
\def\XINT_add_n #1#2\xint:{1#2\expandafter!\the\numexpr\XINT_add_o #1}%
\def\XINT_add_o #1{\if #12\expandafter\XINT_add_l\else\expandafter\XINT_add_ke \fi}%
-\def\xintCmp {\romannumeral0\xintcmp }%
+\def\xintCmp {\romannumeral0\XINT_signaldeprecated{xintcore}{xintCmp}\xintcmp }%
\def\xintcmp #1{\expandafter\XINT_icmp\romannumeral0\xintnum{#1}\xint:}%
\def\xintiiCmp {\romannumeral0\xintiicmp }%
\def\xintiicmp #1{\expandafter\XINT_iicmp\romannumeral`&&@#1\xint:}%
@@ -841,7 +837,7 @@
\expandafter\XINT_sub_nfork\expandafter
#1\romannumeral`&&@#3\xint:#2\xint:
}%
-\def\xintiSub {\romannumeral0\xintisub }%
+\def\xintiSub {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiSub}\xintisub }%
\def\xintisub #1{\expandafter\XINT_isub\romannumeral0\xintnum{#1}\xint:}%
\def\XINT_isub #1#2\xint:#3%
{%
@@ -1039,7 +1035,7 @@
\the\numexpr \xint_c_xi_e_viii_mone-#1#2#3#4#5#6#7#8\XINT_sub_comp_loop
}%
\def\XINT_sub_comp_clean 1#1{+#1\relax}%
-\def\xintiMul {\romannumeral0\xintimul }%
+\def\xintiMul {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiMul}\xintimul }%
\def\xintimul #1%
{%
\expandafter\XINT_imul\romannumeral0\xintnum{#1}\xint:
@@ -1215,17 +1211,7 @@
{%
1#6#7\expandafter!\the\numexpr \xint_c_x^viii+#1#2#3#4#5+#8!%
}%
-\def\xintiiQuo {\romannumeral0\xintiiquo }%
-\def\xintiiRem {\romannumeral0\xintiirem }%
-\def\xintiiquo {\expandafter\xint_firstoftwo_thenstop\romannumeral0\xintiidivision }%
-\def\xintiirem {\expandafter\xint_secondoftwo_thenstop\romannumeral0\xintiidivision }%
-\def\xintiQuo {\romannumeral0\xintiquo }%
-\def\xintiRem {\romannumeral0\xintirem }%
-\def\xintiquo {\expandafter\xint_firstoftwo_thenstop\romannumeral0\xintidivision }%
-\def\xintirem {\expandafter\xint_secondoftwo_thenstop\romannumeral0\xintidivision }%
-%%\let\xintQuo\xintiQuo\let\xintquo\xintiquo % now removed
-%%\let\xintRem\xintiRem\let\xintrem\xintirem % now removed
-\def\xintiDivision {\romannumeral0\xintidivision }%
+\def\xintiDivision {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiDivision}\xintidivision }%
\def\xintidivision #1{\expandafter\XINT_idivision\romannumeral0\xintnum{#1}\xint:}%
\def\XINT_idivision #1#2\xint:#3{\expandafter\XINT_iidivision_a\expandafter #1%
\romannumeral0\xintnum{#3}\xint:#2\xint:}%
@@ -1296,7 +1282,7 @@
\def\XINT_div_BisTwo #1#2%
{%
\expandafter\expandafter\expandafter\XINT_div_BisTwo_a
- \ifodd\xintiiLDg{#2} \expandafter1\else \expandafter0\fi {#2}%
+ \ifodd\xintLDg{#2} \expandafter1\else \expandafter0\fi {#2}%
}%
\def\XINT_div_BisTwo_a #1#2%
{%
@@ -1822,7 +1808,19 @@
{%
\xint_c_x^viii_mone+#3+(#1#2+#5)/#4!%
}%
-\def\xintiDivRound {\romannumeral0\xintidivround }%
+\def\xintiiQuo {\romannumeral0\xintiiquo }%
+\def\xintiiRem {\romannumeral0\xintiirem }%
+\def\xintiiquo
+ {\expandafter\xint_firstoftwo_thenstop\romannumeral0\xintiidivision }%
+\def\xintiirem
+ {\expandafter\xint_secondoftwo_thenstop\romannumeral0\xintiidivision }%
+\def\xintiQuo {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiQuo}\xintiquo }%
+\def\xintiRem {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiRem}\xintirem }%
+\def\xintiquo
+ {\expandafter\xint_firstoftwo_thenstop\romannumeral0\xintidivision }%
+\def\xintirem
+ {\expandafter\xint_secondoftwo_thenstop\romannumeral0\xintidivision }%
+\def\xintiDivRound {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiDivRound}\xintidivround }%
\def\xintidivround #1%
{\expandafter\XINT_idivround\romannumeral0\xintnum{#1}\xint:}%
\def\xintiiDivRound {\romannumeral0\xintiidivround }%
@@ -1863,7 +1861,7 @@
\romannumeral0\XINT_div_prepare {#2}{#1#30}%
\xint_bye\xint_Bye3456789\xint_bye/\xint_c_x\relax
}%
-\def\xintiDivTrunc {\romannumeral0\xintidivtrunc }%
+\def\xintiDivTrunc {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiDivTrunc}\xintidivtrunc }%
\def\xintidivtrunc #1{\expandafter\XINT_iidivtrunc\romannumeral0\xintnum{#1}\xint:}%
\def\xintiiDivTrunc {\romannumeral0\xintiidivtrunc }%
\def\xintiidivtrunc #1{\expandafter\XINT_iidivtrunc\romannumeral`&&@#1\xint:}%
@@ -1893,7 +1891,7 @@
\def\XINT_iidivtrunc_pos #1#2\xint:#3\xint:
{\expandafter\xint_firstoftwo_thenstop
\romannumeral0\XINT_div_prepare {#2}{#1#3}}%
-\def\xintiMod {\romannumeral0\xintimod }%
+\def\xintiMod {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiMod}\xintimod }%
\def\xintimod #1{\expandafter\XINT_iimod\romannumeral0\xintnum{#1}\xint:}%
\def\xintiiMod {\romannumeral0\xintiimod }%
\def\xintiimod #1{\expandafter\XINT_iimod\romannumeral`&&@#1\xint:}%
@@ -1928,7 +1926,7 @@
{%
\expandafter\XINT_sqr\romannumeral0\xintiiabs{#1}\xint:
}%
-\def\xintiSqr {\romannumeral0\xintisqr }%
+\def\xintiSqr {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiSqr}\xintisqr }%
\def\xintisqr #1%
{%
\expandafter\XINT_sqr\romannumeral0\xintiabs{#1}\xint:
@@ -1977,7 +1975,7 @@
\expandafter\xint_pow\the\numexpr #2\expandafter
.\romannumeral`&&@#1\xint:
}%
-\def\xintiPow {\romannumeral0\xintipow }%
+\def\xintiPow {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiPow}\xintipow }%
\def\xintipow #1#2%
{%
\expandafter\xint_pow\the\numexpr #2\expandafter
@@ -2116,8 +2114,8 @@
}%
\def\xintiiFac {\romannumeral0\xintiifac }%
\def\xintiifac #1{\expandafter\XINT_fac_fork\the\numexpr#1.}%
-\def\xintiFac {\romannumeral0\xintifac }%
-\let\xintifac\xintiifac
+\def\xintiFac {\romannumeral0\XINT_signaldeprecated{xintcore}{xintiFac}\xintifac }%
+\let\xintifac \xintiifac % redefined by xintfrac
\def\XINT_fac_fork #1#2.%
{%
\xint_UDzerominusfork
@@ -2221,17 +2219,49 @@
\xint_c_x^viii+#1*(#1+\xint_c_i)*(#1+\xint_c_ii)*(#1+\xint_c_iii)!%
}%
\def\XINT_fac_loop_exit #1!#2;!#3{#3#2;!}%
-\catcode`! 11
-\def\xintAbs {\Did_you_mean_iiAbs?or_load_xintfrac!}%
-\def\xintOpp {\Did_you_mean_iiOpp?or_load_xintfrac!}%
-\def\xintAdd {\Did_you_mean_iiAdd?or_load_xintfrac!}%
-\def\xintSub {\Did_you_mean_iiSub?or_load_xintfrac!}%
-\def\xintMul {\Did_you_mean_iiMul?or_load_xintfrac!}%
-\def\xintPow {\Did_you_mean_iiPow?or_load_xintfrac!}%
-\def\xintSqr {\Did_you_mean_iiSqr?or_load_xintfrac!}%
-\def\xintQuo {\Removed!use_xintiQuo_or_xintiiQuo!}%
-\def\xintRem {\Removed!use_xintiRem_or_xintiiRem!}%
-\catcode`! 12
+\def\XINT_signaldeprecated #1#2%
+{%
+ \XINT_ifFlagRaised{#2}%
+ {}% already encountered (if not hidden in a group...)
+ {\XINT_RaiseFlag{Deprecated-#1}\XINT_RaiseFlag{#2}%
+ \expandafter\XINT_expandableerror\expandafter
+ {\csname#2\endcsname (#1) is deprecated! (RET to proceed)}}%
+}%
+\ifdefined\documentclass\ifdefined\AtEndDocument
+ \AtEndDocument{%
+\XINT_ifFlagRaised{Deprecated-xintcore}%
+ {\PackageError{xintcore}
+{Usage of deprecated macros!}
+{These deprecated macros from xintcore.sty have been detected:\MessageBreak
+\XINT_useiimessage{xintSgn}%
+\XINT_useiimessage{xintCmp}%
+\XINT_ifFlagRaised{xintiOpp}{\string\xintiOpp\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiAbs}{\string\xintiAbs\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiiFDg}{\string\xintiiFDg\space(renamed to \string\xintFDg!)\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiiLDg}{\string\xintiiLDg\space(renamed to \string\xintLDg!)\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiAdd}{\string\xintiAdd\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiSub}{\string\xintiSub\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiMul}{\string\xintiMul\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiDivision}{\string\xintiDivision\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiQuo}{\string\xintiQuo\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiRem}{\string\xintiRem\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiDivRound}{\string\xintiDivRound\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiDivTrunc}{\string\xintiDivTrunc\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiMod}{\string\xintiMod\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiSqr}{\string\xintiSqr\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiPow}{\string\xintiPow\MessageBreak}{}%
+\XINT_ifFlagRaised{xintiFac}{\string\xintiFac\MessageBreak}{}%
+They will get removed at some future release.}}%
+ {% no deprecated macro used (at top level...)
+ }%
+}\fi\fi
+\def\XINT_useiimessage #1% used in LaTeX only
+{%
+ \XINT_ifFlagRaised {#1}%
+ {\@backslashchar#1
+ (load xintfrac or use \@backslashchar xintii\xint_gobble_iv#1!)\MessageBreak}%
+ {}%
+}%
\XINT_restorecatcodes_endinput%
\endinput
%%
diff --git a/Master/texmf-dist/tex/generic/xint/xintexpr.sty b/Master/texmf-dist/tex/generic/xint/xintexpr.sty
index c9a92005f23..15789f2d24e 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 1.2n 2017/08/06
+%% The xint bundle 1.2o 2017/08/29
%% Copyright (C) 2013-2017 by Jean-Francois Burnol
%% xintexpr: Expandable expression parser
%% ---------------------------------------------------------------
@@ -81,7 +81,7 @@
\XINTsetupcatcodes%
\XINT_providespackage
\ProvidesPackage{xintexpr}%
- [2017/08/06 1.2n Expandable expression parser (JFB)]%
+ [2017/08/29 1.2o Expandable expression parser (JFB)]%
\catcode`! 11
\let\XINT_Cmp \xintiiCmp
\def\xint_gob_til_! #1!{}% ! with catcode 11
@@ -737,9 +737,9 @@
\XINT_expr_defbin_b {expr} {>=} {v}{vi} {xintGtorEq}%
\XINT_expr_defbin_b {flexpr}{>=} {v}{vi} {xintGtorEq}%
\XINT_expr_defbin_b {iiexpr}{>=} {v}{vi} {xintiiGtorEq}%
-\XINT_expr_defbin_b {expr} {!=} {v}{vi} {xintNeq}%
-\XINT_expr_defbin_b {flexpr}{!=} {v}{vi} {xintNeq}%
-\XINT_expr_defbin_b {iiexpr}{!=} {v}{vi} {xintiiNeq}%
+\XINT_expr_defbin_b {expr} {!=} {v}{vi} {xintNotEq}%
+\XINT_expr_defbin_b {flexpr}{!=} {v}{vi} {xintNotEq}%
+\XINT_expr_defbin_b {iiexpr}{!=} {v}{vi} {xintiiNotEq}%
\XINT_expr_defbin_b {expr} {..} {iii}{vi} {xintSeq::csv}%
\XINT_expr_defbin_b {flexpr}{..} {iii}{vi} {xintSeq::csv}%
\XINT_expr_defbin_b {iiexpr}{..} {iii}{vi} {xintiiSeq::csv}%
@@ -1360,7 +1360,7 @@
}%
\let\XINT_expr_precedence_! \xint_c_x
\def\XINT_expr_op_! #1{\expandafter\XINT_expr_getop
- \csname .=\xintiFac{\XINT_expr_unlock #1}\endcsname }%
+ \csname .=\xintFac{\XINT_expr_unlock #1}\endcsname }%
\def\XINT_flexpr_op_! #1{\expandafter\XINT_expr_getop
\csname .=\XINTinFloatFac{\XINT_expr_unlock #1}\endcsname }%
\def\XINT_iiexpr_op_! #1{\expandafter\XINT_expr_getop
@@ -2062,7 +2062,7 @@
{%
\expandafter #1\expandafter #2\csname .=%
\expandafter\XINT_expr_argandopt
- \romannumeral`&&@\XINT_expr_unlock#3,,.\xintiFac\XINTinFloatFac
+ \romannumeral`&&@\XINT_expr_unlock#3,,.\xintFac\XINTinFloatFac
\endcsname
}%
\def\XINT_flexpr_func_factorial #1#2#3%
@@ -2150,7 +2150,7 @@
\def\XINT_expr_func_binomial #1#2#3%
{%
\expandafter #1\expandafter #2\csname .=%
- \expandafter\expandafter\expandafter\xintiBinomial
+ \expandafter\expandafter\expandafter\xintBinomial
\expandafter\XINT_expr_twoargs
\romannumeral`&&@\XINT_expr_unlock #3,\endcsname
}%
@@ -2171,7 +2171,7 @@
\def\XINT_expr_func_pfactorial #1#2#3%
{%
\expandafter #1\expandafter #2\csname .=%
- \expandafter\expandafter\expandafter\xintiPFactorial
+ \expandafter\expandafter\expandafter\xintPFactorial
\expandafter\XINT_expr_twoargs
\romannumeral`&&@\XINT_expr_unlock #3,\endcsname
}%
@@ -2568,8 +2568,8 @@
\xintFor #1 in
{DivTrunc,Mod,Round,Trunc,iRound,iTrunc,iQuo,iRem,
iiDivTrunc,iiDivRound,iiMod,iiQuo,iiRem,%
- Lt,Gt,Eq,LtorEq,GtorEq,Neq,%
- iiLt,iiGt,iiEq,iiLtorEq,iiGtorEq,iiNeq,%
+ Lt,Gt,Eq,LtorEq,GtorEq,NotEq,%
+ iiLt,iiGt,iiEq,iiLtorEq,iiGtorEq,iiNotEq,%
Add,Sub,Mul,Div,Pow,E,%
iiAdd,iiSub,iiMul,iiPow,iiE,%
AND,OR,XOR,%
@@ -2585,8 +2585,8 @@
}%
\xintFor #1 in {Num,Irr,Abs,iiAbs,Sgn,iiSgn,TFrac,Floor,iFloor,Ceil,iCeil,%
Sqr,iiSqr,iiSqrt,iiSqrtR,iiIsZero,iiIsNotZero,iiifNotZero,iiifSgn,%
- Odd,Even,iiOdd,iiEven,Opp,iiOpp,iiifZero,iFac,iBinomial,%
- iPFactorial,iiFac,iiBinomial,iiPFactorial,Bool,Toggle}\do
+ Odd,Even,iiOdd,iiEven,Opp,iiOpp,iiifZero,Fac,Binomial,%
+ PFactorial,iiFac,iiBinomial,iiPFactorial,Bool,Toggle}\do
{\toks0 \expandafter{\the\toks0%
\expandafter\let\csname xint#1NE\expandafter\endcsname\csname
xint#1\expandafter
diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty
index 7bd7db6272c..4dda12fb0c2 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 1.2n 2017/08/06
+%% The xint bundle 1.2o 2017/08/29
%% Copyright (C) 2013-2017 by Jean-Francois Burnol
%% xintfrac: Expandable operations on fractions
%% ---------------------------------------------------------------
@@ -70,7 +70,31 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintfrac}%
- [2017/08/06 1.2n Expandable operations on fractions (JFB)]%
+ [2017/08/29 1.2o Expandable operations on fractions (JFB)]%
+\def\xintSgn {\romannumeral0\xintsgn }% deprecated from xintcore
+\def\xintCmp {\romannumeral0\xintcmp }% deprecated from xintcore
+\def\xintEq {\romannumeral0\xinteq }% deprecated from xint
+\def\xintNeq #1#2% renamed into \xintNotEq
+ {\romannumeral0\XINT_signaldeprecated{xintfrac}{xintNeq}\xintifeq {#1}{#2}{0}{1}}%
+\def\xintNotEq #1#2{\romannumeral0\xintifeq {#1}{#2}{0}{1}}%
+\def\xintGt {\romannumeral0\xintgt }%
+\def\xintLt {\romannumeral0\xintlt }%
+\def\xintGtorEq #1#2{\romannumeral0\xintiflt {#1}{#2}{0}{1}}%
+\def\xintLtorEq #1#2{\romannumeral0\xintifgt {#1}{#2}{0}{1}}%
+\def\xintIsZero {\romannumeral0\xintiszero }%
+\def\xintIsNotZero{\romannumeral0\xintisnotzero }%
+\def\xintIsOne {\romannumeral0\xintisone }%
+\def\xintOdd {\romannumeral0\xintodd }%
+\def\xintEven {\romannumeral0\xinteven }%
+\def\xintifSgn{\romannumeral0\xintifsgn }%
+\def\xintifCmp{\romannumeral0\xintifcmp }%
+\def\xintifEq {\romannumeral0\xintifeq }%
+\def\xintifGt {\romannumeral0\xintifgt }%
+\def\xintifLt {\romannumeral0\xintiflt }%
+\def\xintifZero {\romannumeral0\xintifzero }%
+\def\xintifNotZero{\romannumeral0\xintifnotzero }%
+\def\xintifOne {\romannumeral0\xintifone }%
+\def\xintifOdd {\romannumeral0\xintifodd }%
\def\XINT_cntSgnFork #1%
{%
\ifcase #1\expandafter\xint_secondofthree
@@ -843,7 +867,6 @@
}%
\def\xintTTrunc {\romannumeral0\xintttrunc }%
\def\xintttrunc {\xintitrunc\xint_c_}%
-\let\xintNum \xintTTrunc
\let\xintnum \xintttrunc
\def\xintRound {\romannumeral0\xintround }%
\def\xintiRound {\romannumeral0\xintiround }%
@@ -1338,17 +1361,31 @@
\expandafter\XINT_fpow_pos_B\expandafter {#3}{#1}{#2}%
}%
\def\XINT_fpow_pos_B #1#2{\XINT_outfrac {#2}{#1}}%
-\def\xintifac #1{\expandafter\XINT_fac_fork\the\numexpr \xintNum{#1}.}%
+\def\xintifac #1{\expandafter\XINT_fac_fork\the\numexpr\xintNum{#1}.}%
+\def\xintFac {\romannumeral0\xintfac}%
+\def\xintfac #1{\expandafter\XINT_fac_fork\the\numexpr\xintNum{#1}.[0]}%
\def\xintibinomial #1#2%
{%
\expandafter\XINT_binom_pre
\the\numexpr\xintNum{#1}\expandafter.\the\numexpr\xintNum{#2}.%
}%
+\def\xintBinomial {\romannumeral0\xintbinomial}%
+\def\xintbinomial #1#2%
+{%
+ \expandafter\XINT_binom_pre
+ \the\numexpr\xintNum{#1}\expandafter.\the\numexpr\xintNum{#2}.[0]%
+}%
\def\xintipfactorial #1#2%
{%
\expandafter\XINT_pfac_fork
\the\numexpr\xintNum{#1}\expandafter.\the\numexpr\xintNum{#2}.%
}%
+\def\xintPFactorial {\romannumeral0\xintpfactorial}%
+\def\xintpfactorial #1#2%
+{%
+ \expandafter\XINT_pfac_fork
+ \the\numexpr\xintNum{#1}\expandafter.\the\numexpr\xintNum{#2}.[0]%
+}%
\def\xintPrd {\romannumeral0\xintprd }%
\def\xintprd #1{\expandafter\XINT_fprdexpr \romannumeral`&&@#1\xint:}%
\def\XINT_fprdexpr {\XINT_fprod_loop_a {1/1[0]}}%
@@ -2263,7 +2300,7 @@
}%
\def\XINT_flpowerh_a #1;%
{%
- \if0\xintiiLDg{#1}\expandafter\XINT_flpowerh_int
+ \if0\xintLDg{#1}\expandafter\XINT_flpowerh_int
\else\expandafter\XINT_flpowerh_b
\fi #1.%
}%
@@ -2280,7 +2317,7 @@
}%
\def\XINT_flpowerh_c #1.%
{%
- \ifodd\xintiiLDg{#1} %<- intentional space
+ \ifodd\xintLDg{#1} %<- intentional space
\expandafter\XINT_flpowerh_d\else\expandafter\XINT_flpowerh_e
\fi #1.%
}%
@@ -2357,7 +2394,7 @@
\def\XINT_flpower_loopI #1.%
{%
\if1\XINT_isOne {#1}\xint_dothis\XINT_flpower_ItoIII\fi
- \ifodd\xintiiLDg{#1} %<- intentional space
+ \ifodd\xintLDg{#1} %<- intentional space
\xint_dothis{\expandafter\XINT_flpower_loopI_odd}\fi
\xint_orthat{\expandafter\XINT_flpower_loopI_even}%
\romannumeral0\XINT_half
@@ -2386,7 +2423,7 @@
\def\XINT_flpower_loopII #1.%
{%
\if1\XINT_isOne{#1}\xint_dothis\XINT_flpower_IItoIII\fi
- \ifodd\xintiiLDg{#1} %<- intentional space
+ \ifodd\xintLDg{#1} %<- intentional space
\xint_dothis{\expandafter\XINT_flpower_loopII_odd}\fi
\xint_orthat{\expandafter\XINT_flpower_loopII_even}%
\romannumeral0\XINT_half#1\xint_bye\xint_Bye345678\xint_bye
@@ -3025,6 +3062,17 @@
{\romannumeral0\XINTinfloat[#1]{#3}}{#1}}%
\def\XINT_infloatmod #1#2{\expandafter\XINT_infloatmod_a\expandafter {#2}{#1}}%
\def\XINT_infloatmod_a #1#2#3{\XINTinfloat [#3]{\xintMod {#2}{#1}}}%
+\ifdefined\documentclass\ifdefined\AtEndDocument
+ \AtEndDocument{%
+\XINT_ifFlagRaised{Deprecated-xintfrac}%
+ {\PackageError{xintfrac}
+{Usage of deprecated macros!}
+{This deprecated macro from xintfrac.sty has been detected:\MessageBreak
+\string\xintNeq\space(use \string\xintNotEq\space or xint's \string\xintiiNotEq!)\MessageBreak
+It will get removed at some future release.}}%
+ {% no deprecated macro used (at top level...)
+ }%
+}\fi\fi
\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 9c58b540367..981520a4909 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 1.2n 2017/08/06
+%% The xint bundle 1.2o 2017/08/29
%% Copyright (C) 2013-2017 by Jean-Francois Burnol
%% xintgcd: Euclidean algorithm with xint package
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintgcd}%
- [2017/08/06 1.2n Euclide algorithm with xint package (JFB)]%
+ [2017/08/29 1.2o Euclide algorithm with xint package (JFB)]%
\def\xintGCD {\romannumeral0\xintgcd }%
\def\xintgcd #1%
{%
diff --git a/Master/texmf-dist/tex/generic/xint/xintkernel.sty b/Master/texmf-dist/tex/generic/xint/xintkernel.sty
index b74070c1f66..2a9707aab89 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 1.2n 2017/08/06
+%% The xint bundle 1.2o 2017/08/29
%% Copyright (C) 2013-2017 by Jean-Francois Burnol
%% xintkernel: Paraphernalia for the xint packages
%% ---------------------------------------------------------------
@@ -156,7 +156,7 @@
\fi
\XINT_providespackage
\ProvidesPackage {xintkernel}%
- [2017/08/06 1.2n Paraphernalia for the xint packages (JFB)]%
+ [2017/08/29 1.2o Paraphernalia for the xint packages (JFB)]%
\chardef\xint_c_ 0
\chardef\xint_c_i 1
\chardef\xint_c_ii 2
diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty
index 9e2716e98ba..7adc2b328da 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 1.2n 2017/08/06
+%% The xint bundle 1.2o 2017/08/29
%% Copyright (C) 2013-2017 by Jean-Francois Burnol
%% xintseries: Expandable partial sums with xint package
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintseries}%
- [2017/08/06 1.2n Expandable partial sums with xint package (JFB)]%
+ [2017/08/29 1.2o 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 c1729296949..2c522f602f7 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 1.2n 2017/08/06
+%% The xint bundle 1.2o 2017/08/29
%% Copyright (C) 2013-2017 by Jean-Francois Burnol
%% xinttools: Expandable and non-expandable utilities
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xinttools}%
- [2017/08/06 1.2n Expandable and non-expandable utilities (JFB)]%
+ [2017/08/29 1.2o Expandable and non-expandable utilities (JFB)]%
\newtoks\XINT_toks
\xint_firstofone{\let\XINT_sptoken= } %<- space here!
\def\xintgodef {\global\xintodef }%