summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xint/xint.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/xint/xint.sty')
-rw-r--r--Master/texmf-dist/tex/generic/xint/xint.sty1000
1 files changed, 521 insertions, 479 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
%%