summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xint
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-10-20 21:19:41 +0000
committerKarl Berry <karl@freefriends.org>2015-10-20 21:19:41 +0000
commitc0fd6688c3703e0e3835fea389bccdf0fc0e6902 (patch)
treecf3c9c4ab195d5cab18184a06fa70fe7c4f8073c /Master/texmf-dist/tex/generic/xint
parentcf6885a752177d109d39e62098ee48cb8745580a (diff)
xint (20oct15)
git-svn-id: svn://tug.org/texlive/trunk@38680 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xint')
-rw-r--r--Master/texmf-dist/tex/generic/xint/xint.sty86
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintbinhex.sty30
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcfrac.sty68
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcore.sty64
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintexpr.sty402
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintfrac.sty40
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintgcd.sty16
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintkernel.sty32
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintseries.sty12
-rw-r--r--Master/texmf-dist/tex/generic/xint/xinttools.sty160
10 files changed, 528 insertions, 382 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty
index b06c32ff687..757e72728b6 100644
--- a/Master/texmf-dist/tex/generic/xint/xint.sty
+++ b/Master/texmf-dist/tex/generic/xint/xint.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.2 2015/10/10
+%% The xint bundle v1.2a 2015/10/19
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xint: Expandable operations on big integers
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty (loaded by xintcore.sty)
\XINT_providespackage
\ProvidesPackage{xint}%
- [2015/10/10 v1.2 Expandable operations on big integers (jfB)]%
+ [2015/10/19 v1.2a 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}%
@@ -90,7 +90,7 @@
\fi
}%
\def\xintiiIsOne {\romannumeral0\xintiiisone }%
-\def\xintiiisone #1{\expandafter\XINT_isone\romannumeral-`0#1\W\Z }%
+\def\xintiiisone #1{\expandafter\XINT_isone\romannumeral`&&@#1\W\Z }%
\def\xintIsOne {\romannumeral0\xintisone }%
\def\xintisone #1{\expandafter\XINT_isone\romannumeral0\xintnum{#1}\W\Z }%
\def\XINT_isOne #1{\romannumeral0\XINT_isone #1\W\Z }%
@@ -127,9 +127,9 @@
-{0.#1}%
\krof
}%
-\def\xintBool #1{\romannumeral-`0%
+\def\xintBool #1{\romannumeral`&&@%
\csname if#1\endcsname\expandafter1\else\expandafter0\fi }%
-\def\xintToggle #1{\romannumeral-`0\iftoggle{#1}{1}{0}}%
+\def\xintToggle #1{\romannumeral`&&@\iftoggle{#1}{1}{0}}%
\def\xintifSgn {\romannumeral0\xintifsgn }%
\def\xintifsgn #1%
{%
@@ -293,10 +293,10 @@
\def\xintCmp {\romannumeral0\xintcmp }%
\def\xintcmp #1{\expandafter\XINT_icmp\romannumeral0\xintnum{#1}\Z }%
\def\xintiiCmp {\romannumeral0\xintiicmp }%
-\def\xintiicmp #1{\expandafter\XINT_iicmp\romannumeral-`0#1\Z }%
+\def\xintiicmp #1{\expandafter\XINT_iicmp\romannumeral`&&@#1\Z }%
\def\XINT_iicmp #1#2\Z #3%
{%
- \expandafter\XINT_cmp_nfork\expandafter #1\romannumeral-`0#3\Z #2\Z
+ \expandafter\XINT_cmp_nfork\expandafter #1\romannumeral`&&@#3\Z #2\Z
}%
\let\XINT_Cmp \xintiiCmp
\def\XINT_icmp #1#2\Z #3%
@@ -496,8 +496,8 @@
\def\xintxor #1#2{\if\xintIsZero{#1}\xintIsZero{#2}%
\xint_afterfi{ 0}\else\xint_afterfi{ 1}\fi }%
\def\xintANDof {\romannumeral0\xintandof }%
-\def\xintandof #1{\expandafter\XINT_andof_a\romannumeral-`0#1\relax }%
-\def\XINT_andof_a #1{\expandafter\XINT_andof_b\romannumeral-`0#1\Z }%
+\def\xintandof #1{\expandafter\XINT_andof_a\romannumeral`&&@#1\relax }%
+\def\XINT_andof_a #1{\expandafter\XINT_andof_b\romannumeral`&&@#1\Z }%
\def\XINT_andof_b #1%
{\xint_gob_til_relax #1\XINT_andof_e\relax\XINT_andof_c #1}%
\def\XINT_andof_c #1\Z
@@ -505,8 +505,8 @@
\def\XINT_andof_no #1\relax { 0}%
\def\XINT_andof_e #1\Z { 1}%
\def\xintORof {\romannumeral0\xintorof }%
-\def\xintorof #1{\expandafter\XINT_orof_a\romannumeral-`0#1\relax }%
-\def\XINT_orof_a #1{\expandafter\XINT_orof_b\romannumeral-`0#1\Z }%
+\def\xintorof #1{\expandafter\XINT_orof_a\romannumeral`&&@#1\relax }%
+\def\XINT_orof_a #1{\expandafter\XINT_orof_b\romannumeral`&&@#1\Z }%
\def\XINT_orof_b #1%
{\xint_gob_til_relax #1\XINT_orof_e\relax\XINT_orof_c #1}%
\def\XINT_orof_c #1\Z
@@ -515,8 +515,8 @@
\def\XINT_orof_e #1\Z { 0}%
\def\xintXORof {\romannumeral0\xintxorof }%
\def\xintxorof #1{\expandafter\XINT_xorof_a\expandafter
- 0\romannumeral-`0#1\relax }%
-\def\XINT_xorof_a #1#2{\expandafter\XINT_xorof_b\romannumeral-`0#2\Z #1}%
+ 0\romannumeral`&&@#1\relax }%
+\def\XINT_xorof_a #1#2{\expandafter\XINT_xorof_b\romannumeral`&&@#2\Z #1}%
\def\XINT_xorof_b #1%
{\xint_gob_til_relax #1\XINT_xorof_e\relax\XINT_xorof_c #1}%
\def\XINT_xorof_c #1\Z #2%
@@ -528,10 +528,10 @@
\def\xintGeq {\romannumeral0\xintgeq }%
\def\xintgeq #1{\expandafter\XINT_geq\romannumeral0\xintnum{#1}\Z }%
\def\xintiiGeq {\romannumeral0\xintiigeq }%
-\def\xintiigeq #1{\expandafter\XINT_iigeq\romannumeral-`0#1\Z }%
+\def\xintiigeq #1{\expandafter\XINT_iigeq\romannumeral`&&@#1\Z }%
\def\XINT_iigeq #1#2\Z #3%
{%
- \expandafter\XINT_geq_fork\expandafter #1\romannumeral-`0#3\Z #2\Z
+ \expandafter\XINT_geq_fork\expandafter #1\romannumeral`&&@#3\Z #2\Z
}%
\let\XINT_geq_pre \xintiigeq % TEMPORAIRE
\let\XINT_Geq \xintGeq % TEMPORAIRE ATTENTION FAIT xintNum
@@ -685,11 +685,11 @@
\def\xintiiMax {\romannumeral0\xintiimax }%
\def\xintiimax #1%
{%
- \expandafter\xint_iimax\expandafter {\romannumeral-`0#1}%
+ \expandafter\xint_iimax\expandafter {\romannumeral`&&@#1}%
}%
\def\xint_iimax #1#2%
{%
- \expandafter\XINT_max_pre\expandafter {\romannumeral-`0#2}{#1}%
+ \expandafter\XINT_max_pre\expandafter {\romannumeral`&&@#2}{#1}%
}%
\def\XINT_max_pre #1#2{\XINT_max_fork #1\Z #2\Z {#2}{#1}}%
\def\XINT_Max #1#2{\romannumeral0\XINT_max_fork #2\Z #1\Z {#1}{#2}}%
@@ -730,15 +730,25 @@
\fi
}%
\def\xintiMaxof {\romannumeral0\xintimaxof }%
-\def\xintimaxof #1{\expandafter\XINT_imaxof_a\romannumeral-`0#1\relax }%
+\def\xintimaxof #1{\expandafter\XINT_imaxof_a\romannumeral`&&@#1\relax }%
\def\XINT_imaxof_a #1{\expandafter\XINT_imaxof_b\romannumeral0\xintnum{#1}\Z }%
\def\XINT_imaxof_b #1\Z #2%
- {\expandafter\XINT_imaxof_c\romannumeral-`0#2\Z {#1}\Z}%
+ {\expandafter\XINT_imaxof_c\romannumeral`&&@#2\Z {#1}\Z}%
\def\XINT_imaxof_c #1%
{\xint_gob_til_relax #1\XINT_imaxof_e\relax\XINT_imaxof_d #1}%
\def\XINT_imaxof_d #1\Z
{\expandafter\XINT_imaxof_b\romannumeral0\xintimax {#1}}%
\def\XINT_imaxof_e #1\Z #2\Z { #2}%
+\def\xintiiMaxof {\romannumeral0\xintiimaxof }%
+\def\xintiimaxof #1{\expandafter\XINT_iimaxof_a\romannumeral`&&@#1\relax }%
+\def\XINT_iimaxof_a #1{\expandafter\XINT_iimaxof_b\romannumeral`&&@#1\Z }%
+\def\XINT_iimaxof_b #1\Z #2%
+ {\expandafter\XINT_iimaxof_c\romannumeral`&&@#2\Z {#1}\Z}%
+\def\XINT_iimaxof_c #1%
+ {\xint_gob_til_relax #1\XINT_iimaxof_e\relax\XINT_iimaxof_d #1}%
+\def\XINT_iimaxof_d #1\Z
+ {\expandafter\XINT_iimaxof_b\romannumeral0\xintiimax {#1}}%
+\def\XINT_iimaxof_e #1\Z #2\Z { #2}%
\def\xintiMin {\romannumeral0\xintimin }%
\def\xintimin #1%
{%
@@ -751,11 +761,11 @@
\def\xintiiMin {\romannumeral0\xintiimin }%
\def\xintiimin #1%
{%
- \expandafter\xint_iimin\expandafter {\romannumeral-`0#1}%
+ \expandafter\xint_iimin\expandafter {\romannumeral`&&@#1}%
}%
\def\xint_iimin #1#2%
{%
- \expandafter\XINT_min_pre\expandafter {\romannumeral-`0#2}{#1}%
+ \expandafter\XINT_min_pre\expandafter {\romannumeral`&&@#2}{#1}%
}%
\def\XINT_min_pre #1#2{\XINT_min_fork #1\Z #2\Z {#2}{#1}}%
\def\XINT_Min #1#2{\romannumeral0\XINT_min_fork #2\Z #1\Z {#1}{#2}}%
@@ -796,22 +806,32 @@
\fi
}%
\def\xintiMinof {\romannumeral0\xintiminof }%
-\def\xintiminof #1{\expandafter\XINT_iminof_a\romannumeral-`0#1\relax }%
+\def\xintiminof #1{\expandafter\XINT_iminof_a\romannumeral`&&@#1\relax }%
\def\XINT_iminof_a #1{\expandafter\XINT_iminof_b\romannumeral0\xintnum{#1}\Z }%
\def\XINT_iminof_b #1\Z #2%
- {\expandafter\XINT_iminof_c\romannumeral-`0#2\Z {#1}\Z}%
+ {\expandafter\XINT_iminof_c\romannumeral`&&@#2\Z {#1}\Z}%
\def\XINT_iminof_c #1%
{\xint_gob_til_relax #1\XINT_iminof_e\relax\XINT_iminof_d #1}%
\def\XINT_iminof_d #1\Z
{\expandafter\XINT_iminof_b\romannumeral0\xintimin {#1}}%
\def\XINT_iminof_e #1\Z #2\Z { #2}%
+\def\xintiiMinof {\romannumeral0\xintiiminof }%
+\def\xintiiminof #1{\expandafter\XINT_iiminof_a\romannumeral`&&@#1\relax }%
+\def\XINT_iiminof_a #1{\expandafter\XINT_iiminof_b\romannumeral`&&@#1\Z }%
+\def\XINT_iiminof_b #1\Z #2%
+ {\expandafter\XINT_iiminof_c\romannumeral`&&@#2\Z {#1}\Z}%
+\def\XINT_iiminof_c #1%
+ {\xint_gob_til_relax #1\XINT_iiminof_e\relax\XINT_iiminof_d #1}%
+\def\XINT_iiminof_d #1\Z
+ {\expandafter\XINT_iiminof_b\romannumeral0\xintiimin {#1}}%
+\def\XINT_iiminof_e #1\Z #2\Z { #2}%
\def\xintiiSum {\romannumeral0\xintiisum }%
\def\xintiisum #1{\xintiisumexpr #1\relax }%
\def\xintiiSumExpr {\romannumeral0\xintiisumexpr }%
-\def\xintiisumexpr {\expandafter\XINT_sumexpr\romannumeral-`0}%
+\def\xintiisumexpr {\expandafter\XINT_sumexpr\romannumeral`&&@}%
\def\XINT_sumexpr {\XINT_sum_loop_a 0\Z }%
\def\XINT_sum_loop_a #1\Z #2%
- {\expandafter\XINT_sum_loop_b \romannumeral-`0#2\Z #1\Z \Z}%
+ {\expandafter\XINT_sum_loop_b \romannumeral`&&@#2\Z #1\Z \Z}%
\def\XINT_sum_loop_b #1%
{\xint_gob_til_relax #1\XINT_sum_finished\relax\XINT_sum_loop_c #1}%
\def\XINT_sum_loop_c
@@ -820,10 +840,10 @@
\def\xintiiPrd {\romannumeral0\xintiiprd }%
\def\xintiiprd #1{\xintiiprdexpr #1\relax }%
\def\xintiiPrdExpr {\romannumeral0\xintiiprdexpr }%
-\def\xintiiprdexpr {\expandafter\XINT_prdexpr\romannumeral-`0}%
+\def\xintiiprdexpr {\expandafter\XINT_prdexpr\romannumeral`&&@}%
\def\XINT_prdexpr {\XINT_prod_loop_a 1\Z }%
\def\XINT_prod_loop_a #1\Z #2%
- {\expandafter\XINT_prod_loop_b \romannumeral-`0#2\Z #1\Z \Z}%
+ {\expandafter\XINT_prod_loop_b \romannumeral`&&@#2\Z #1\Z \Z}%
\def\XINT_prod_loop_b #1%
{\xint_gob_til_relax #1\XINT_prod_finished\relax\XINT_prod_loop_c #1}%
\def\XINT_prod_loop_c
@@ -904,7 +924,7 @@
\def\xintDSL {\romannumeral0\xintdsl }%
\def\xintdsl #1%
{%
- \expandafter\XINT_dsl \romannumeral-`0#1\Z
+ \expandafter\XINT_dsl \romannumeral`&&@#1\Z
}%
\def\XINT_DSL #1{\romannumeral0\XINT_dsl #1\Z }%
\def\XINT_dsl #1%
@@ -916,7 +936,7 @@
\def\xintDSR {\romannumeral0\xintdsr }%
\def\xintdsr #1%
{%
- \expandafter\XINT_dsr_a\expandafter {\romannumeral-`0#1}\W\Z
+ \expandafter\XINT_dsr_a\expandafter {\romannumeral`&&@#1}\W\Z
}%
\def\XINT_DSR #1{\romannumeral0\XINT_dsr_a {#1}\W\Z }%
\def\XINT_dsr_a
@@ -953,7 +973,7 @@
\def\xintDSH {\romannumeral0\xintdsh }%
\def\xintdsh #1#2%
{%
- \expandafter\xint_dsh\expandafter {\romannumeral-`0#2}{#1}%
+ \expandafter\xint_dsh\expandafter {\romannumeral`&&@#2}{#1}%
}%
\def\xint_dsh #1#2%
{%
@@ -976,7 +996,7 @@
\def\xintDSx {\romannumeral0\xintdsx }%
\def\xintdsx #1#2%
{%
- \expandafter\xint_dsx\expandafter {\romannumeral-`0#2}{#1}%
+ \expandafter\xint_dsx\expandafter {\romannumeral`&&@#2}{#1}%
}%
\def\xint_dsx #1#2%
{%
@@ -1251,7 +1271,7 @@
\def\XINT_sqrtr_post #1#2{\xintiiifLt {#2}{#1}{ #1}{\XINT_dec_pos #1\Z}}%
\def\xintisquareroot #1%
{\expandafter\XINT_sqrt_checkin\romannumeral0\xintnum{#1}\Z }%
-\def\xintiisquareroot #1{\expandafter\XINT_sqrt_checkin\romannumeral-`0#1\Z }%
+\def\xintiisquareroot #1{\expandafter\XINT_sqrt_checkin\romannumeral`&&@#1\Z }%
\def\XINT_sqrt_checkin #1%
{%
\xint_UDzerominusfork
@@ -1419,7 +1439,7 @@
\def\XINT_sqrt_big_end #1#2#3#4{ {#3}{#2}}%
\def\xintiiE {\romannumeral0\xintiie }% used in \xintMod.
\def\xintiie #1#2%
- {\expandafter\XINT_iie\the\numexpr #2\expandafter.\expandafter{\romannumeral-`0#1}}%
+ {\expandafter\XINT_iie\the\numexpr #2\expandafter.\expandafter{\romannumeral`&&@#1}}%
\def\XINT_iie #1.#2{\ifnum#1>\xint_c_ \xint_dothis{\xint_dsh {#2}{-#1}}\fi
\xint_orthat{ #2}}%
\catcode`! 11
diff --git a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty
index 1fb50a91f74..1bcfb127830 100644
--- a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.2 2015/10/10
+%% The xint bundle v1.2a 2015/10/19
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintbinhex: Expandable binary and hexadecimal conversions
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintbinhex}%
- [2015/10/10 v1.2 Expandable binary and hexadecimal conversions (jfB)]%
+ [2015/10/19 v1.2a 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
\newcount\xint_c_x^v \xint_c_x^v 100000
@@ -198,7 +198,7 @@
\def\XINT_OQ_end_i \Z #1#2#3#4#5#6#7#8\Z { #1#2#3#4#5#6#7#80}%
\def\xintDecToHex {\romannumeral0\xintdectohex }%
\def\xintdectohex #1%
- {\expandafter\XINT_dth_checkin\romannumeral-`0#1\W\W\W\W \T}%
+ {\expandafter\XINT_dth_checkin\romannumeral`&&@#1\W\W\W\W \T}%
\def\XINT_dth_checkin #1%
{%
\xint_UDsignfork
@@ -207,10 +207,10 @@
\krof
}%
\def\XINT_dth_N {\expandafter\xint_minus_thenstop\romannumeral0\XINT_dth_P }%
-\def\XINT_dth_P {\expandafter\XINT_dth_III\romannumeral-`0\XINT_dtbh_I {0.}}%
+\def\XINT_dth_P {\expandafter\XINT_dth_III\romannumeral`&&@\XINT_dtbh_I {0.}}%
\def\xintDecToBin {\romannumeral0\xintdectobin }%
\def\xintdectobin #1%
- {\expandafter\XINT_dtb_checkin\romannumeral-`0#1\W\W\W\W \T }%
+ {\expandafter\XINT_dtb_checkin\romannumeral`&&@#1\W\W\W\W \T }%
\def\XINT_dtb_checkin #1%
{%
\xint_UDsignfork
@@ -219,7 +219,7 @@
\krof
}%
\def\XINT_dtb_N {\expandafter\xint_minus_thenstop\romannumeral0\XINT_dtb_P }%
-\def\XINT_dtb_P {\expandafter\XINT_dtb_III\romannumeral-`0\XINT_dtbh_I {0.}}%
+\def\XINT_dtb_P {\expandafter\XINT_dtb_III\romannumeral`&&@\XINT_dtbh_I {0.}}%
\def\XINT_dtbh_I #1#2#3#4#5%
{%
\xint_gob_til_W #5\XINT_dtbh_II_a\W\XINT_dtbh_I_a {}{#2#3#4#5}#1\Z.%
@@ -292,13 +292,13 @@
{%
\xint_gob_til_Z #2\XINT_dth_end\Z
\expandafter\XINT_dth_III\expandafter
- {\romannumeral-`0\XINT_dth_small #2.#1}%
+ {\romannumeral`&&@\XINT_dth_small #2.#1}%
}%
\def\XINT_dth_small #1.%
{%
\expandafter\XINT_smallhex\expandafter
{\the\numexpr (#1+\xint_c_ii^vii)/\xint_c_ii^viii-\xint_c_i\expandafter}%
- \romannumeral-`0\expandafter\XINT_smallhex\expandafter
+ \romannumeral`&&@\expandafter\XINT_smallhex\expandafter
{\the\numexpr
#1-((#1+\xint_c_ii^vii)/\xint_c_ii^viii-\xint_c_i)*\xint_c_ii^viii}%
}%
@@ -321,13 +321,13 @@
{%
\xint_gob_til_Z #2\XINT_dtb_end\Z
\expandafter\XINT_dtb_III\expandafter
- {\romannumeral-`0\XINT_dtb_small #2.#1}%
+ {\romannumeral`&&@\XINT_dtb_small #2.#1}%
}%
\def\XINT_dtb_small #1.%
{%
\expandafter\XINT_smallbin\expandafter
{\the\numexpr (#1+\xint_c_ii^vii)/\xint_c_ii^viii-\xint_c_i\expandafter}%
- \romannumeral-`0\expandafter\XINT_smallbin\expandafter
+ \romannumeral`&&@\expandafter\XINT_smallbin\expandafter
{\the\numexpr
#1-((#1+\xint_c_ii^vii)/\xint_c_ii^viii-\xint_c_i)*\xint_c_ii^viii}%
}%
@@ -346,7 +346,7 @@
}%
\def\xintHexToDec {\romannumeral0\xinthextodec }%
\def\xinthextodec #1%
- {\expandafter\XINT_htd_checkin\romannumeral-`0#1\W\W\W\W \T }%
+ {\expandafter\XINT_htd_checkin\romannumeral`&&@#1\W\W\W\W \T }%
\def\XINT_htd_checkin #1%
{%
\xint_UDsignfork
@@ -430,7 +430,7 @@
}%
\def\xintBinToDec {\romannumeral0\xintbintodec }%
\def\xintbintodec #1{\expandafter\XINT_btd_checkin
- \romannumeral-`0#1\W\W\W\W\W\W\W\W \T }%
+ \romannumeral`&&@#1\W\W\W\W\W\W\W\W \T }%
\def\XINT_btd_checkin #1%
{%
\xint_UDsignfork
@@ -538,7 +538,7 @@
{%
\expandafter\XINT_bth_checkin
\romannumeral0\expandafter\XINT_num_loop
- \romannumeral-`0#1\xint_relax\xint_relax
+ \romannumeral`&&@#1\xint_relax\xint_relax
\xint_relax\xint_relax
\xint_relax\xint_relax\xint_relax\xint_relax\Z
\R\R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W\W
@@ -575,7 +575,7 @@
\def\xintHexToBin {\romannumeral0\xinthextobin }%
\def\xinthextobin #1%
{%
- \expandafter\XINT_htb_checkin\romannumeral-`0#1GGGGGGGG\T
+ \expandafter\XINT_htb_checkin\romannumeral`&&@#1GGGGGGGG\T
}%
\def\XINT_htb_checkin #1%
{%
@@ -615,7 +615,7 @@
\def\xintCHexToBin {\romannumeral0\xintchextobin }%
\def\xintchextobin #1%
{%
- \expandafter\XINT_chtb_checkin\romannumeral-`0#1%
+ \expandafter\XINT_chtb_checkin\romannumeral`&&@#1%
\R\R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W\W
}%
\def\XINT_chtb_checkin #1%
diff --git a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
index 4a1656c4cb0..a2495c33681 100644
--- a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.2 2015/10/10
+%% The xint bundle v1.2a 2015/10/19
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintcfrac: Expandable continued fractions with xint package
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintcfrac}%
- [2015/10/10 v1.2 Expandable continued fractions with xint package (jfB)]%
+ [2015/10/19 v1.2a Expandable continued fractions with xint package (jfB)]%
\def\xintCFrac {\romannumeral0\xintcfrac }%
\def\xintcfrac #1%
{%
@@ -173,7 +173,7 @@
}%
\def\XINT_gcfrac
{%
- \expandafter\XINT_gcfrac_enter\romannumeral-`0%
+ \expandafter\XINT_gcfrac_enter\romannumeral`&&@%
}%
\def\XINT_gcfrac_enter {\XINT_gcfrac_loop {}}%
\def\XINT_gcfrac_loop #1#2+#3/%
@@ -227,7 +227,7 @@
}%
\def\XINT_ggcfrac
{%
- \expandafter\XINT_ggcfrac_enter\romannumeral-`0%
+ \expandafter\XINT_ggcfrac_enter\romannumeral`&&@%
}%
\def\XINT_ggcfrac_enter {\XINT_ggcfrac_loop {}}%
\def\XINT_ggcfrac_loop #1#2+#3/%
@@ -253,7 +253,7 @@
\def\xintGCtoGCx {\romannumeral0\xintgctogcx }%
\def\xintgctogcx #1#2#3%
{%
- \expandafter\XINT_gctgcx_start\expandafter {\romannumeral-`0#3}{#1}{#2}%
+ \expandafter\XINT_gctgcx_start\expandafter {\romannumeral`&&@#3}{#1}{#2}%
}%
\def\XINT_gctgcx_start #1#2#3{\XINT_gctgcx_loop_a {}{#2}{#3}#1+\xint_relax/}%
\def\XINT_gctgcx_loop_a #1#2#3#4+#5/%
@@ -466,7 +466,7 @@
\def\xintCtoF {\romannumeral0\xintctof }%
\def\xintctof #1%
{%
- \expandafter\XINT_ctf_prep \romannumeral-`0#1\xint_relax
+ \expandafter\XINT_ctf_prep \romannumeral`&&@#1\xint_relax
}%
\def\XINT_ctf_prep
{%
@@ -502,7 +502,7 @@
\def\xintiCstoF {\romannumeral0\xinticstof }%
\def\xinticstof #1%
{%
- \expandafter\XINT_icstf_prep \romannumeral-`0#1,\xint_relax,%
+ \expandafter\XINT_icstf_prep \romannumeral`&&@#1,\xint_relax,%
}%
\def\XINT_icstf_prep
{%
@@ -512,7 +512,7 @@
{%
\xint_gob_til_xint_relax #5\XINT_icstf_end\xint_relax
\expandafter
- \XINT_icstf_loop_b \romannumeral-`0#5.{#1}{#2}{#3}{#4}%
+ \XINT_icstf_loop_b \romannumeral`&&@#5.{#1}{#2}{#3}{#4}%
}%
\def\XINT_icstf_loop_b #1.#2#3#4#5%
{%
@@ -529,7 +529,7 @@
\def\xintGCtoF {\romannumeral0\xintgctof }%
\def\xintgctof #1%
{%
- \expandafter\XINT_gctf_prep \romannumeral-`0#1+\xint_relax/%
+ \expandafter\XINT_gctf_prep \romannumeral`&&@#1+\xint_relax/%
}%
\def\XINT_gctf_prep
{%
@@ -590,7 +590,7 @@
\def\xintiGCtoF {\romannumeral0\xintigctof }%
\def\xintigctof #1%
{%
- \expandafter\XINT_igctf_prep \romannumeral-`0#1+\xint_relax/%
+ \expandafter\XINT_igctf_prep \romannumeral`&&@#1+\xint_relax/%
}%
\def\XINT_igctf_prep
{%
@@ -599,7 +599,7 @@
\def\XINT_igctf_loop_a #1#2#3#4#5+%
{%
\expandafter\XINT_igctf_loop_b
- \romannumeral-`0#5.{#1}{#2}{#3}{#4}%
+ \romannumeral`&&@#5.{#1}{#2}{#3}{#4}%
}%
\def\XINT_igctf_loop_b #1.#2#3#4#5%
{%
@@ -616,7 +616,7 @@
{%
\xint_gob_til_xint_relax #4\XINT_igctf_end\xint_relax
\expandafter\XINT_igctf_loop_g
- \romannumeral-`0#4.{#2}{#3}#1%
+ \romannumeral`&&@#4.{#2}{#3}#1%
}%
\def\XINT_igctf_loop_g #1.#2#3%
{%
@@ -641,7 +641,7 @@
\def\xintCtoCv {\romannumeral0\xintctocv }%
\def\xintctocv #1%
{%
- \expandafter\XINT_ctcv_prep\romannumeral-`0#1\xint_relax
+ \expandafter\XINT_ctcv_prep\romannumeral`&&@#1\xint_relax
}%
\def\XINT_ctcv_prep
{%
@@ -683,7 +683,7 @@
\def\xintiCstoCv {\romannumeral0\xinticstocv }%
\def\xinticstocv #1%
{%
- \expandafter\XINT_icstcv_prep \romannumeral-`0#1,\xint_relax,%
+ \expandafter\XINT_icstcv_prep \romannumeral`&&@#1,\xint_relax,%
}%
\def\XINT_icstcv_prep
{%
@@ -693,7 +693,7 @@
{%
\xint_gob_til_xint_relax #6\XINT_icstcv_end\xint_relax
\expandafter
- \XINT_icstcv_loop_b \romannumeral-`0#6.{#2}{#3}{#4}{#5}{#1}%
+ \XINT_icstcv_loop_b \romannumeral`&&@#6.{#2}{#3}{#4}{#5}{#1}%
}%
\def\XINT_icstcv_loop_b #1.#2#3#4#5%
{%
@@ -716,7 +716,7 @@
\def\xintGCtoCv {\romannumeral0\xintgctocv }%
\def\xintgctocv #1%
{%
- \expandafter\XINT_gctcv_prep \romannumeral-`0#1+\xint_relax/%
+ \expandafter\XINT_gctcv_prep \romannumeral`&&@#1+\xint_relax/%
}%
\def\XINT_gctcv_prep
{%
@@ -787,7 +787,7 @@
\def\xintiGCtoCv {\romannumeral0\xintigctocv }%
\def\xintigctocv #1%
{%
- \expandafter\XINT_igctcv_prep \romannumeral-`0#1+\xint_relax/%
+ \expandafter\XINT_igctcv_prep \romannumeral`&&@#1+\xint_relax/%
}%
\def\XINT_igctcv_prep
{%
@@ -796,7 +796,7 @@
\def\XINT_igctcv_loop_a #1#2#3#4#5#6+%
{%
\expandafter\XINT_igctcv_loop_b
- \romannumeral-`0#6.{#2}{#3}{#4}{#5}{#1}%
+ \romannumeral`&&@#6.{#2}{#3}{#4}{#5}{#1}%
}%
\def\XINT_igctcv_loop_b #1.#2#3#4#5%
{%
@@ -813,7 +813,7 @@
{%
\xint_gob_til_xint_relax #4\XINT_igctcv_end_a\xint_relax
\expandafter\XINT_igctcv_loop_g
- \romannumeral-`0#4.#1#2{#3}%
+ \romannumeral`&&@#4.#1#2{#3}%
}%
\def\XINT_igctcv_loop_g #1.#2#3#4#5%
{%
@@ -859,11 +859,11 @@
\ifnum #1>\xint_c_
\xint_afterfi {\expandafter\XINT_cntf_loop\expandafter
{\the\numexpr #1-1\expandafter}\expandafter
- {\romannumeral-`0#2{#1}}{#2}}%
+ {\romannumeral`&&@#2{#1}}{#2}}%
\else
\xint_afterfi
{\ifnum #1=\xint_c_
- \xint_afterfi {\expandafter\space \romannumeral-`0#2{0}}%
+ \xint_afterfi {\expandafter\space \romannumeral`&&@#2{0}}%
\else \xint_afterfi { }% 1.09m now returns nothing.
\fi}%
\fi
@@ -892,11 +892,11 @@
\ifnum #1>\xint_c_
\xint_afterfi {\expandafter\XINT_gcntf_loop\expandafter
{\the\numexpr #1-1\expandafter}\expandafter
- {\romannumeral-`0#2{#1}}{#2}{#3}}%
+ {\romannumeral`&&@#2{#1}}{#2}{#3}}%
\else
\xint_afterfi
{\ifnum #1=\xint_c_
- \xint_afterfi {\expandafter\space\romannumeral-`0#2{0}}%
+ \xint_afterfi {\expandafter\space\romannumeral`&&@#2{0}}%
\else \xint_afterfi { }% 1.09m now returns nothing rather than 0/1[0]
\fi}%
\fi
@@ -927,7 +927,7 @@
\else
\xint_afterfi {\expandafter\XINT_cntcs_loop\expandafter
{\the\numexpr #1-\xint_c_i\expandafter}\expandafter
- {\romannumeral-`0#2{#1}}{#2}}% produced coeff not braced
+ {\romannumeral`&&@#2{#1}}{#2}}% produced coeff not braced
\fi
}%
\def\XINT_cntcs_loop #1#2#3%
@@ -935,7 +935,7 @@
\ifnum #1>-\xint_c_i \else \XINT_cntcs_exit \fi
\expandafter\XINT_cntcs_loop\expandafter
{\the\numexpr #1-\xint_c_i\expandafter}\expandafter
- {\romannumeral-`0#3{#1}, #2}{#3}% space added, 1.09m
+ {\romannumeral`&&@#3{#1}, #2}{#3}% space added, 1.09m
}%
\def\XINT_cntcs_exit \fi
\expandafter\XINT_cntcs_loop\expandafter
@@ -956,7 +956,7 @@
\else
\xint_afterfi {\expandafter\XINT_cntgc_loop\expandafter
{\the\numexpr #1-\xint_c_i\expandafter}\expandafter
- {\expandafter{\romannumeral-`0#2{#1}}}{#2}}%
+ {\expandafter{\romannumeral`&&@#2{#1}}}{#2}}%
\fi
}%
\def\XINT_cntgc_loop #1#2#3%
@@ -964,7 +964,7 @@
\ifnum #1>-\xint_c_i \else \XINT_cntgc_exit \fi
\expandafter\XINT_cntgc_loop\expandafter
{\the\numexpr #1-\xint_c_i\expandafter }\expandafter
- {\expandafter{\romannumeral-`0#3{#1}}+1/#2}{#3}%
+ {\expandafter{\romannumeral`&&@#3{#1}}+1/#2}{#3}%
}%
\def\XINT_cntgc_exit \fi
\expandafter\XINT_cntgc_loop\expandafter
@@ -985,20 +985,20 @@
\else
\xint_afterfi {\expandafter\XINT_gcntgc_loop\expandafter
{\the\numexpr #1-\xint_c_i\expandafter}\expandafter
- {\expandafter{\romannumeral-`0#2{#1}}}{#2}{#3}}%
+ {\expandafter{\romannumeral`&&@#2{#1}}}{#2}{#3}}%
\fi
}%
\def\XINT_gcntgc_loop #1#2#3#4%
{%
\ifnum #1>-\xint_c_i \else \XINT_gcntgc_exit \fi
\expandafter\XINT_gcntgc_loop_b\expandafter
- {\expandafter{\romannumeral-`0#4{#1}}/#2}{#3{#1}}{#1}{#3}{#4}%
+ {\expandafter{\romannumeral`&&@#4{#1}}/#2}{#3{#1}}{#1}{#3}{#4}%
}%
\def\XINT_gcntgc_loop_b #1#2#3%
{%
\expandafter\XINT_gcntgc_loop\expandafter
{\the\numexpr #3-\xint_c_i \expandafter}\expandafter
- {\expandafter{\romannumeral-`0#2}+#1}%
+ {\expandafter{\romannumeral`&&@#2}+#1}%
}%
\def\XINT_gcntgc_exit \fi
\expandafter\XINT_gcntgc_loop_b\expandafter #1#2#3#4#5%
@@ -1009,7 +1009,7 @@
\def\xintCstoGC {\romannumeral0\xintcstogc }%
\def\xintcstogc #1%
{%
- \expandafter\XINT_cstc_prep \romannumeral-`0#1,\xint_relax,%
+ \expandafter\XINT_cstc_prep \romannumeral`&&@#1,\xint_relax,%
}%
\def\XINT_cstc_prep #1,{\XINT_cstc_loop_a {{#1}}}%
\def\XINT_cstc_loop_a #1#2,%
@@ -1022,19 +1022,19 @@
\def\xintGCtoGC {\romannumeral0\xintgctogc }%
\def\xintgctogc #1%
{%
- \expandafter\XINT_gctgc_start \romannumeral-`0#1+\xint_relax/%
+ \expandafter\XINT_gctgc_start \romannumeral`&&@#1+\xint_relax/%
}%
\def\XINT_gctgc_start {\XINT_gctgc_loop_a {}}%
\def\XINT_gctgc_loop_a #1#2+#3/%
{%
\xint_gob_til_xint_relax #3\XINT_gctgc_end\xint_relax
\expandafter\XINT_gctgc_loop_b\expandafter
- {\romannumeral-`0#2}{#3}{#1}%
+ {\romannumeral`&&@#2}{#3}{#1}%
}%
\def\XINT_gctgc_loop_b #1#2%
{%
\expandafter\XINT_gctgc_loop_c\expandafter
- {\romannumeral-`0#2}{#1}%
+ {\romannumeral`&&@#2}{#1}%
}%
\def\XINT_gctgc_loop_c #1#2#3%
{%
diff --git a/Master/texmf-dist/tex/generic/xint/xintcore.sty b/Master/texmf-dist/tex/generic/xint/xintcore.sty
index 3352af4f189..1c119449588 100644
--- a/Master/texmf-dist/tex/generic/xint/xintcore.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintcore.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.2 2015/10/10
+%% The xint bundle v1.2a 2015/10/19
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintcore: Expandable arithmetic on big integers
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintcore}%
- [2015/10/10 v1.2 Expandable arithmetic on big integers (jfB)]%
+ [2015/10/19 v1.2a Expandable arithmetic on big integers (jfB)]%
\ifdefined\m@ne\let\xint_c_mone\m@ne
\else\csname newcount\endcsname\xint_c_mone \xint_c_mone -1 \fi
\newcount\xint_c_x^viii \xint_c_x^viii 100000000
@@ -83,7 +83,7 @@
\def\xintinum #1%
{%
\expandafter\XINT_num_loop
- \romannumeral-`0#1\xint_relax\xint_relax\xint_relax\xint_relax
+ \romannumeral`&&@#1\xint_relax\xint_relax\xint_relax\xint_relax
\xint_relax\xint_relax\xint_relax\xint_relax\Z
}%
\let\xintNum\xintiNum \let\xintnum\xintinum
@@ -271,7 +271,7 @@
}%
\edef\XINT_unrevbyviii_a\R\XINT_unrevbyviii #1#2\W
{\noexpand\expandafter\space
- \noexpand\romannumeral-`0\noexpand\xint_gob_til_Z #1}%
+ \noexpand\romannumeral`&&@\noexpand\xint_gob_til_Z #1}%
\def\XINT_smallunrevbyviii 1#1!1#2!1#3!1#4!1#5!1#6!1#7!1#8!#9\W%
{%
\expandafter\XINT_cuz_small\xint_gob_til_Z #8#7#6#5#4#3#2#1%
@@ -282,7 +282,7 @@
}%
\def\XINT_microrevsep_end #1\W #2\expandafter #3\Z{#2!}%
\def\xintReverseDigits {\romannumeral0\xintreversedigits }%
-\def\xintreversedigits #1{\expandafter\XINT_reversedigits\romannumeral-`0#1\Z}%
+\def\xintreversedigits #1{\expandafter\XINT_reversedigits\romannumeral`&&@#1\Z}%
\def\XINT_reversedigits #1%
{%
\xint_UDsignfork
@@ -293,7 +293,7 @@
\def\XINT_reversedigits_a #1\Z
{%
\expandafter\XINT_revdigits_a\the\numexpr\expandafter\XINT_microrevsep
- \romannumeral-`0#1{\XINT_microrevsep_end\W}\XINT_microrevsep_end
+ \romannumeral`&&@#1{\XINT_microrevsep_end\W}\XINT_microrevsep_end
\XINT_microrevsep_end\XINT_microrevsep_end
\XINT_microrevsep_end\XINT_microrevsep_end
\XINT_microrevsep_end\XINT_microrevsep_end\Z
@@ -310,7 +310,7 @@
\def\xintiiSgn {\romannumeral0\xintiisgn }%
\def\xintiisgn #1%
{%
- \expandafter\XINT_sgn \romannumeral-`0#1\Z%
+ \expandafter\XINT_sgn \romannumeral`&&@#1\Z%
}%
\def\xintSgn {\romannumeral0\xintsgn }%
\def\xintsgn #1%
@@ -344,7 +344,7 @@
\def\xintiiOpp {\romannumeral0\xintiiopp }%
\def\xintiiopp #1%
{%
- \expandafter\XINT_opp \romannumeral-`0#1%
+ \expandafter\XINT_opp \romannumeral`&&@#1%
}%
\def\xintiOpp {\romannumeral0\xintiopp }%
\def\xintiopp #1%
@@ -363,7 +363,7 @@
\def\xintiiAbs {\romannumeral0\xintiiabs }%
\def\xintiiabs #1%
{%
- \expandafter\XINT_abs \romannumeral-`0#1%
+ \expandafter\XINT_abs \romannumeral`&&@#1%
}%
\def\xintiAbs {\romannumeral0\xintiabs }%
\def\xintiabs #1%
@@ -381,7 +381,7 @@
\def\xintiiFDg {\romannumeral0\xintiifdg }%
\def\xintiifdg #1%
{%
- \expandafter\XINT_fdg \romannumeral-`0#1\W\Z
+ \expandafter\XINT_fdg \romannumeral`&&@#1\W\Z
}%
\def\xintFDg {\romannumeral0\xintfdg }%
\def\xintfdg #1%
@@ -405,7 +405,7 @@
\expandafter\XINT_ldg_done\romannumeral0%
\expandafter\XINT_revdigits_a\the\numexpr\expandafter\XINT_microrevsep
\romannumeral0\expandafter\XINT_abs
- \romannumeral-`0#1{\XINT_microrevsep_end\W}\XINT_microrevsep_end
+ \romannumeral`&&@#1{\XINT_microrevsep_end\W}\XINT_microrevsep_end
\XINT_microrevsep_end\XINT_microrevsep_end
\XINT_microrevsep_end\XINT_microrevsep_end
\XINT_microrevsep_end\XINT_microrevsep_end\Z
@@ -416,7 +416,7 @@
\def\xintDouble {\romannumeral0\xintdouble }%
\def\xintdouble #1%
{%
- \expandafter\XINT_dbl\romannumeral-`0#1\Z
+ \expandafter\XINT_dbl\romannumeral`&&@#1\Z
}%
\def\XINT_dbl #1%
{%
@@ -446,7 +446,7 @@
\def\xintHalf {\romannumeral0\xinthalf }%
\def\xinthalf #1%
{%
- \expandafter\XINT_half\romannumeral-`0#1\Z
+ \expandafter\XINT_half\romannumeral`&&@#1\Z
}%
\def\XINT_half #1%
{%
@@ -483,7 +483,7 @@
\def\xintDec {\romannumeral0\xintdec }%
\def\xintdec #1%
{%
- \expandafter\XINT_dec\romannumeral-`0#1\Z
+ \expandafter\XINT_dec\romannumeral`&&@#1\Z
}%
\def\XINT_dec #1%
{%
@@ -510,7 +510,7 @@
\def\xintInc {\romannumeral0\xintinc }%
\def\xintinc #1%
{%
- \expandafter\XINT_inc\romannumeral-`0#1\Z
+ \expandafter\XINT_inc\romannumeral`&&@#1\Z
}%
\def\XINT_inc #1%
{%
@@ -536,10 +536,10 @@
\def\xintiAdd {\romannumeral0\xintiadd }%
\def\xintiadd #1{\expandafter\XINT_iadd\romannumeral0\xintnum{#1}\Z }%
\def\xintiiAdd {\romannumeral0\xintiiadd }%
-\def\xintiiadd #1{\expandafter\XINT_iiadd\romannumeral-`0#1\Z }%
+\def\xintiiadd #1{\expandafter\XINT_iiadd\romannumeral`&&@#1\Z }%
\def\XINT_iiadd #1#2\Z #3%
{%
- \expandafter\XINT_add_nfork\expandafter #1\romannumeral-`0#3\Z #2\Z
+ \expandafter\XINT_add_nfork\expandafter #1\romannumeral`&&@#3\Z #2\Z
}%
\def\XINT_iadd #1#2\Z #3%
{%
@@ -710,10 +710,10 @@
\def\XINT_add_o #1%
{\if #12\expandafter\XINT_add_l\else\expandafter\XINT_add_ke \fi}%
\def\xintiiSub {\romannumeral0\xintiisub }%
-\def\xintiisub #1{\expandafter\XINT_iisub\romannumeral-`0#1\Z }%
+\def\xintiisub #1{\expandafter\XINT_iisub\romannumeral`&&@#1\Z }%
\def\XINT_iisub #1#2\Z #3%
{%
- \expandafter\XINT_sub_nfork\expandafter #1\romannumeral-`0#3\Z #2\Z
+ \expandafter\XINT_sub_nfork\expandafter #1\romannumeral`&&@#3\Z #2\Z
}%
\def\xintiSub {\romannumeral0\xintisub }%
\def\xintisub #1{\expandafter\XINT_isub\romannumeral0\xintnum{#1}\Z }%
@@ -924,11 +924,11 @@
\def\xintiiMul {\romannumeral0\xintiimul }%
\def\xintiimul #1%
{%
- \expandafter\XINT_iimul\romannumeral-`0#1\Z
+ \expandafter\XINT_iimul\romannumeral`&&@#1\Z
}%
\def\XINT_iimul #1#2\Z #3%
{%
- \expandafter\XINT_mul_nfork\expandafter #1\romannumeral-`0#3\Z #2\Z
+ \expandafter\XINT_mul_nfork\expandafter #1\romannumeral`&&@#3\Z #2\Z
}%
\def\XINT_mul_fork #1#2\Z #3\Z{\XINT_mul_nfork #1#3\Z #2\Z}%
\def\XINT_mul_nfork #1#2%
@@ -1134,7 +1134,7 @@
\def\xintiiPow {\romannumeral0\xintiipow }%
\def\xintiipow #1%
{%
- \expandafter\xint_pow\romannumeral-`0#1\Z%
+ \expandafter\xint_pow\romannumeral`&&@#1\Z%
}%
\def\xintiPow {\romannumeral0\xintipow }%
\def\xintipow #1%
@@ -1287,7 +1287,7 @@
\def\xintiiFac {\romannumeral0\xintiifac }%
\def\xintiifac #1%
{%
- \expandafter\XINT_fac_fork\expandafter {\romannumeral-`0#1}%
+ \expandafter\XINT_fac_fork\expandafter {\romannumeral`&&@#1}%
}%
\let\xintFac\xintiFac \let\xintfac\xintifac
\def\XINT_fac_fork #1%
@@ -1409,9 +1409,9 @@
\def\XINT_idivision #1#2\Z #3{\expandafter\XINT_iidivision_a\expandafter #1%
\romannumeral0\xintnum{#3}\Z #2\Z }%
\def\xintiiDivision {\romannumeral0\xintiidivision }%
-\def\xintiidivision #1{\expandafter\XINT_iidivision \romannumeral-`0#1\Z }%
+\def\xintiidivision #1{\expandafter\XINT_iidivision \romannumeral`&&@#1\Z }%
\def\XINT_iidivision #1#2\Z #3{\expandafter\XINT_iidivision_a\expandafter #1%
- \romannumeral-`0#3\Z #2\Z }%
+ \romannumeral`&&@#3\Z #2\Z }%
\def\XINT_iidivision_a #1#2% #1 de A, #2 de B.
{%
\if0#2\xint_dothis\XINT_iidivision_divbyzero\fi
@@ -1579,7 +1579,7 @@
}%
\def\XINT_div_finish
{%
- \expandafter\XINT_div_finish_a \romannumeral-`0\XINT_div_unsepQ
+ \expandafter\XINT_div_finish_a \romannumeral`&&@\XINT_div_unsepQ
}%
\def\XINT_div_finish_a #1\Z #2.{\XINT_div_finish_b #2.{#1}}%
\def\XINT_div_finish_b #1%
@@ -1994,12 +1994,12 @@
\def\xintidivround #1%
{\expandafter\XINT_idivround\romannumeral0\xintnum{#1}\Z }%
\def\xintiiDivRound {\romannumeral0\xintiidivround }%
-\def\xintiidivround #1{\expandafter\XINT_iidivround \romannumeral-`0#1\Z }%
+\def\xintiidivround #1{\expandafter\XINT_iidivround \romannumeral`&&@#1\Z }%
\def\XINT_idivround #1#2\Z #3%
{\expandafter\XINT_iidivround_a\expandafter #1%
\romannumeral0\xintnum{#3}\Z #2\Z }%
\def\XINT_iidivround #1#2\Z #3%
- {\expandafter\XINT_iidivround_a\expandafter #1\romannumeral-`0#3\Z #2\Z }%
+ {\expandafter\XINT_iidivround_a\expandafter #1\romannumeral`&&@#3\Z #2\Z }%
\def\XINT_iidivround_a #1#2% #1 de A, #2 de B.
{%
\if0#2\xint_dothis\XINT_iidivround_divbyzero\fi
@@ -2070,9 +2070,9 @@
\def\xintiDivTrunc {\romannumeral0\xintidivtrunc }%
\def\xintidivtrunc #1{\expandafter\XINT_iidivtrunc\romannumeral0\xintnum{#1}\Z }%
\def\xintiiDivTrunc {\romannumeral0\xintiidivtrunc }%
-\def\xintiidivtrunc #1{\expandafter\XINT_iidivtrunc \romannumeral-`0#1\Z }%
+\def\xintiidivtrunc #1{\expandafter\XINT_iidivtrunc \romannumeral`&&@#1\Z }%
\def\XINT_iidivtrunc #1#2\Z #3{\expandafter\XINT_iidivtrunc_a\expandafter #1%
- \romannumeral-`0#3\Z #2\Z }%
+ \romannumeral`&&@#3\Z #2\Z }%
\def\XINT_iidivtrunc_a #1#2% #1 de A, #2 de B.
{%
\if0#2\xint_dothis\XINT_iidivround_divbyzero\fi
@@ -2100,9 +2100,9 @@
\def\xintiMod {\romannumeral0\xintimod }%
\def\xintimod #1{\expandafter\XINT_iimod\romannumeral0\xintnum{#1}\Z }%
\def\xintiiMod {\romannumeral0\xintiimod }%
-\def\xintiimod #1{\expandafter\XINT_iimod \romannumeral-`0#1\Z }%
+\def\xintiimod #1{\expandafter\XINT_iimod \romannumeral`&&@#1\Z }%
\def\XINT_iimod #1#2\Z #3{\expandafter\XINT_iimod_a\expandafter #1%
- \romannumeral-`0#3\Z #2\Z }%
+ \romannumeral`&&@#3\Z #2\Z }%
\def\XINT_iimod_a #1#2% #1 de A, #2 de B.
{%
\if0#2\xint_dothis\XINT_iidivround_divbyzero\fi
diff --git a/Master/texmf-dist/tex/generic/xint/xintexpr.sty b/Master/texmf-dist/tex/generic/xint/xintexpr.sty
index 72e5194b49e..ce9b596606d 100644
--- a/Master/texmf-dist/tex/generic/xint/xintexpr.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintexpr.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.2 2015/10/10
+%% The xint bundle v1.2a 2015/10/19
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintexpr: Expandable expression parser
%% ---------------------------------------------------------------
@@ -81,7 +81,7 @@
\XINTsetupcatcodes%
\XINT_providespackage
\ProvidesPackage{xintexpr}%
- [2015/10/10 v1.2 Expandable expression parser (jfB)]%
+ [2015/10/19 v1.2a Expandable expression parser (jfB)]%
\catcode`! 11
\def\xint_gob_til_! #1!{}% catcode 11 ! default in xintexpr.sty code.
\edef\XINT_expr_lockscan#1!% not used for decimal numbers in xintexpr 1.2
@@ -89,7 +89,7 @@
\edef\XINT_expr_lockit
#1{\noexpand\expandafter\space\noexpand\csname .=#1\endcsname }%
\def\XINT_expr_unlock_hex_in #1% expanded inside \csname..\endcsname
- {\expandafter\XINT_expr_inhex\romannumeral-`0\XINT_expr_unlock#1;}%
+ {\expandafter\XINT_expr_inhex\romannumeral`&&@\XINT_expr_unlock#1;}%
\def\XINT_expr_inhex #1.#2#3;% expanded inside \csname..\endcsname
{%
\if#2>\xintHexToDec{#1}%
@@ -115,27 +115,27 @@
\def\xintfloatexpr {\romannumeral0\xintfloateval }%
\def\xintiiexpr {\romannumeral0\xintiieval }%
\def\xinttheexpr
- {\romannumeral-`0\expandafter\XINT_expr_print\romannumeral0\xintbareeval }%
-\def\xinttheiexpr {\romannumeral-`0\xintthe\xintiexpr }%
-\def\xintthefloatexpr {\romannumeral-`0\xintthe\xintfloatexpr }%
+ {\romannumeral`&&@\expandafter\XINT_expr_print\romannumeral0\xintbareeval }%
+\def\xinttheiexpr {\romannumeral`&&@\xintthe\xintiexpr }%
+\def\xintthefloatexpr {\romannumeral`&&@\xintthe\xintfloatexpr }%
\def\xinttheiiexpr
- {\romannumeral-`0\expandafter\XINT_iiexpr_print\romannumeral0\xintbareiieval }%
-\def\xintthe #1{\romannumeral-`0\expandafter\xint_gobble_iii\romannumeral-`0#1}%
-\def\xintthecoords #1{\romannumeral-`0\expandafter\expandafter\expandafter
+ {\romannumeral`&&@\expandafter\XINT_iiexpr_print\romannumeral0\xintbareiieval }%
+\def\xintthe #1{\romannumeral`&&@\expandafter\xint_gobble_iii\romannumeral`&&@#1}%
+\def\xintthecoords #1{\romannumeral`&&@\expandafter\expandafter\expandafter
\XINT_thecoords_a
\expandafter\xint_gobble_iii\romannumeral0#1}%
\def\XINT_thecoords_a #1#2% #1=print macro, indispensible for scientific notation
{\expandafter\XINT_expr_unlock\csname.=\expandafter\XINT_thecoords_b
- \romannumeral-`0#1#2,!,!,^\endcsname }%
+ \romannumeral`&&@#1#2,!,!,^\endcsname }%
\def\XINT_thecoords_b #1#2,#3#4,%
{\xint_gob_til_! #3\XINT_thecoords_c ! (#1#2, #3#4)\XINT_thecoords_b }%
\def\XINT_thecoords_c #1^{}%
\def\xintbareeval
- {\expandafter\XINT_expr_until_end_a\romannumeral-`0\XINT_expr_getnext }%
+ {\expandafter\XINT_expr_until_end_a\romannumeral`&&@\XINT_expr_getnext }%
\def\xintbarefloateval
- {\expandafter\XINT_flexpr_until_end_a\romannumeral-`0\XINT_expr_getnext }%
+ {\expandafter\XINT_flexpr_until_end_a\romannumeral`&&@\XINT_expr_getnext }%
\def\xintbareiieval
- {\expandafter\XINT_iiexpr_until_end_a\romannumeral-`0\XINT_expr_getnext }%
+ {\expandafter\XINT_iiexpr_until_end_a\romannumeral`&&@\XINT_expr_getnext }%
\def\xinteval {\expandafter\XINT_expr_wrap\romannumeral0\xintbareeval }%
\def\xintiieval {\expandafter\XINT_iiexpr_wrap\romannumeral0\xintbareiieval }%
\def\xintieval #1%
@@ -178,41 +178,41 @@
\def\XINT_flexpr_print #1%
{%
\expandafter\xintPFloat::csv
- \romannumeral-`0\expandafter\XINT_expr_unlock_sp\string #1!%
+ \romannumeral`&&@\expandafter\XINT_expr_unlock_sp\string #1!%
}%
\catcode`: 12
\def\XINT_expr_unlock_sp #1.;#2.=#3!{{#2}{#3}}%
\catcode`: 11
\def\xintboolexpr {\romannumeral0\expandafter\expandafter\expandafter
\XINT_boolexpr_done \expandafter\xint_gobble_iv\romannumeral0\xinteval }%
-\def\xinttheboolexpr {\romannumeral-`0\expandafter\expandafter\expandafter
+\def\xinttheboolexpr {\romannumeral`&&@\expandafter\expandafter\expandafter
\XINT_boolexpr_print\expandafter\xint_gobble_iv\romannumeral0\xinteval }%
\def\XINT_boolexpr_done { !\XINT_expr_usethe\XINT_protectii\XINT_boolexpr_print }%
\def\xintifboolexpr #1{\romannumeral0\xintifnotzero {\xinttheexpr #1\relax}}%
\def\xintifboolfloatexpr #1{\romannumeral0\xintifnotzero {\xintthefloatexpr #1\relax}}%
\def\xintifbooliiexpr #1{\romannumeral0\xintifnotzero {\xinttheiiexpr #1\relax}}%
\def\XINT_::_end #1,#2{\xint_gobble_i #2}%
-\def\xintCSV::csv #1{\expandafter\XINT_csv::_a\romannumeral-`0#1,^,}%
+\def\xintCSV::csv #1{\expandafter\XINT_csv::_a\romannumeral`&&@#1,^,}%
\def\XINT_csv::_a {\XINT_csv::_b {}}%
-\def\XINT_csv::_b #1#2,{\expandafter\XINT_csv::_c \romannumeral-`0#2,{#1}}%
+\def\XINT_csv::_b #1#2,{\expandafter\XINT_csv::_c \romannumeral`&&@#2,{#1}}%
\def\XINT_csv::_c #1{\if ^#1\expandafter\XINT_::_end\fi\XINT_csv::_d #1}%
\def\XINT_csv::_d #1,#2{\XINT_csv::_b {#2, #1}}% possibly, item #1 is empty.
\def\xintSPRaw {\romannumeral0\xintspraw }%
-\def\xintspraw #1{\expandafter\XINT_spraw\romannumeral-`0#1[\W]}%
+\def\xintspraw #1{\expandafter\XINT_spraw\romannumeral`&&@#1[\W]}%
\def\XINT_spraw #1[#2#3]{\xint_gob_til_W #2\XINT_spraw_a\W\XINT_spraw_p #1[#2#3]}%
\def\XINT_spraw_a\W\XINT_spraw_p #1[\W]{ #1}%
\def\XINT_spraw_p #1[\W]{\xintpraw {#1}}%
-\def\xintSPRaw::csv #1{\romannumeral0\expandafter\XINT_spraw::_a\romannumeral-`0#1,^,}%
+\def\xintSPRaw::csv #1{\romannumeral0\expandafter\XINT_spraw::_a\romannumeral`&&@#1,^,}%
\def\XINT_spraw::_a {\XINT_spraw::_b {}}%
-\def\XINT_spraw::_b #1#2,{\expandafter\XINT_spraw::_c \romannumeral-`0#2,{#1}}%
+\def\XINT_spraw::_b #1#2,{\expandafter\XINT_spraw::_c \romannumeral`&&@#2,{#1}}%
\def\XINT_spraw::_c #1{\if ,#1\xint_dothis\XINT_spraw::_e\fi
\if ^#1\xint_dothis\XINT_::_end\fi
\xint_orthat\XINT_spraw::_d #1}%
\def\XINT_spraw::_d #1,{\expandafter\XINT_spraw::_e\romannumeral0\XINT_spraw #1[\W],}%
\def\XINT_spraw::_e #1,#2{\XINT_spraw::_b {#2, #1}}%
-\def\xintIsTrue::csv #1{\romannumeral0\expandafter\XINT_istrue::_a\romannumeral-`0#1,^,}%
+\def\xintIsTrue::csv #1{\romannumeral0\expandafter\XINT_istrue::_a\romannumeral`&&@#1,^,}%
\def\XINT_istrue::_a {\XINT_istrue::_b {}}%
-\def\XINT_istrue::_b #1#2,{\expandafter\XINT_istrue::_c \romannumeral-`0#2,{#1}}%
+\def\XINT_istrue::_b #1#2,{\expandafter\XINT_istrue::_c \romannumeral`&&@#2,{#1}}%
\def\XINT_istrue::_c #1{\if ,#1\xint_dothis\XINT_istrue::_e\fi
\if ^#1\xint_dothis\XINT_::_end\fi
\xint_orthat\XINT_istrue::_d #1}%
@@ -220,8 +220,8 @@
\def\XINT_istrue::_e #1,#2{\XINT_istrue::_b {#2, #1}}%
\def\XINT_:::_end #1,#2#3{\xint_gobble_i #3}%
\def\xintRound::csv #1#2{\romannumeral0\expandafter\XINT_round::_b\expandafter
- {\the\numexpr#1\expandafter}\expandafter{\expandafter}\romannumeral-`0#2,^,}%
-\def\XINT_round::_b #1#2#3,{\expandafter\XINT_round::_c \romannumeral-`0#3,{#1}{#2}}%
+ {\the\numexpr#1\expandafter}\expandafter{\expandafter}\romannumeral`&&@#2,^,}%
+\def\XINT_round::_b #1#2#3,{\expandafter\XINT_round::_c \romannumeral`&&@#3,{#1}{#2}}%
\def\XINT_round::_c #1{\if ,#1\xint_dothis\XINT_round::_e\fi
\if ^#1\xint_dothis\XINT_:::_end\fi
\xint_orthat\XINT_round::_d #1}%
@@ -230,7 +230,7 @@
\expandafter\xintround\else\expandafter\xintiround\fi {#2}{#1},{#2}}%
\def\XINT_round::_e #1,#2#3{\XINT_round::_b {#2}{#3, #1}}%
\def\XINTinFloat::csv #1#2{\romannumeral0\expandafter\XINT_infloat::_b\expandafter
- {\the\numexpr #1\expandafter}\expandafter{\expandafter}\romannumeral-`0#2,^,}%
+ {\the\numexpr #1\expandafter}\expandafter{\expandafter}\romannumeral`&&@#2,^,}%
\def\XINT_infloat::_b #1#2#3,{\XINT_infloat::_c #3,{#1}{#2}}%
\def\XINT_infloat::_c #1{\if ,#1\xint_dothis\XINT_infloat::_e\fi
\if ^#1\xint_dothis\XINT_:::_end\fi
@@ -239,8 +239,8 @@
{\expandafter\XINT_infloat::_e\romannumeral0\XINTinfloat [#2]{#1},{#2}}%
\def\XINT_infloat::_e #1,#2#3{\XINT_infloat::_b {#2}{#3, #1}}%
\def\xintPFloat::csv #1#2{\romannumeral0\expandafter\XINT_pfloat::_b\expandafter
- {\the\numexpr #1\expandafter}\expandafter{\expandafter}\romannumeral-`0#2,^,}%
-\def\XINT_pfloat::_b #1#2#3,{\expandafter\XINT_pfloat::_c \romannumeral-`0#3,{#1}{#2}}%
+ {\the\numexpr #1\expandafter}\expandafter{\expandafter}\romannumeral`&&@#2,^,}%
+\def\XINT_pfloat::_b #1#2#3,{\expandafter\XINT_pfloat::_c \romannumeral`&&@#3,{#1}{#2}}%
\def\XINT_pfloat::_c #1{\if ,#1\xint_dothis\XINT_pfloat::_e\fi
\if ^#1\xint_dothis\XINT_:::_end\fi
\xint_orthat\XINT_pfloat::_d #1}%
@@ -249,7 +249,7 @@
\def\XINT_pfloat::_e #1,#2#3{\XINT_pfloat::_b {#2}{#3, #1}}%
\def\XINT_expr_getnext #1%
{%
- \expandafter\XINT_expr_getnext_a\romannumeral-`0#1%
+ \expandafter\XINT_expr_getnext_a\romannumeral`&&@#1%
}%
\def\XINT_expr_getnext_a #1%
{% screens out sub-expressions and \count or \dimen registers/variables
@@ -304,13 +304,13 @@
}%
\def\XINT_expr_scanint_a #1#2%
{\expandafter\XINT_expr_getop\csname.=#1%
- \expandafter\XINT_expr_scanint_b\romannumeral-`0#2}%
+ \expandafter\XINT_expr_scanint_b\romannumeral`&&@#2}%
\def\XINT_expr_gobz_a #1%
{\expandafter\XINT_expr_getop\csname.=%
- \expandafter\XINT_expr_gobz_scanint_b\romannumeral-`0#1}%
+ \expandafter\XINT_expr_gobz_scanint_b\romannumeral`&&@#1}%
\def\XINT_expr_startdec #1%
{\expandafter\XINT_expr_getop\csname.=%
- \expandafter\XINT_expr_scandec_a\romannumeral-`0#1}%
+ \expandafter\XINT_expr_scandec_a\romannumeral`&&@#1}%
\def\XINT_expr_scanint_b #1%
{%
\ifcat \relax #1\expandafter\XINT_expr_scanint_endbycs\expandafter #1\fi
@@ -319,7 +319,7 @@
}%
\def\XINT_expr_scanint_d #1%
{%
- \expandafter\XINT_expr_scanint_b\romannumeral-`0#1%
+ \expandafter\XINT_expr_scanint_b\romannumeral`&&@#1%
}%
\def\XINT_expr_scanint_endbycs#1#2\XINT_expr_scanint_d{\endcsname #1}%
\def\XINT_expr_scanint_c\string #1\XINT_expr_scanint_d
@@ -332,7 +332,7 @@
}%
\def\XINT_expr_startdec_a .#1%
{%
- \expandafter\XINT_expr_scandec_a\romannumeral-`0#1%
+ \expandafter\XINT_expr_scandec_a\romannumeral`&&@#1%
}%
\def\XINT_expr_scandec_a #1%
{%
@@ -357,11 +357,11 @@
}%
\def\XINT_expr_gobz_scanint_d #1%
{%
- \expandafter\XINT_expr_gobz_scanint_b\romannumeral-`0#1%
+ \expandafter\XINT_expr_gobz_scanint_b\romannumeral`&&@#1%
}%
\def\XINT_expr_gobz_startdec_a .#1%
{%
- \expandafter\XINT_expr_gobz_scandec_a\romannumeral-`0#1%
+ \expandafter\XINT_expr_gobz_scandec_a\romannumeral`&&@#1%
}%
\def\XINT_expr_gobz_scandec_a #1%
{%
@@ -379,7 +379,7 @@
\def\XINT_expr_scandec_d #1.#2%
{%
\expandafter\XINT_expr_scandec_b
- \the\numexpr #1\expandafter.\romannumeral-`0#2%
+ \the\numexpr #1\expandafter.\romannumeral`&&@#2%
}%
\def\XINT_expr_scandec_c\string #1#2\the\numexpr#3-\xint_c_i.%
{%
@@ -388,14 +388,16 @@
\ifcat a#1\xint_dothis{[#3]\endcsname *#1}\fi
\xint_orthat {[#3]\expandafter\endcsname \string#1}%
}%
-\def\XINT_expr_gobz_scandec_b 0.#1%
+\def\XINT_expr_gobz_scandec_b #1.#2%
{%
- \ifcat \relax #1\expandafter\XINT_expr_gobz_scandec_endbycs\expandafter#1\fi
- \ifnum\xint_c_ix<1\string#1 \else\expandafter\XINT_expr_gobz_scandec_c\fi
- \string#1\expandafter\XINT_expr_scandec_d\the\numexpr\xint_c_mone.%
+ \ifcat \relax #2\expandafter\XINT_expr_gobz_scandec_endbycs\expandafter#2\fi
+ \ifnum\xint_c_ix<1\string#2 \else\expandafter\XINT_expr_gobz_scandec_c\fi
+ \if0#2\expandafter\xint_firstoftwo\else\expandafter\xint_secondoftwo\fi
+ {\expandafter\XINT_expr_gobz_scandec_b}%
+ {\string#2\expandafter\XINT_expr_scandec_d}\the\numexpr#1-\xint_c_i.%
}%
-\def\XINT_expr_gobz_scandec_endbycs #1#2\xint_c_mone.{0[0]\endcsname #1}%
-\def\XINT_expr_gobz_scandec_c\string #1#2\xint_c_mone.%
+\def\XINT_expr_gobz_scandec_endbycs #1#2\xint_c_i.{0[0]\endcsname #1}%
+\def\XINT_expr_gobz_scandec_c\if0#1#2\fi #3\xint_c_i.%
{%
\if e#1\xint_dothis{0[\the\numexpr0\XINT_expr_scanexp_a +}\fi
\if E#1\xint_dothis{0[\the\numexpr0\XINT_expr_scanexp_a +}\fi
@@ -404,7 +406,7 @@
}%
\def\XINT_expr_scanexp_a #1#2%
{%
- #1\expandafter\XINT_expr_scanexp_b\romannumeral-`0#2%
+ #1\expandafter\XINT_expr_scanexp_b\romannumeral`&&@#2%
}%
\def\XINT_expr_scanexp_b #1%
{%
@@ -415,7 +417,7 @@
\def\XINT_expr_scanexpr_endbycs#1#2\XINT_expr_scanexp_d {]\endcsname #1}%
\def\XINT_expr_scanexp_d #1%
{%
- \expandafter\XINT_expr_scanexp_bb\romannumeral-`0#1%
+ \expandafter\XINT_expr_scanexp_bb\romannumeral`&&@#1%
}%
\def\XINT_expr_scanexp_c\string #1\XINT_expr_scanexp_d
{%
@@ -433,7 +435,7 @@
\def\XINT_expr_scanexp_endbycs_b#1#2\XINT_expr_scanexp_db {]\endcsname #1}%
\def\XINT_expr_scanexp_db #1%
{%
- \expandafter\XINT_expr_scanexp_bb\romannumeral-`0#1%
+ \expandafter\XINT_expr_scanexp_bb\romannumeral`&&@#1%
}%
\def\XINT_expr_scanexp_cb\string #1\XINT_expr_scanexp_db
{%
@@ -472,12 +474,12 @@
}%
\def\XINT_expr_scanhexI_b #1#2%
{%
- #1\expandafter\XINT_expr_scanhexI_a\romannumeral-`0#2%
+ #1\expandafter\XINT_expr_scanhexI_a\romannumeral`&&@#2%
}%
\def\XINT_expr_scanhex_transition .#1%
{%
\expandafter.\expandafter.\expandafter
- \XINT_expr_scanhexII_a\romannumeral-`0#1%
+ \XINT_expr_scanhexII_a\romannumeral`&&@#1%
}%
\def\XINT_expr_scanhexII_a #1%
{%
@@ -500,15 +502,15 @@
}%
\def\XINT_expr_scanhexII_b #1#2%
{%
- #1\expandafter\XINT_expr_scanhexII_a\romannumeral-`0#2%
+ #1\expandafter\XINT_expr_scanhexII_a\romannumeral`&&@#2%
}%
\def\XINT_expr_scanfunc
{%
- \expandafter\XINT_expr_func\romannumeral-`0\XINT_expr_scanfunc_a
+ \expandafter\XINT_expr_func\romannumeral`&&@\XINT_expr_scanfunc_a
}%
\def\XINT_expr_scanfunc_a #1#2%
{%
- \expandafter #1\romannumeral-`0\expandafter\XINT_expr_scanfunc_b\romannumeral-`0#2%
+ \expandafter #1\romannumeral`&&@\expandafter\XINT_expr_scanfunc_b\romannumeral`&&@#2%
}%
\def\XINT_expr_scanfunc_b #1%
{%
@@ -531,7 +533,7 @@
}%
\def\XINT_expr_getop #1#2% this #1 is the current locked computed value
{%
- \expandafter\XINT_expr_getop_a\expandafter #1\romannumeral-`0#2%
+ \expandafter\XINT_expr_getop_a\expandafter #1\romannumeral`&&@#2%
}%
\catcode`* 11
\def\XINT_expr_getop_a #1#2%
@@ -558,7 +560,7 @@
\def\XINT_expr_binopwrd #1#2'{\expandafter\XINT_expr_foundop_a
\csname XINT_expr_itself_\xint_zapspaces #2 \xint_gobble_i\endcsname #1}%
\def\XINT_expr_scanop_a #1#2#3%
- {\expandafter\XINT_expr_scanop_b\expandafter #1\expandafter #2\romannumeral-`0#3}%
+ {\expandafter\XINT_expr_scanop_b\expandafter #1\expandafter #2\romannumeral`&&@#3}%
\def\XINT_expr_scanop_b #1#2#3%
{%
\ifcat#3\relax\xint_dothis{\XINT_expr_foundop_a #1#2#3}\fi
@@ -569,7 +571,7 @@
}%
\def\XINT_expr_scanop_c #1#2#3%
{%
- \expandafter\XINT_expr_scanop_d\expandafter #1\expandafter #2\romannumeral-`0#3%
+ \expandafter\XINT_expr_scanop_d\expandafter #1\expandafter #2\romannumeral`&&@#3%
}%
\def\XINT_expr_scanop_d #1#2#3%
{%
@@ -596,7 +598,7 @@
\def#1##1%
{%
\xint_UDsignfork
- ##1{\expandafter#1\romannumeral-`0#3}%
+ ##1{\expandafter#1\romannumeral`&&@#3}%
-{#2##1}%
\krof
}%
@@ -604,12 +606,12 @@
{%
\ifcase ##1\xint_afterfi
{\ifx\XINT_expr_itself_^C ##2\xint_dothis
- {\expandafter#1\romannumeral-`0\expandafter\XINT_expr_getnext\xint_gobble_i}\fi
+ {\expandafter#1\romannumeral`&&@\expandafter\XINT_expr_getnext\xint_gobble_i}\fi
\xint_orthat \XINT_expr_done }%
\or\xint_afterfi{\XINT_expr_extra_)
- \expandafter #1\romannumeral-`0\XINT_expr_getop }%
+ \expandafter #1\romannumeral`&&@\XINT_expr_getop }%
\else
- \xint_afterfi{\expandafter#1\romannumeral-`0\csname XINT_#4_op_##2\endcsname }%
+ \xint_afterfi{\expandafter#1\romannumeral`&&@\csname XINT_#4_op_##2\endcsname }%
\fi
}%
}%
@@ -623,10 +625,10 @@
}%
\def\XINT_tmpa #1#2#3#4#5#6%
{%
- \def #1##1{\expandafter #3\romannumeral-`0\XINT_expr_getnext }%
- \def #2{\expandafter #3\romannumeral-`0\XINT_expr_getnext }%
+ \def #1##1{\expandafter #3\romannumeral`&&@\XINT_expr_getnext }%
+ \def #2{\expandafter #3\romannumeral`&&@\XINT_expr_getnext }%
\def #3##1{\xint_UDsignfork
- ##1{\expandafter #3\romannumeral-`0#5}%
+ ##1{\expandafter #3\romannumeral`&&@#5}%
-{#4##1}%
\krof }%
\def #4##1##2{\ifcase ##1%
@@ -634,7 +636,7 @@
\xint_orthat\XINT_expr_missing_) }%
\or \csname XINT_#6_op_##2\expandafter\endcsname
\else
- \xint_afterfi{\expandafter #3\romannumeral-`0\csname XINT_#6_op_##2\endcsname }%
+ \xint_afterfi{\expandafter #3\romannumeral`&&@\csname XINT_#6_op_##2\endcsname }%
\fi
}%
}%
@@ -666,24 +668,26 @@
{\expandafter\.=+\xintiCeil{\XINT_expr_unlock ##1}}}%
}%
\catcode`. 12 \catcode`= 12 \catcode`+ 12
+\catcode`& 12
\xintFor* #1 in {{==}{<=}{>=}{!=}{&&}{||}{**}{//}{/:}{..}{..[}{].}{]..}%
{+[}{-[}{*[}{/[}{**[}{^[}{a+}{a-}{a*}{a/}{a**}{a^}%
{][}{][:}{:]}{^C}{++}{++)}}
\do {\expandafter\def\csname XINT_expr_itself_#1\endcsname {#1}}%
+\catcode`& 7
\def\XINT_tmpc #1#2#3#4#5#6#7#8%
{%
\def #1##1% \XINT_expr_op_<op> ou flexpr ou iiexpr
{% keep value, get next number and operator, then do until
\expandafter #2\expandafter ##1%
- \romannumeral-`0\expandafter\XINT_expr_getnext }%
+ \romannumeral`&&@\expandafter\XINT_expr_getnext }%
\def #2##1##2% \XINT_expr_until_<op>_a ou flexpr ou iiexpr
- {\xint_UDsignfork ##2{\expandafter #2\expandafter ##1\romannumeral-`0#4}%
+ {\xint_UDsignfork ##2{\expandafter #2\expandafter ##1\romannumeral`&&@#4}%
-{#3##1##2}%
\krof }%
\def #3##1##2##3##4% \XINT_expr_until_<op>_b ou flexpr ou iiexpr
{% either execute next operation now, or first do next (possibly unary)
\ifnum ##2>#5%
- \xint_afterfi {\expandafter #2\expandafter ##1\romannumeral-`0%
+ \xint_afterfi {\expandafter #2\expandafter ##1\romannumeral`&&@%
\csname XINT_#8_op_##3\endcsname {##4}}%
\else \xint_afterfi {\expandafter ##2\expandafter ##3%
\csname .=#6{\XINT_expr_unlock ##1}{\XINT_expr_unlock ##4}\endcsname }%
@@ -701,6 +705,7 @@
\csname #2#6\expandafter\endcsname
\csname XINT_expr_precedence_#3\endcsname {#1}%
}%
+\catcode`& 12
\xintFor #1 in {expr, flexpr} \do {%
\def\XINT_tmpa ##1{\XINT_tmpb {#1}{xint}##1}%
\xintApplyInline {\XINT_tmpa }{%
@@ -718,6 +723,7 @@
{{/:}{vii}{vii}{Mod}}%
}%
}%
+\catcode`& 7
\def\XINT_tmpa #1{\XINT_tmpb {expr}{xint}#1}%
\xintApplyInline {\XINT_tmpa }{%
{+{vi}{vi}{Add}}%
@@ -739,6 +745,7 @@
{{]..}{iii}{vi}{SeqB::csv}}%
}%
\def\XINT_tmpa #1{\XINT_tmpb {iiexpr}{xint}#1}%
+\catcode`& 12
\xintApplyInline {\XINT_tmpa }{%
{|{iii}{vi}{OR}}%
{&{iv}{vi}{AND}}%
@@ -760,8 +767,9 @@
{{//}{vii}{vii}{iiDivTrunc}}%
{{/:}{vii}{vii}{iiMod}}%
}%
+\catcode`& 7
\def\XINT_expr_binop_inline_a
- {\expandafter\xint_gobble_i\romannumeral-`0\XINT_expr_binop_inline_b }%
+ {\expandafter\xint_gobble_i\romannumeral`&&@\XINT_expr_binop_inline_b }%
\def\XINT_expr_binop_inline_b #1#2,{\XINT_expr_binop_inline_c #2,{#1}}%
\def\XINT_expr_binop_inline_c #1{%
\if ,#1\xint_dothis\XINT_expr_binop_inline_e\fi
@@ -775,22 +783,22 @@
\def #1##1% \XINT_expr_op_<op> ou flexpr ou iiexpr
{% keep value, get next number and operator, then do until
\expandafter #2\expandafter ##1%
- \romannumeral-`0\expandafter\XINT_expr_getnext }%
+ \romannumeral`&&@\expandafter\XINT_expr_getnext }%
\def #2##1##2% \XINT_expr_until_<op>_a ou flexpr ou iiexpr
- {\xint_UDsignfork ##2{\expandafter #2\expandafter ##1\romannumeral-`0#4}%
+ {\xint_UDsignfork ##2{\expandafter #2\expandafter ##1\romannumeral`&&@#4}%
-{#3##1##2}%
\krof }%
\def #3##1##2##3##4% \XINT_expr_until_<op>_b ou flexpr ou iiexpr
{% either execute next operation now, or first do next (possibly unary)
\ifnum ##2>#5%
- \xint_afterfi {\expandafter #2\expandafter ##1\romannumeral-`0%
+ \xint_afterfi {\expandafter #2\expandafter ##1\romannumeral`&&@%
\csname XINT_#8_op_##3\endcsname {##4}}%
\else \xint_afterfi {\expandafter ##2\expandafter ##3%
\csname .=\expandafter\XINT_expr_binop_inline_a\expandafter
{\expandafter\expandafter\expandafter#6\expandafter
\xint_exchangetwo_keepbraces\expandafter
{\expandafter\XINT_expr_unlock\expandafter ##4\expandafter}\expandafter}%
- \romannumeral-`0\XINT_expr_unlock ##1,^,\endcsname }%
+ \romannumeral`&&@\XINT_expr_unlock ##1,^,\endcsname }%
\fi }%
\let #7#5%
}%
@@ -824,18 +832,18 @@
}%
\def\XINT_tmpc #1#2#3#4#5#6#7%
{%
- \def #1##1{\expandafter#2\expandafter##1\romannumeral-`0%
- \expandafter #3\romannumeral-`0\XINT_expr_getnext }%
+ \def #1##1{\expandafter#2\expandafter##1\romannumeral`&&@%
+ \expandafter #3\romannumeral`&&@\XINT_expr_getnext }%
\def #2##1##2##3##4%
{% either execute next operation now, or first do next (possibly unary)
\ifnum ##2>#4%
- \xint_afterfi {\expandafter #2\expandafter ##1\romannumeral-`0%
+ \xint_afterfi {\expandafter #2\expandafter ##1\romannumeral`&&@%
\csname XINT_#7_op_##3\endcsname {##4}}%
\else \xint_afterfi {\expandafter ##2\expandafter ##3%
\csname .=\expandafter\XINT_expr_binop_inline_a\expandafter
{\expandafter#5\expandafter
{\expandafter\XINT_expr_unlock\expandafter ##1\expandafter}\expandafter}%
- \romannumeral-`0\XINT_expr_unlock ##4,^,\endcsname }%
+ \romannumeral`&&@\XINT_expr_unlock ##4,^,\endcsname }%
\fi }%
\let #6#4%
}%
@@ -869,14 +877,14 @@
\xintFor #1 in {and,or,xor,mod} \do {%
\expandafter\def\csname XINT_expr_itself_#1\endcsname {#1}}%
\expandafter\let\csname XINT_expr_precedence_and\expandafter\endcsname
- \csname XINT_expr_precedence_&\endcsname
+ \csname XINT_expr_precedence_\string&\endcsname
\expandafter\let\csname XINT_expr_precedence_or\expandafter\endcsname
\csname XINT_expr_precedence_|\endcsname
\expandafter\let\csname XINT_expr_precedence_mod\expandafter\endcsname
\csname XINT_expr_precedence_/:\endcsname
\xintFor #1 in {expr, flexpr, iiexpr} \do {%
\expandafter\let\csname XINT_#1_op_and\expandafter\endcsname
- \csname XINT_#1_op_&\endcsname
+ \csname XINT_#1_op_\string&\endcsname
\expandafter\let\csname XINT_#1_op_or\expandafter\endcsname
\csname XINT_#1_op_|\endcsname
\expandafter\let\csname XINT_#1_op_mod\expandafter\endcsname
@@ -884,8 +892,8 @@
}%
\expandafter\let\csname XINT_expr_precedence_==\expandafter\endcsname
\csname XINT_expr_precedence_=\endcsname
-\expandafter\let\csname XINT_expr_precedence_&&\expandafter\endcsname
- \csname XINT_expr_precedence_&\endcsname
+\expandafter\let\csname XINT_expr_precedence_\string&\string&\expandafter\endcsname
+ \csname XINT_expr_precedence_\string&\endcsname
\expandafter\let\csname XINT_expr_precedence_||\expandafter\endcsname
\csname XINT_expr_precedence_|\endcsname
\expandafter\let\csname XINT_expr_precedence_**\expandafter\endcsname
@@ -897,8 +905,8 @@
\xintFor #1 in {expr, flexpr, iiexpr} \do {%
\expandafter\let\csname XINT_#1_op_==\expandafter\endcsname
\csname XINT_#1_op_=\endcsname
- \expandafter\let\csname XINT_#1_op_&&\expandafter\endcsname
- \csname XINT_#1_op_&\endcsname
+ \expandafter\let\csname XINT_#1_op_\string&\string&\expandafter\endcsname
+ \csname XINT_#1_op_\string&\endcsname
\expandafter\let\csname XINT_#1_op_||\expandafter\endcsname
\csname XINT_#1_op_|\endcsname
\expandafter\let\csname XINT_#1_op_**\expandafter\endcsname
@@ -912,22 +920,22 @@
{%
\def #1##1% \XINT_expr_op_][
{%
- \expandafter #2\expandafter ##1\romannumeral-`0\XINT_expr_getnext
+ \expandafter #2\expandafter ##1\romannumeral`&&@\XINT_expr_getnext
}%
\def #2##1##2% \XINT_expr_until_][_a
{\xint_UDsignfork
- ##2{\expandafter #2\expandafter ##1\romannumeral-`0#4}%
+ ##2{\expandafter #2\expandafter ##1\romannumeral`&&@#4}%
-{#3##1##2}%
\krof }%
\def #3##1##2##3##4% \XINT_expr_until_][_b
{%
\ifnum ##2>\xint_c_ii
- \xint_afterfi {\expandafter #2\expandafter ##1\romannumeral-`0%
+ \xint_afterfi {\expandafter #2\expandafter ##1\romannumeral`&&@%
\csname XINT_#6_op_##3\endcsname {##4}}%
\else
\xint_afterfi
{\expandafter ##2\expandafter ##3\csname
- .=\expandafter\xintListSel:csv \romannumeral-`0\XINT_expr_unlock ##4;%
+ .=\expandafter\xintListSel:csv \romannumeral`&&@\XINT_expr_unlock ##4;%
\XINT_expr_unlock ##1;\endcsname % unlock for \xintNewExpr
}%
\fi
@@ -946,17 +954,17 @@
{%
\def #1##1% \XINT_expr_op_:
{%
- \expandafter #2\expandafter ##1\romannumeral-`0\XINT_expr_getnext
+ \expandafter #2\expandafter ##1\romannumeral`&&@\XINT_expr_getnext
}%
\def #2##1##2% \XINT_expr_until_:_a
{\xint_UDsignfork
- ##2{\expandafter #2\expandafter ##1\romannumeral-`0#4}%
+ ##2{\expandafter #2\expandafter ##1\romannumeral`&&@#4}%
-{#3##1##2}%
\krof }%
\def #3##1##2##3##4% \XINT_expr_until_:_b
{%
\ifnum ##2>\xint_c_iii
- \xint_afterfi {\expandafter #2\expandafter ##1\romannumeral-`0%
+ \xint_afterfi {\expandafter #2\expandafter ##1\romannumeral`&&@%
\csname XINT_#6_op_##3\endcsname {##4}}%
\else
\xint_afterfi
@@ -990,7 +998,7 @@
\let\XINT_iiexpr_op_][: \XINT_expr_op_][:
\catcode`[ 12 \catcode`] 12
\def\xintListSel:csv #1{%
- \if ]\noexpand#1\xint_dothis{\expandafter\XINT_listsel:_s\romannumeral-`0}\fi
+ \if ]\noexpand#1\xint_dothis{\expandafter\XINT_listsel:_s\romannumeral`&&@}\fi
\if :\noexpand#1\xint_dothis{\XINT_listsel:_:}\fi
\xint_orthat {\XINT_listsel:_nth #1}%
}%
@@ -1111,8 +1119,8 @@
\def\XINT_seqa::csv #1#2{\expandafter\XINT_seqa::csv_a \romannumeral0\xintraw {#2};#1;}%
\def\xintiiSeqA::csv #1#2{\XINT_iiseqa::csv #1#2}%
\def\XINT_iiseqa::csv #1#2#3#4{\expandafter\XINT_seqa::csv_a
- \romannumeral-`0\expandafter \XINT_expr_unlock\expandafter#4%
- \expandafter;\romannumeral-`0\XINT_expr_unlock #2;}%
+ \romannumeral`&&@\expandafter \XINT_expr_unlock\expandafter#4%
+ \expandafter;\romannumeral`&&@\XINT_expr_unlock #2;}%
\def\XINTinFloatSeqA::csv #1{\expandafter\XINT_flseqa::csv\expandafter
{\romannumeral0\XINTinfloat [\XINTdigits]{#1}}}%
\def\XINT_flseqa::csv #1#2%
@@ -1124,7 +1132,7 @@
\krof #1}%
\def\xintSeqB::csv #1#2%
{\expandafter\XINT_seqb::csv \expandafter{\romannumeral0\xintraw{#2}}{#1}}%
-\def\XINT_seqb::csv #1#2{\expandafter\XINT_seqb::csv_a\romannumeral-`0#2#1!}%
+\def\XINT_seqb::csv #1#2{\expandafter\XINT_seqb::csv_a\romannumeral`&&@#2#1!}%
\def\XINT_seqb::csv_a #1#2;#3;#4!{\expandafter\XINT_expr_seq_empty?
\romannumeral0\csname XINT_seqb::csv_#1\endcsname {#3}{#4}{#2}}%
\def\XINT_seqb::csv_p #1#2#3%
@@ -1143,10 +1151,10 @@
\def\xintiiSeqB::csv #1#2{\XINT_iiseqb::csv #1#2}%
\def\XINT_iiseqb::csv #1#2#3#4%
{\expandafter\XINT_iiseqb::csv_a
- \romannumeral-`0\expandafter \XINT_expr_unlock\expandafter#2%
- \romannumeral-`0\XINT_expr_unlock #4!}%
+ \romannumeral`&&@\expandafter \XINT_expr_unlock\expandafter#2%
+ \romannumeral`&&@\XINT_expr_unlock #4!}%
\def\XINT_iiseqb::csv_a #1#2;#3;#4!{\expandafter\XINT_expr_seq_empty?
- \romannumeral-`0\csname XINT_iiseqb::csv_#1\endcsname {#3}{#4}{#2}}%
+ \romannumeral`&&@\csname XINT_iiseqb::csv_#1\endcsname {#3}{#4}{#2}}%
\def\XINT_iiseqb::csv_p #1#2#3%
{%
\xintSgnFork{\XINT_Cmp {#1}{#2}}{,#1\expandafter\XINT_iiseqb::csv_p\expandafter}%
@@ -1162,9 +1170,9 @@
\def\XINT_iiseqb::csv_z #1#2#3{,#1}%
\def\XINTinFloatSeqB::csv #1#2{\expandafter\XINT_flseqb::csv \expandafter
{\romannumeral0\XINTinfloat [\XINTdigits]{#2}}{#1}}%
-\def\XINT_flseqb::csv #1#2{\expandafter\XINT_flseqb::csv_a\romannumeral-`0#2#1!}%
+\def\XINT_flseqb::csv #1#2{\expandafter\XINT_flseqb::csv_a\romannumeral`&&@#2#1!}%
\def\XINT_flseqb::csv_a #1#2;#3;#4!{\expandafter\XINT_expr_seq_empty?
- \romannumeral-`0\csname XINT_flseqb::csv_#1\endcsname {#3}{#4}{#2}}%
+ \romannumeral`&&@\csname XINT_flseqb::csv_#1\endcsname {#3}{#4}{#2}}%
\def\XINT_flseqb::csv_p #1#2#3%
{%
\xintifCmp {#1}{#2}{,#1\expandafter\XINT_flseqb::csv_p\expandafter}%
@@ -1182,17 +1190,17 @@
{%
\def #1##1% \XINT_expr_op_,
{%
- \expandafter #2\expandafter ##1\romannumeral-`0\XINT_expr_getnext
+ \expandafter #2\expandafter ##1\romannumeral`&&@\XINT_expr_getnext
}%
\def #2##1##2% \XINT_expr_until_,_a
{\xint_UDsignfork
- ##2{\expandafter #2\expandafter ##1\romannumeral-`0#4}%
+ ##2{\expandafter #2\expandafter ##1\romannumeral`&&@#4}%
-{#3##1##2}%
\krof }%
\def #3##1##2##3##4% \XINT_expr_until_,_b
{%
\ifnum ##2>\xint_c_ii
- \xint_afterfi {\expandafter #2\expandafter ##1\romannumeral-`0%
+ \xint_afterfi {\expandafter #2\expandafter ##1\romannumeral`&&@%
\csname XINT_#6_op_##3\endcsname {##4}}%
\else
\xint_afterfi
@@ -1222,17 +1230,17 @@
{%
\def #1% \XINT_expr_op_-<level>
{% get next number+operator then switch to _until macro
- \expandafter #2\romannumeral-`0\XINT_expr_getnext
+ \expandafter #2\romannumeral`&&@\XINT_expr_getnext
}%
\def #2##1% \XINT_expr_until_-<l>_a
{\xint_UDsignfork
- ##1{\expandafter #2\romannumeral-`0#1}%
+ ##1{\expandafter #2\romannumeral`&&@#1}%
-{#3##1}%
\krof }%
\def #3##1##2##3% \XINT_expr_until_-<l>_b
{% _until tests precedence level with next op, executes now or postpones
\ifnum ##1>#4%
- \xint_afterfi {\expandafter #2\romannumeral-`0%
+ \xint_afterfi {\expandafter #2\romannumeral`&&@%
\csname XINT_#5_op_##2\endcsname {##3}}%
\else
\xint_afterfi {\expandafter ##1\expandafter ##2%
@@ -1367,9 +1375,9 @@
\xint_dothis{\csname XINT_expr_onlitteral_##1\endcsname}\fi
\ifcsname XINT_#3_func_##1\endcsname
\xint_dothis{\expandafter\expandafter
- \csname XINT_#3_func_##1\endcsname\romannumeral-`0#2}\fi
+ \csname XINT_#3_func_##1\endcsname\romannumeral`&&@#2}\fi
\xint_orthat{\XINT_expr_unknown_function {##1}%
- \expandafter\XINT_expr_func_unknown\romannumeral-`0#2}%
+ \expandafter\XINT_expr_func_unknown\romannumeral`&&@#2}%
}%
}%
\def\XINT_expr_unknown_function #1{\xintError:removed \xint_gobble_i {#1}}%
@@ -1389,7 +1397,7 @@
\def\XINT_expr_func_unknown #1#2#3%
{\expandafter #1\expandafter #2\csname .=0\endcsname }%
\def\XINT_expr_func_break #1#2#3%
- {\expandafter #1\expandafter #2\csname.=?\romannumeral-`0\XINT_expr_unlock #3\endcsname }%
+ {\expandafter #1\expandafter #2\csname.=?\romannumeral`&&@\XINT_expr_unlock #3\endcsname }%
\let\XINT_flexpr_func_break \XINT_expr_func_break
\let\XINT_iiexpr_func_break \XINT_expr_func_break
\def\XINT_expr_onlitteral_qint #1)%
@@ -1399,7 +1407,7 @@
\def\XINT_expr_onlitteral_qfloat #1)%
{\expandafter\XINT_expr_getop\csname .=\XINTinFloatdigits{#1}\endcsname }%
\def\XINT_expr_onlitteral_seq
- {\expandafter\XINT_expr_onlitteral_seq_f\romannumeral-`0\XINT_expr_onlitteral_seq_a {}}%
+ {\expandafter\XINT_expr_onlitteral_seq_f\romannumeral`&&@\XINT_expr_onlitteral_seq_a {}}%
\def\XINT_expr_onlitteral_seq_f #1#2{\xint_c_xviii `{seqx}#2)\relax #1}%
\def\XINT_expr_onlitteral_seq_a #1#2,%
{% checks balancing of parentheses
@@ -1440,7 +1448,7 @@
{% #3 is the Latin letter serving as dummy variable, #4 is the expression to evaluate
\expandafter \XINT_expr_getop
\csname .=\expandafter\XINT_expr_seq:_aa
- \romannumeral-`0\XINT_expr_unlock #2!{#1#4\relax !#3},^,\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #2!{#1#4\relax !#3},^,\endcsname
}%
\def\XINT_expr_seq:_aa #1{\if +#1\expandafter\XINT_expr_seq:_A\else
\expandafter\XINT_expr_seq:_a\fi #1}%
@@ -1451,7 +1459,7 @@
\if ^#1\xint_dothis\XINT_expr_seq:_end\fi
\xint_orthat\XINT_expr_seq:_d #1}%
\def\XINT_expr_seq:_d #1,#2{\expandafter\XINT_expr_seq:_e
- \romannumeral-`0\expandafter\XINT_expr_unlock\romannumeral0#2{#1}{#2}}%
+ \romannumeral`&&@\expandafter\XINT_expr_unlock\romannumeral0#2{#1}{#2}}%
\def\XINT_expr_seq:_e #1{\if #1^\xint_dothis\XINT_expr_seq:_abort\fi
\if #1?\xint_dothis\XINT_expr_seq:_break\fi
\if #1!\xint_dothis\XINT_expr_seq:_omit\fi
@@ -1468,7 +1476,7 @@
\def\XINT_expr_seq:_A +#1!#2,^,%
{\expandafter\XINT_expr_seq_empty?\romannumeral0\XINT_expr_seq:_D {#1}{#2}}%
\def\XINT_expr_seq:_D #1#2{\expandafter\XINT_expr_seq:_E
- \romannumeral-`0\expandafter\XINT_expr_unlock\romannumeral0#2{#1}{#2}}%
+ \romannumeral`&&@\expandafter\XINT_expr_unlock\romannumeral0#2{#1}{#2}}%
\def\XINT_expr_seq:_E #1{\if #1^\xint_dothis\XINT_expr_seq:_Abort\fi
\if #1?\xint_dothis\XINT_expr_seq:_Break\fi
\if #1!\xint_dothis\XINT_expr_seq:_Omit\fi
@@ -1480,10 +1488,10 @@
\def\XINT_expr_seq:_Abort #1!#2#3#4{}%
\def\XINT_expr_seq:_Break #1!#2#3#4{,#1}%
\def\XINT_expr_onlitteral_add
- {\expandafter\XINT_expr_onlitteral_add_f\romannumeral-`0\XINT_expr_onlitteral_seq_a {}}%
+ {\expandafter\XINT_expr_onlitteral_add_f\romannumeral`&&@\XINT_expr_onlitteral_seq_a {}}%
\def\XINT_expr_onlitteral_add_f #1#2{\xint_c_xviii `{opx}#2)\relax #1+}%
\def\XINT_expr_onlitteral_mul
- {\expandafter\XINT_expr_onlitteral_mul_f\romannumeral-`0\XINT_expr_onlitteral_seq_a {}}%
+ {\expandafter\XINT_expr_onlitteral_mul_f\romannumeral`&&@\XINT_expr_onlitteral_seq_a {}}%
\def\XINT_expr_onlitteral_mul_f #1#2{\xint_c_xviii `{opx}#2)\relax #1*}%
\expandafter\edef\csname XINT_expr_op:_+\endcsname
{\noexpand\xint_gobble_v {}{}{}\expandafter\noexpand\csname .=0\endcsname}%
@@ -1496,7 +1504,7 @@
{%
\expandafter\XINT_expr_getop\romannumeral0\expandafter\XINT_expr_op:_a
\csname XINT_expr_op:_#5\expandafter\endcsname
- \romannumeral-`0\XINT_expr_unlock #2!#5#1#3{#4}%
+ \romannumeral`&&@\XINT_expr_unlock #2!#5#1#3{#4}%
}%
\def\XINT_expr_op:_a #1#2!#3#4#5#6{\XINT_expr_op:_b {#1#4#3{#6\relax\relax !#5}}#2,^,}%
\def\XINT_expr_op:_b #1#2,{\XINT_expr_op:_c #2,#1}%
@@ -1510,7 +1518,7 @@
\def\XINT_expr_op:_end ^,#1#2#3#4{\expandafter\expandafter\expandafter\space
\expandafter\xint_gobble_iv #1}%
\def\XINT_expr_onlitteral_subs
- {\expandafter\XINT_expr_onlitteral_subs_f\romannumeral-`0\XINT_expr_onlitteral_seq_a {}}%
+ {\expandafter\XINT_expr_onlitteral_subs_f\romannumeral`&&@\XINT_expr_onlitteral_seq_a {}}%
\def\XINT_expr_onlitteral_subs_f #1#2{\xint_c_xviii `{subx}#2)\relax #1}%
\def\XINT_expr_func_subx #1#2{\XINT_allexpr_subx \xintbareeval }%
\def\XINT_flexpr_func_subx #1#2{\XINT_allexpr_subx \xintbarefloateval}%
@@ -1519,7 +1527,7 @@
{% #3 is the dummy variable, #4 is the expression to evaluate
\expandafter \XINT_expr_getop
\csname .=\expandafter\XINT_expr_subx:_a
- \romannumeral-`0\XINT_expr_unlock #2!{#1#4\relax !#3}\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #2!{#1#4\relax !#3}\endcsname
}%
\def\XINT_expr_subx:_a #1!#2%
{\expandafter\XINT_expr_subx:_end \romannumeral0#2{#1}}%
@@ -1530,7 +1538,7 @@
\def\XINT_allexpr_rseq #1#2%
{%
\expandafter\XINT_expr_rseqx\expandafter #1\expandafter
- #2\romannumeral-`0\XINT_expr_onlitteral_seq_a {}%
+ #2\romannumeral`&&@\XINT_expr_onlitteral_seq_a {}%
}%
\def\XINT_expr_rseqx #1#2#3#4%
{%
@@ -1542,7 +1550,7 @@
\expandafter \XINT_expr_getop
\csname .=\XINT_expr_unlock #2%
\expandafter\XINT_expr_rseq:_aa
- \romannumeral-`0\XINT_expr_unlock #1!{#5#4\relax !#3}#2,^,\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #1!{#5#4\relax !#3}#2,^,\endcsname
}%
\def\XINT_expr_rseq:_aa #1{\if +#1\expandafter\XINT_expr_rseq:_A\else
\expandafter\XINT_expr_rseq:_a\fi #1}%
@@ -1552,7 +1560,7 @@
\if ^#1\xint_dothis\XINT_expr_rseq:_end\fi
\xint_orthat\XINT_expr_rseq:_d #1}%
\def\XINT_expr_rseq:_d #1,~#2#3{\expandafter\XINT_expr_rseq:_e
- \romannumeral-`0\expandafter\XINT_expr_unlock\romannumeral0#3{#1}~#2{#3}}%
+ \romannumeral`&&@\expandafter\XINT_expr_unlock\romannumeral0#3{#1}~#2{#3}}%
\def\XINT_expr_rseq:_e #1{%
\if ^#1\xint_dothis\XINT_expr_rseq:_abort\fi
\if ?#1\xint_dothis\XINT_expr_rseq:_break\fi
@@ -1567,7 +1575,7 @@
\def\XINT_expr_rseq:_end ^,~#1#2{}% no nil for rseq
\def\XINT_expr_rseq:_A +#1!#2#3,^,{\XINT_expr_rseq:_D {#1}#3{#2}}%
\def\XINT_expr_rseq:_D #1#2#3{\expandafter\XINT_expr_rseq:_E
- \romannumeral-`0\expandafter\XINT_expr_unlock\romannumeral0#3{#1}~#2{#3}}%
+ \romannumeral`&&@\expandafter\XINT_expr_unlock\romannumeral0#3{#1}~#2{#3}}%
\def\XINT_expr_rseq:_E #1{\if #1^\xint_dothis\XINT_expr_rseq:_Abort\fi
\if #1?\xint_dothis\XINT_expr_rseq:_Break\fi
\if #1!\xint_dothis\XINT_expr_rseq:_Omit\fi
@@ -1585,7 +1593,7 @@
\def\XINT_allexpr_rrseq #1#2%
{%
\expandafter\XINT_expr_rrseqx\expandafter #1\expandafter
- #2\romannumeral-`0\XINT_expr_onlitteral_seq_a {}%
+ #2\romannumeral`&&@\XINT_expr_onlitteral_seq_a {}%
}%
\def\XINT_expr_rrseqx #1#2#3#4%
{%
@@ -1599,7 +1607,7 @@
\expandafter \XINT_expr_getop
\csname .=\XINT_expr_unlock #3%
\expandafter\XINT_expr_rrseq:_aa
- \romannumeral-`0\XINT_expr_unlock #1!{#6#5\relax !#4}{#2},^,\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #1!{#6#5\relax !#4}{#2},^,\endcsname
}%
\def\XINT_expr_rrseq:_aa #1{\if +#1\expandafter\XINT_expr_rrseq:_A\else
\expandafter\XINT_expr_rrseq:_a\fi #1}%
@@ -1610,7 +1618,7 @@
\if ^#1\xint_dothis\XINT_expr_rrseq:_end\fi
\xint_orthat\XINT_expr_rrseq:_d #1}%
\def\XINT_expr_rrseq:_d #1,~#2?#3{\expandafter\XINT_expr_rrseq:_e
- \romannumeral-`0\expandafter\XINT_expr_unlock\romannumeral0#3{#1}~#2?{#3}}%
+ \romannumeral`&&@\expandafter\XINT_expr_unlock\romannumeral0#3{#1}~#2?{#3}}%
\def\XINT_expr_rrseq:_goon #1!#2#3~#4?#5{,#1\expandafter\XINT_expr_rrseq:_b\expandafter
{\romannumeral0\xinttrim{-1}{\XINT_expr_lockit{#1}#4}}{#5}}%
\def\XINT_expr_rrseq:_omit #1!#2#3~{\XINT_expr_rrseq:_b }%
@@ -1628,7 +1636,7 @@
\catcode`? 3
\def\XINT_expr_rrseq:_A +#1!#2#3,^,{\XINT_expr_rrseq:_D {#1}{#3}{#2}}%
\def\XINT_expr_rrseq:_D #1#2#3{\expandafter\XINT_expr_rrseq:_E
- \romannumeral-`0\expandafter\XINT_expr_unlock\romannumeral0#3{#1}~#2?{#3}}%
+ \romannumeral`&&@\expandafter\XINT_expr_unlock\romannumeral0#3{#1}~#2?{#3}}%
\def\XINT_expr_rrseq:_Goon #1!#2#3~#4?#5%
{,#1\expandafter\XINT_expr_rrseq:_D\expandafter{\the\numexpr #3+\xint_c_i\expandafter}%
\expandafter{\romannumeral0\xinttrim{-1}{\XINT_expr_lockit{#1}#4}}{#5}}%
@@ -1647,7 +1655,7 @@
\def\XINT_allexpr_iter #1#2%
{%
\expandafter\XINT_expr_iterx\expandafter #1\expandafter
- #2\romannumeral-`0\XINT_expr_onlitteral_seq_a {}%
+ #2\romannumeral`&&@\XINT_expr_onlitteral_seq_a {}%
}%
\def\XINT_expr_iterx #1#2#3#4%
{%
@@ -1661,7 +1669,7 @@
\expandafter \XINT_expr_getop
\csname .=%
\expandafter\XINT_expr_iter:_aa
- \romannumeral-`0\XINT_expr_unlock #1!{#6#5\relax !#4}{#2},^,\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #1!{#6#5\relax !#4}{#2},^,\endcsname
}%
\def\XINT_expr_iter:_aa #1{\if +#1\expandafter\XINT_expr_iter:_A\else
\expandafter\XINT_expr_iter:_a\fi #1}%
@@ -1672,7 +1680,7 @@
\if ^#1\xint_dothis\XINT_expr_iter:_end\fi
\xint_orthat\XINT_expr_iter:_d #1}%
\def\XINT_expr_iter:_d #1,~#2?#3{\expandafter\XINT_expr_iter:_e
- \romannumeral-`0\expandafter\XINT_expr_unlock\romannumeral0#3{#1}~#2?{#3}}%
+ \romannumeral`&&@\expandafter\XINT_expr_unlock\romannumeral0#3{#1}~#2?{#3}}%
\def\XINT_expr_iter:_goon #1!#2#3~#4?#5{\expandafter\XINT_expr_iter:_b\expandafter
{\romannumeral0\xinttrim{-1}{\XINT_expr_lockit{#1}#4}}{#5}}%
\def\XINT_expr_iter:_omit #1!#2#3~{\XINT_expr_iter:_b }%
@@ -1697,7 +1705,7 @@
\catcode`? 3
\def\XINT_expr_iter:_A +#1!#2#3,^,{\XINT_expr_iter:_D {#1}{#3}{#2}}%
\def\XINT_expr_iter:_D #1#2#3{\expandafter\XINT_expr_iter:_E
- \romannumeral-`0\expandafter\XINT_expr_unlock\romannumeral0#3{#1}~#2?{#3}}%
+ \romannumeral`&&@\expandafter\XINT_expr_unlock\romannumeral0#3{#1}~#2?{#3}}%
\def\XINT_expr_iter:_Goon #1!#2#3~#4?#5%
{\expandafter\XINT_expr_iter:_D\expandafter{\the\numexpr #3+\xint_c_i\expandafter}%
\expandafter{\romannumeral0\xinttrim{-1}{\XINT_expr_lockit{#1}#4}}{#5}}%
@@ -1714,19 +1722,19 @@
\if #1?\xint_dothis\XINT_expr_iter:_Break\fi
\if #1!\xint_dothis\XINT_expr_iter:_Omit\fi
\xint_orthat{\XINT_expr_iter:_Goon #1}}%
-\def\xintANDof:csv #1{\expandafter\XINT_andof:_a\romannumeral-`0#1,,^}%
+\def\xintANDof:csv #1{\expandafter\XINT_andof:_a\romannumeral`&&@#1,,^}%
\def\XINT_andof:_a #1{\if ,#1\expandafter\XINT_andof:_e
\else\expandafter\XINT_andof:_c\fi #1}%
\def\XINT_andof:_c #1,{\xintiiifNotZero {#1}{\XINT_andof:_a}{\XINT_andof:_no}}%
\def\XINT_andof:_no #1^{0}%
\def\XINT_andof:_e #1^{1}% works with empty list
-\def\xintORof:csv #1{\expandafter\XINT_orof:_a\romannumeral-`0#1,,^}%
+\def\xintORof:csv #1{\expandafter\XINT_orof:_a\romannumeral`&&@#1,,^}%
\def\XINT_orof:_a #1{\if ,#1\expandafter\XINT_orof:_e
\else\expandafter\XINT_orof:_c\fi #1}%
\def\XINT_orof:_c #1,{\xintiiifNotZero{#1}{\XINT_orof:_yes}{\XINT_orof:_a}}%
\def\XINT_orof:_yes #1^{1}%
\def\XINT_orof:_e #1^{0}% works with empty list
-\def\xintXORof:csv #1{\expandafter\XINT_xorof:_a\expandafter 0\romannumeral-`0#1,,^}%
+\def\xintXORof:csv #1{\expandafter\XINT_xorof:_a\expandafter 0\romannumeral`&&@#1,,^}%
\def\XINT_xorof:_a #1#2,{\XINT_xorof:_b #2,#1}%
\def\XINT_xorof:_b #1{\if ,#1\expandafter\XINT_xorof:_e
\else\expandafter\XINT_xorof:_c\fi #1}%
@@ -1741,46 +1749,46 @@
\def\XINT_oncsv:_a #1#2#3%
{\if ,#3\expandafter\XINT_oncsv:_empty\else\expandafter\XINT_oncsv:_b\fi #1#2#3}%
\def\XINT_oncsv:_b #1#2#3,%
- {\expandafter\XINT_oncsv:_c \expandafter{\romannumeral-`0#2{#3}}#1#2}%
-\def\XINT_oncsv:_c #1#2#3#4,{\expandafter\XINT_oncsv:_d \romannumeral-`0#4,{#1}#2#3}%
+ {\expandafter\XINT_oncsv:_c \expandafter{\romannumeral`&&@#2{#3}}#1#2}%
+\def\XINT_oncsv:_c #1#2#3#4,{\expandafter\XINT_oncsv:_d \romannumeral`&&@#4,{#1}#2#3}%
\def\XINT_oncsv:_d #1%
{\if ^#1\expandafter\XINT_oncsv:_end\else\expandafter\XINT_oncsv:_e\fi #1}%
\def\XINT_oncsv:_e #1,#2#3#4%
- {\expandafter\XINT_oncsv:_c\expandafter {\romannumeral-`0#3{#4{#1}}{#2}}#3#4}%
+ {\expandafter\XINT_oncsv:_c\expandafter {\romannumeral`&&@#3{#4{#1}}{#2}}#3#4}%
\def\xintMaxof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintmax
- \expandafter\xint_firstofone\romannumeral-`0#1,^,{0/1[0]}}%
+ \expandafter\xint_firstofone\romannumeral`&&@#1,^,{0/1[0]}}%
\def\xintiiMaxof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintiimax
- \expandafter\xint_firstofone\romannumeral-`0#1,^,0}%
+ \expandafter\xint_firstofone\romannumeral`&&@#1,^,0}%
\def\xintMinof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintmin
- \expandafter\xint_firstofone\romannumeral-`0#1,^,{0/1[0]}}%
+ \expandafter\xint_firstofone\romannumeral`&&@#1,^,{0/1[0]}}%
\def\xintiiMinof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintiimin
- \expandafter\xint_firstofone\romannumeral-`0#1,^,0}%
+ \expandafter\xint_firstofone\romannumeral`&&@#1,^,0}%
\def\xintSum:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintadd
- \expandafter\xint_firstofone\romannumeral-`0#1,^,{0/1[0]}}%
+ \expandafter\xint_firstofone\romannumeral`&&@#1,^,{0/1[0]}}%
\def\xintiiSum:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintiiadd
- \expandafter\xint_firstofone\romannumeral-`0#1,^,0}%
+ \expandafter\xint_firstofone\romannumeral`&&@#1,^,0}%
\def\xintPrd:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintmul
- \expandafter\xint_firstofone\romannumeral-`0#1,^,{1/1[0]}}%
+ \expandafter\xint_firstofone\romannumeral`&&@#1,^,{1/1[0]}}%
\def\xintiiPrd:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintiimul
- \expandafter\xint_firstofone\romannumeral-`0#1,^,1}%
+ \expandafter\xint_firstofone\romannumeral`&&@#1,^,1}%
\def\xintGCDof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintgcd
- \expandafter\xint_firstofone\romannumeral-`0#1,^,1}%
+ \expandafter\xint_firstofone\romannumeral`&&@#1,^,1}%
\def\xintLCMof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintlcm
- \expandafter\xint_firstofone\romannumeral-`0#1,^,0}%
+ \expandafter\xint_firstofone\romannumeral`&&@#1,^,0}%
\def\xintiiGCDof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintiigcd
- \expandafter\xint_firstofone\romannumeral-`0#1,^,1}%
+ \expandafter\xint_firstofone\romannumeral`&&@#1,^,1}%
\def\xintiiLCMof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintiilcm
- \expandafter\xint_firstofone\romannumeral-`0#1,^,0}%
+ \expandafter\xint_firstofone\romannumeral`&&@#1,^,0}%
\def\XINTinFloatdigits {\XINTinFloat [\XINTdigits]}%
\def\XINTinFloatSqrtdigits {\XINTinFloatSqrt [\XINTdigits]}%
\def\XINTinFloatMaxof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintmax
- \expandafter\XINTinFloatdigits\romannumeral-`0#1,^,{0[0]}}%
+ \expandafter\XINTinFloatdigits\romannumeral`&&@#1,^,{0[0]}}%
\def\XINTinFloatMinof:csv #1{\expandafter\XINT_oncsv:_a\expandafter\xintmin
- \expandafter\XINTinFloatdigits\romannumeral-`0#1,^,{0[0]}}%
+ \expandafter\XINTinFloatdigits\romannumeral`&&@#1,^,{0[0]}}%
\def\XINTinFloatSum:csv #1{\expandafter\XINT_oncsv:_a\expandafter\XINTinfloatadd
- \expandafter\XINTinFloatdigits\romannumeral-`0#1,^,{0[0]}}%
+ \expandafter\XINTinFloatdigits\romannumeral`&&@#1,^,{0[0]}}%
\def\XINTinFloatPrd:csv #1{\expandafter\XINT_oncsv:_a\expandafter\XINTinfloatmul
- \expandafter\XINTinFloatdigits\romannumeral-`0#1,^,{1[0]}}%
+ \expandafter\XINTinFloatdigits\romannumeral`&&@#1,^,{1[0]}}%
\def\XINT_expr_twoargs #1,#2,{{#1}{#2}}%
\def\XINT_expr_argandopt #1,#2,#3.#4#5%
{%
@@ -1846,7 +1854,7 @@
{%
\expandafter #1\expandafter #2\csname .=%
\expandafter\XINT_expr_argandopt
- \romannumeral-`0\XINT_expr_unlock#3,,.\XINTinFloatSqrtdigits\XINTinFloatSqrt
+ \romannumeral`&&@\XINT_expr_unlock#3,,.\XINTinFloatSqrtdigits\XINTinFloatSqrt
\endcsname
}%
\let\XINT_flexpr_func_sqrt\XINT_expr_func_sqrt
@@ -1859,34 +1867,34 @@
\expandafter #1\expandafter #2\csname .=%
\expandafter\XINT_expr_oneortwo
\expandafter\xintiRound\expandafter\xintRound
- \romannumeral-`0\XINT_expr_unlock #3,,.\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #3,,.\endcsname
}%
\let\XINT_flexpr_func_round\XINT_expr_func_round
\def\XINT_iiexpr_func_round #1#2#3%
{%
\expandafter #1\expandafter #2\csname .=%
\expandafter\XINT_iiexpr_oneortwo\expandafter\xintiRound
- \romannumeral-`0\XINT_expr_unlock #3,,.\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #3,,.\endcsname
}%
\def\XINT_expr_func_trunc #1#2#3%
{%
\expandafter #1\expandafter #2\csname .=%
\expandafter\XINT_expr_oneortwo
\expandafter\xintiTrunc\expandafter\xintTrunc
- \romannumeral-`0\XINT_expr_unlock #3,,.\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #3,,.\endcsname
}%
\let\XINT_flexpr_func_trunc\XINT_expr_func_trunc
\def\XINT_iiexpr_func_trunc #1#2#3%
{%
\expandafter #1\expandafter #2\csname .=%
\expandafter\XINT_iiexpr_oneortwo\expandafter\xintiTrunc
- \romannumeral-`0\XINT_expr_unlock #3,,.\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #3,,.\endcsname
}%
\def\XINT_expr_func_float #1#2#3%
{%
\expandafter #1\expandafter #2\csname .=%
\expandafter\XINT_expr_argandopt
- \romannumeral-`0\XINT_expr_unlock #3,,.\XINTinFloatdigits\XINTinFloat
+ \romannumeral`&&@\XINT_expr_unlock #3,,.\XINTinFloatdigits\XINTinFloat
\endcsname
}%
\let\XINT_flexpr_func_float\XINT_expr_func_float
@@ -1895,28 +1903,28 @@
\expandafter #1\expandafter #2\csname .=%
\expandafter\expandafter\expandafter\xintMod
\expandafter\XINT_expr_twoargs
- \romannumeral-`0\XINT_expr_unlock #3,\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #3,\endcsname
}%
\def\XINT_flexpr_func_mod #1#2#3%
{%
\expandafter #1\expandafter #2\csname .=%
\expandafter\XINTinFloatMod
- \romannumeral-`0\expandafter\XINT_expr_twoargs
- \romannumeral-`0\XINT_expr_unlock #3,\endcsname
+ \romannumeral`&&@\expandafter\XINT_expr_twoargs
+ \romannumeral`&&@\XINT_expr_unlock #3,\endcsname
}%
\def\XINT_iiexpr_func_mod #1#2#3%
{%
\expandafter #1\expandafter #2\csname .=%
\expandafter\expandafter\expandafter\xintiiMod
\expandafter\XINT_expr_twoargs
- \romannumeral-`0\XINT_expr_unlock #3,\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #3,\endcsname
}%
\def\XINT_expr_func_quo #1#2#3%
{%
\expandafter #1\expandafter #2\csname .=%
\expandafter\expandafter\expandafter\xintiQuo
\expandafter\XINT_expr_twoargs
- \romannumeral-`0\XINT_expr_unlock #3,\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #3,\endcsname
}%
\let\XINT_flexpr_func_quo\XINT_expr_func_quo
\def\XINT_iiexpr_func_quo #1#2#3%
@@ -1924,14 +1932,14 @@
\expandafter #1\expandafter #2\csname .=%
\expandafter\expandafter\expandafter\xintiiQuo
\expandafter\XINT_expr_twoargs
- \romannumeral-`0\XINT_expr_unlock #3,\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #3,\endcsname
}%
\def\XINT_expr_func_rem #1#2#3%
{%
\expandafter #1\expandafter #2\csname .=%
\expandafter\expandafter\expandafter\xintiRem
\expandafter\XINT_expr_twoargs
- \romannumeral-`0\XINT_expr_unlock #3,\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #3,\endcsname
}%
\let\XINT_flexpr_func_rem\XINT_expr_func_rem
\def\XINT_iiexpr_func_rem #1#2#3%
@@ -1939,7 +1947,7 @@
\expandafter #1\expandafter #2\csname .=%
\expandafter\expandafter\expandafter\xintiiRem
\expandafter\XINT_expr_twoargs
- \romannumeral-`0\XINT_expr_unlock #3,\endcsname
+ \romannumeral`&&@\XINT_expr_unlock #3,\endcsname
}%
\def\XINT_expr_func_gcd #1#2#3%
{\expandafter #1\expandafter #2\csname
@@ -2022,26 +2030,26 @@
\def\xintifNotZero: #1,#2,#3,{\xintiiifNotZero{#1}{#2}{#3}}%
\def\XINT_expr_func_if #1#2#3%
{\expandafter #1\expandafter #2\csname
- .=\expandafter\xintifNotZero:\romannumeral-`0\XINT_expr_unlock #3,\endcsname }%
+ .=\expandafter\xintifNotZero:\romannumeral`&&@\XINT_expr_unlock #3,\endcsname }%
\let\XINT_flexpr_func_if\XINT_expr_func_if
\let\XINT_iiexpr_func_if\XINT_expr_func_if
\def\xintifSgn: #1,#2,#3,#4,{\xintiiifSgn{#1}{#2}{#3}{#4}}%
\def\XINT_expr_func_ifsgn #1#2#3%
{%
\expandafter #1\expandafter #2\csname
- .=\expandafter\xintifSgn:\romannumeral-`0\XINT_expr_unlock #3,\endcsname
+ .=\expandafter\xintifSgn:\romannumeral`&&@\XINT_expr_unlock #3,\endcsname
}%
\let\XINT_flexpr_func_ifsgn\XINT_expr_func_ifsgn
\let\XINT_iiexpr_func_ifsgn\XINT_expr_func_ifsgn
\def\XINT_expr_func_first #1#2#3%
{\expandafter #1\expandafter #2\csname.=\expandafter\XINT_expr_func_firsta
- \romannumeral-`0\XINT_expr_unlock #3,^\endcsname }%
+ \romannumeral`&&@\XINT_expr_unlock #3,^\endcsname }%
\def\XINT_expr_func_firsta #1,#2^{#1}%
\let\XINT_flexpr_func_first\XINT_expr_func_first
\let\XINT_iiexpr_func_first\XINT_expr_func_first
\def\XINT_expr_func_last #1#2#3% will not work in \xintNewExpr if macro param involved
{\expandafter #1\expandafter #2\csname.=\expandafter\XINT_expr_func_lasta
- \romannumeral-`0\XINT_expr_unlock #3,^\endcsname }%
+ \romannumeral`&&@\XINT_expr_unlock #3,^\endcsname }%
\def\XINT_expr_func_lasta #1,#2%
{\if ^#2 #1\expandafter\xint_gobble_ii\fi \XINT_expr_func_lasta #2}%
\let\XINT_flexpr_func_last\XINT_expr_func_last
@@ -2069,9 +2077,9 @@
{\xintListWithSep,{\xintRevWithBraces {\xintCSVtoListNonStripped{#1}}}}%
\def\xintSeqB:f:csv #1#2%
{\expandafter\XINT_seqb:f:csv \expandafter{\romannumeral0\xintraw{#2}}{#1}}%
-\def\XINT_seqb:f:csv #1#2{\expandafter\XINT_seqb:f:csv_a\romannumeral-`0#2#1!}%
+\def\XINT_seqb:f:csv #1#2{\expandafter\XINT_seqb:f:csv_a\romannumeral`&&@#2#1!}%
\def\XINT_seqb:f:csv_a #1#2;#3;#4!{%
- \expandafter\xint_gobble_i\romannumeral-`0%
+ \expandafter\xint_gobble_i\romannumeral`&&@%
\xintifCmp {#3}{#4}\XINT_seqb:f:csv_bl\XINT_seqb:f:csv_be\XINT_seqb:f:csv_bg
#1{#3}{#4}{}{#2}}%
\def\XINT_seqb:f:csv_be #1#2#3#4#5{,#2}%
@@ -2098,10 +2106,10 @@
\def\XINT_seqb:f:csv_nb #1#2#3#4{#3,#1}%
\def\XINT_seqb:f:csv_nc #1#2#3#4{#3}%
\def\xintiiSeqb:f:csv #1#2%
- {\expandafter\XINT_iiseqb:f:csv \expandafter{\romannumeral-`0#2}{#1}}%
-\def\XINT_iiseqb:f:csv #1#2{\expandafter\XINT_iiseqb:f:csv_a\romannumeral-`0#2#1!}%
+ {\expandafter\XINT_iiseqb:f:csv \expandafter{\romannumeral`&&@#2}{#1}}%
+\def\XINT_iiseqb:f:csv #1#2{\expandafter\XINT_iiseqb:f:csv_a\romannumeral`&&@#2#1!}%
\def\XINT_iiseqb:f:csv_a #1#2;#3;#4!{%
- \expandafter\xint_gobble_i\romannumeral-`0%
+ \expandafter\xint_gobble_i\romannumeral`&&@%
\xintSgnFork{\XINT_Cmp {#3}{#4}}%
\XINT_iiseqb:f:csv_bl\XINT_seqb:f:csv_be\XINT_iiseqb:f:csv_bg
#1{#3}{#4}{}{#2}}%
@@ -2127,9 +2135,9 @@
}%
\def\XINTinFloatSeqB:f:csv #1#2{\expandafter\XINT_flseqb:f:csv \expandafter
{\romannumeral0\XINTinfloat [\XINTdigits]{#2}}{#1}}%
-\def\XINT_flseqb:f:csv #1#2{\expandafter\XINT_flseqb:f:csv_a\romannumeral-`0#2#1!}%
+\def\XINT_flseqb:f:csv #1#2{\expandafter\XINT_flseqb:f:csv_a\romannumeral`&&@#2#1!}%
\def\XINT_flseqb:f:csv_a #1#2;#3;#4!{%
- \expandafter\xint_gobble_i\romannumeral-`0%
+ \expandafter\xint_gobble_i\romannumeral`&&@%
\xintifCmp {#3}{#4}\XINT_flseqb:f:csv_bl\XINT_seqb:f:csv_be\XINT_flseqb:f:csv_bg
#1{#3}{#4}{}{#2}}%
\def\XINT_flseqb:f:csv_bl #1{\if #1p\expandafter\XINT_flseqb:f:csv_pa\else
@@ -2153,24 +2161,24 @@
\XINT_seqb:f:csv_nc\XINT_seqb:f:csv_nb\XINT_flseqb:f:csv_na {#1}{#2}%
}%
\def\xintApply::csv #1#2%
- {\expandafter\XINT_applyon::_a\expandafter {\romannumeral-`0#2}{#1}}%
+ {\expandafter\XINT_applyon::_a\expandafter {\romannumeral`&&@#2}{#1}}%
\def\XINT_applyon::_a #1#2{\XINT_applyon::_b {#2}{}#1,,}%
-\def\XINT_applyon::_b #1#2#3,{\expandafter\XINT_applyon::_c \romannumeral-`0#3,{#1}{#2}}%
+\def\XINT_applyon::_b #1#2#3,{\expandafter\XINT_applyon::_c \romannumeral`&&@#3,{#1}{#2}}%
\def\XINT_applyon::_c #1{\if #1,\expandafter\XINT_applyon::_end
\else\expandafter\XINT_applyon::_d\fi #1}%
-\def\XINT_applyon::_d #1,#2{\expandafter\XINT_applyon::_e\romannumeral-`0#2{#1},{#2}}%
+\def\XINT_applyon::_d #1,#2{\expandafter\XINT_applyon::_e\romannumeral`&&@#2{#1},{#2}}%
\def\XINT_applyon::_e #1,#2#3{\XINT_applyon::_b {#2}{#3, #1}}%
\def\XINT_applyon::_end #1,#2#3{\xint_secondoftwo #3}%
\def\xintApply:::csv #1#2#3%
- {\expandafter\XINT_applyon:::_a\expandafter{\romannumeral-`0#2}{#1}{#3}}%
+ {\expandafter\XINT_applyon:::_a\expandafter{\romannumeral`&&@#2}{#1}{#3}}%
\def\XINT_applyon:::_a #1#2#3{\XINT_applyon:::_b {#2}{#3}{}#1,,}%
\def\XINT_applyon:::_b #1#2#3#4,%
- {\expandafter\XINT_applyon:::_c \romannumeral-`0#4,{#1}{#2}{#3}}%
+ {\expandafter\XINT_applyon:::_c \romannumeral`&&@#4,{#1}{#2}{#3}}%
\def\XINT_applyon:::_c #1{\if #1,\expandafter\XINT_applyon:::_end
\else\expandafter\XINT_applyon:::_d\fi #1}%
\def\XINT_applyon:::_d #1,#2#3%
{\expandafter\XINT_applyon:::_e\expandafter
- {\romannumeral-`0\xintApply::csv {#2{#1}}{#3}},{#2}{#3}}%
+ {\romannumeral`&&@\xintApply::csv {#2{#1}}{#3}},{#2}{#3}}%
\def\XINT_applyon:::_e #1,#2#3#4{\XINT_applyon:::_b {#2}{#3}{#4, #1}}%
\def\XINT_applyon:::_end #1,#2#3#4{\xint_secondoftwo #4}%
\def\XINT_expr_RApply::csv #1#2#3#4%
@@ -2180,7 +2188,7 @@
\catcode`~ 12 % by the way, catcode is set to 3 in \XINTsetupcatcodes
\catcode`$ 12 % $
\def\XINT_xptwo_getab_b #1#2!#3%
- {\expandafter\XINT_xptwo_getab_c\romannumeral-`0#3!#1{#1#2}}%
+ {\expandafter\XINT_xptwo_getab_c\romannumeral`&&@#3!#1{#1#2}}%
\def\XINT_xptwo_getab_c #1#2!#3#4#5#6{#1#3{#5}{#6}{#1#2}{#4}}%
\def\xint_ddfork #1$$#2#3\krof {#2}% $$
\def\XINT_NEfork #1#2{\xint_ddfork
@@ -2211,8 +2219,8 @@
\expandafter\let\csname xint#1NE\expandafter\endcsname\csname xint#1\expandafter
\endcsname\expandafter\def\csname xint#1\endcsname ####1####2{%
\expandafter\XINT_NEfork
- \romannumeral-`0\expandafter\XINT_xptwo_getab_b
- \romannumeral-`0####2!{####1}{~xint#1}{xint#1}}%
+ \romannumeral`&&@\expandafter\XINT_xptwo_getab_b
+ \romannumeral`&&@####2!{####1}{~xint#1}{xint#1}}%
}%
}% cela aurait-il un sens d'ajouter Raw et iNum (à cause de qint, qfrac,
% qfloat?). Pas le temps d'y réfléchir. Je ne fais rien.
@@ -2223,7 +2231,7 @@
\expandafter{\the\toks0%
\expandafter\let\csname xint#1NE\expandafter\endcsname\csname xint#1\expandafter
\endcsname\expandafter\def\csname xint#1\endcsname ####1{%
- \expandafter\XINT_NEfork_one\romannumeral-`0####1!{~xint#1}{xint#1}{}{}}%
+ \expandafter\XINT_NEfork_one\romannumeral`&&@####1!{~xint#1}{xint#1}{}{}}%
}%
}%
\toks0
@@ -2231,7 +2239,7 @@
\let\XINTinFloatFacNE\XINTinFloatFac
\def\XINTinFloatFac ##1{%
\expandafter\XINT_NEfork_one
- \romannumeral-`0##1!{~XINTinFloatFac}{XINTinFloatFac}{}{}}%
+ \romannumeral`&&@##1!{~XINTinFloatFac}{XINTinFloatFac}{}{}}%
}%
\xintFor #1 in {Add,Sub,Mul,Div,Power,E,Mod,SeqA::csv}\do
{\toks0
@@ -2240,8 +2248,8 @@
\csname XINTinFloat#1\expandafter\endcsname
\expandafter\def\csname XINTinFloat#1\endcsname ####1####2{%
\expandafter\XINT_NEfork
- \romannumeral-`0\expandafter\XINT_xptwo_getab_b
- \romannumeral-`0####2!{####1}{~XINTinFloat#1}{XINTinFloat#1}}%
+ \romannumeral`&&@\expandafter\XINT_xptwo_getab_b
+ \romannumeral`&&@####2!{####1}{~XINTinFloat#1}{XINTinFloat#1}}%
}%
}%
\xintFor #1 in {XINTinFloatdigits,XINTinFloatFracdigits,XINTinFloatSqrtdigits}\do
@@ -2249,7 +2257,7 @@
\expandafter{\the\toks0%
\expandafter\let\csname #1NE\expandafter\endcsname\csname #1\expandafter
\endcsname\expandafter\def\csname #1\endcsname ####1{\expandafter
- \XINT_NEfork_one\romannumeral-`0####1!{~#1}{#1}{}{}}%
+ \XINT_NEfork_one\romannumeral`&&@####1!{~#1}{#1}{}{}}%
}%
}%
\xintFor #1 in {xintSeq::csv,xintiiSeq::csv,XINTinFloatSeq::csv}\do
@@ -2258,8 +2266,8 @@
\expandafter\let\csname #1NE\expandafter\endcsname\csname #1\expandafter
\endcsname\expandafter\def\csname #1\endcsname ####1####2{%
\expandafter\XINT_NEfork
- \romannumeral-`0\expandafter\XINT_xptwo_getab_b
- \romannumeral-`0####2!{####1}{$noexpand$#1}{#1}}%
+ \romannumeral`&&@\expandafter\XINT_xptwo_getab_b
+ \romannumeral`&&@####2!{####1}{$noexpand$#1}{#1}}%
}%
}%
\xintFor #1 in {xintSeqB,xintiiSeqB,XINTinFloatSeqB}\do
@@ -2268,8 +2276,8 @@
\expandafter\let\csname #1::csvNE\expandafter\endcsname\csname #1::csv\expandafter
\endcsname\expandafter\def\csname #1::csv\endcsname ####1####2{%
\expandafter\XINT_NEfork
- \romannumeral-`0\expandafter\XINT_xptwo_getab_b
- \romannumeral-`0####2!{####1}{$noexpand$#1:f:csv}{#1::csv}}%
+ \romannumeral`&&@\expandafter\XINT_xptwo_getab_b
+ \romannumeral`&&@####2!{####1}{$noexpand$#1:f:csv}{#1::csv}}%
}%
}%
\toks0
@@ -2277,11 +2285,11 @@
\let\XINTinFloatNE\XINTinFloat
\def\XINTinFloat [##1]##2{% not ultimately general, but got tired
\expandafter\XINT_NEfork_one
- \romannumeral-`0##2!{~XINTinFloat[##1]}{XINTinFloat}{}{[##1]}}%
+ \romannumeral`&&@##2!{~XINTinFloat[##1]}{XINTinFloat}{}{[##1]}}%
\let\XINTinFloatSqrtNE\XINTinFloatSqrt
\def\XINTinFloatSqrt [##1]##2{%
\expandafter\XINT_NEfork_one
- \romannumeral-`0##2!{~XINTinFloatSqrt[##1]}{XINTinFloatSqrt}{}{[##1]}}%
+ \romannumeral`&&@##2!{~XINTinFloatSqrt[##1]}{XINTinFloatSqrt}{}{[##1]}}%
}%
\xintFor #1 in {ANDof,ORof,XORof,iiMaxof,iiMinof,iiSum,iiPrd,
GCDof,LCMof,Sum,Prd,Maxof,Minof}\do
@@ -2301,11 +2309,11 @@
\def\XINT_expr_unlock_sp ##1.;##2##3.=##4!{\if -##2\expandafter\xint_firstoftwo
\else\expandafter\xint_secondoftwo\fi \XINTdigits{{##2##3}}{##4}}%
\def\XINT_expr_print ##1{\expandafter\xintSPRaw::csv\expandafter
- {\romannumeral-`0\XINT_expr_unlock ##1}}%
+ {\romannumeral`&&@\XINT_expr_unlock ##1}}%
\def\XINT_iiexpr_print ##1{\expandafter\xintCSV::csv\expandafter
- {\romannumeral-`0\XINT_expr_unlock ##1}}%
+ {\romannumeral`&&@\XINT_expr_unlock ##1}}%
\def\XINT_boolexpr_print ##1{\expandafter\xintIsTrue::csv\expandafter
- {\romannumeral-`0\XINT_expr_unlock ##1}}%
+ {\romannumeral`&&@\XINT_expr_unlock ##1}}%
\def\xintCSV::csv {~xintCSV::csv }% spaces to separate from possible catcode 11
\def\xintSPRaw::csv {~xintSPRaw::csv }% stuff after
\def\xintPFloat::csv {~xintPFloat::csv }%
@@ -2320,7 +2328,7 @@
\def\xintNewIExpr {\xint_NewExpr\xinttheiexpr }%
\def\xintNewIIExpr {\xint_NewExpr\xinttheiiexpr }%
\def\xintNewBoolExpr {\xint_NewExpr\xinttheboolexpr }%
-\def\XINT_newexpr_finish #1>{\noexpand\romannumeral-`0}%
+\def\XINT_newexpr_finish #1>{\noexpand\romannumeral`&&@}%
\def\xint_NewExpr #1#2[#3]%
{%
\begingroup
@@ -2350,7 +2358,7 @@
\endlinechar -1 \everyeof {\noexpand }@
\edef\XINT_tmpb
{\scantokens\expandafter
- {\romannumeral-`0\expandafter%1\XINT_tmpa {#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}\relax}@
+ {\romannumeral`&&@\expandafter%1\XINT_tmpa {#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}\relax}@
}@
\escapechar 92 \catcode`# 6 \catcode`$ 0 @ $
\the\toks0
diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty
index 59030c1e9be..0b91335890c 100644
--- a/Master/texmf-dist/tex/generic/xint/xintfrac.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintfrac.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.2 2015/10/10
+%% The xint bundle v1.2a 2015/10/19
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintfrac: Expandable operations on fractions
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintfrac}%
- [2015/10/10 v1.2 Expandable operations on fractions (jfB)]%
+ [2015/10/19 v1.2a Expandable operations on fractions (jfB)]%
\def\XINT_cntSgnFork #1%
{%
\ifcase #1\expandafter\xint_secondofthree
@@ -89,7 +89,7 @@
\the\numexpr -1+\XINT_Abs {#1}+\XINT_Len {#2}+\XINT_Len {#3}\relax
}%
\def\XINT_lenrord_loop #1#2#3#4#5#6#7#8#9%
-{% faire \romannumeral-`0\XINT_lenrord_loop 0{}#1\Z\W\W\W\W\W\W\W\Z
+{% faire \romannumeral`&&@\XINT_lenrord_loop 0{}#1\Z\W\W\W\W\W\W\W\Z
\xint_gob_til_W #9\XINT_lenrord_W\W
\expandafter\XINT_lenrord_loop\expandafter
{\the\numexpr #1+7}{#9#8#7#6#5#4#3#2}%
@@ -149,7 +149,7 @@
\def\XINT_inFrac {\romannumeral0\XINT_infrac }%
\def\XINT_infrac #1%
{%
- \expandafter\XINT_infrac_fork\romannumeral-`0#1/\XINT_W[\XINT_W\XINT_T
+ \expandafter\XINT_infrac_fork\romannumeral`&&@#1/\XINT_W[\XINT_W\XINT_T
}%
\def\XINT_infrac_fork #1[#2%
{%
@@ -175,7 +175,7 @@
\def\XINT_infrac_res_ca #1[#2]/\XINT_W[\XINT_W\XINT_T
{\expandafter{\the\numexpr 0#2}{#1}{1}}%
\def\XINT_infrac_res_cb #1/#2[%
- {\expandafter\XINT_infrac_res_cc\romannumeral-`0#2~#1[}%
+ {\expandafter\XINT_infrac_res_cc\romannumeral`&&@#2~#1[}%
\def\XINT_infrac_res_cc #1~#2[#3]/\XINT_W[\XINT_W\XINT_T
{\expandafter{\the\numexpr 0#3}{#2}{#1}}%
\def\XINT_frac_gen #1/#2%
@@ -190,7 +190,7 @@
\def\XINT_frac_gen_B #1/#2/\XINT_W[%\XINT_W
{%
\expandafter\XINT_frac_gen_Ba
- \romannumeral-`0#2ee.\XINT_W\XINT_Z #1ee.%\XINT_W
+ \romannumeral`&&@#2ee.\XINT_W\XINT_Z #1ee.%\XINT_W
}%
\def\XINT_frac_gen_Ba #1.#2%
{%
@@ -204,7 +204,7 @@
{\expandafter\XINT_frac_gen_C\the\numexpr 0#2~#1!}%
\def\XINT_frac_gen_Bc #1.#2e%
{%
- \expandafter\XINT_frac_gen_Bd\romannumeral-`0#2.#1e%
+ \expandafter\XINT_frac_gen_Bd\romannumeral`&&@#2.#1e%
}%
\def\XINT_frac_gen_Bd #1.#2e#3e#4\XINT_Z
{%
@@ -230,7 +230,7 @@
}%
\def\XINT_frac_gen_Cb #1.#2e%
{%
- \expandafter\XINT_frac_gen_Cc\romannumeral-`0#2.#1e%
+ \expandafter\XINT_frac_gen_Cc\romannumeral`&&@#2.#1e%
}%
\def\XINT_frac_gen_Cc #1.#2~#3!#4e#5e#6\XINT_T
{%
@@ -1412,7 +1412,7 @@
{%
\expandafter\XINT_float_T\expandafter
{\the\numexpr #4+\xint_c_i\expandafter}%
- \romannumeral-`0\XINT_lenrord_loop 0{}#2\Z\W\W\W\W\W\W\W\Z #1{#3}{#4}%
+ \romannumeral`&&@\XINT_lenrord_loop 0{}#2\Z\W\W\W\W\W\W\W\Z #1{#3}{#4}%
}%
\def\XINT_float_T #1#2#3%
{%
@@ -1556,7 +1556,7 @@
{%
\expandafter\XINT_infloat_T\expandafter
{\the\numexpr #3+\xint_c_i\expandafter}%
- \romannumeral-`0\XINT_lenrord_loop 0{}#1\Z\W\W\W\W\W\W\W\Z
+ \romannumeral`&&@\XINT_lenrord_loop 0{}#1\Z\W\W\W\W\W\W\W\Z
{#2}%
}%
\def\XINT_infloat_T #1#2#3%
@@ -1706,11 +1706,11 @@
\def\xintSum {\romannumeral0\xintsum }%
\def\xintsum #1{\xintsumexpr #1\relax }%
\def\xintSumExpr {\romannumeral0\xintsumexpr }%
-\def\xintsumexpr {\expandafter\XINT_fsumexpr\romannumeral-`0}%
+\def\xintsumexpr {\expandafter\XINT_fsumexpr\romannumeral`&&@}%
\def\XINT_fsumexpr {\XINT_fsum_loop_a {0/1[0]}}%
\def\XINT_fsum_loop_a #1#2%
{%
- \expandafter\XINT_fsum_loop_b \romannumeral-`0#2\Z {#1}%
+ \expandafter\XINT_fsum_loop_b \romannumeral`&&@#2\Z {#1}%
}%
\def\XINT_fsum_loop_b #1%
{%
@@ -1799,11 +1799,11 @@
\def\xintPrd {\romannumeral0\xintprd }%
\def\xintprd #1{\xintprdexpr #1\relax }%
\def\xintPrdExpr {\romannumeral0\xintprdexpr }%
-\def\xintprdexpr {\expandafter\XINT_fprdexpr \romannumeral-`0}%
+\def\xintprdexpr {\expandafter\XINT_fprdexpr \romannumeral`&&@}%
\def\XINT_fprdexpr {\XINT_fprod_loop_a {1/1[0]}}%
\def\XINT_fprod_loop_a #1#2%
{%
- \expandafter\XINT_fprod_loop_b \romannumeral-`0#2\Z {#1}%
+ \expandafter\XINT_fprod_loop_b \romannumeral`&&@#2\Z {#1}%
}%
\def\XINT_fprod_loop_b #1%
{%
@@ -1919,7 +1919,7 @@
}%
\def\XINT_fgeq_D #1#2#3%
{%
- \expandafter\XINT_cntSgnFork\romannumeral-`0\expandafter\XINT_cntSgn
+ \expandafter\XINT_cntSgnFork\romannumeral`&&@\expandafter\XINT_cntSgn
\the\numexpr #2+\xintLength{#3}-\xintLength{#1}\relax\Z
{ 0}{\XINT_fgeq_E #2\Z {#3}{#1}}{ 1}%
}%
@@ -1976,10 +1976,10 @@
\fi
}%
\def\xintMaxof {\romannumeral0\xintmaxof }%
-\def\xintmaxof #1{\expandafter\XINT_maxof_a\romannumeral-`0#1\relax }%
+\def\xintmaxof #1{\expandafter\XINT_maxof_a\romannumeral`&&@#1\relax }%
\def\XINT_maxof_a #1{\expandafter\XINT_maxof_b\romannumeral0\xintraw{#1}\Z }%
\def\XINT_maxof_b #1\Z #2%
- {\expandafter\XINT_maxof_c\romannumeral-`0#2\Z {#1}\Z}%
+ {\expandafter\XINT_maxof_c\romannumeral`&&@#2\Z {#1}\Z}%
\def\XINT_maxof_c #1%
{\xint_gob_til_relax #1\XINT_maxof_e\relax\XINT_maxof_d #1}%
\def\XINT_maxof_d #1\Z
@@ -2020,10 +2020,10 @@
\fi
}%
\def\xintMinof {\romannumeral0\xintminof }%
-\def\xintminof #1{\expandafter\XINT_minof_a\romannumeral-`0#1\relax }%
+\def\xintminof #1{\expandafter\XINT_minof_a\romannumeral`&&@#1\relax }%
\def\XINT_minof_a #1{\expandafter\XINT_minof_b\romannumeral0\xintraw{#1}\Z }%
\def\XINT_minof_b #1\Z #2%
- {\expandafter\XINT_minof_c\romannumeral-`0#2\Z {#1}\Z}%
+ {\expandafter\XINT_minof_c\romannumeral`&&@#2\Z {#1}\Z}%
\def\XINT_minof_c #1%
{\xint_gob_til_relax #1\XINT_minof_e\relax\XINT_minof_d #1}%
\def\XINT_minof_d #1\Z
@@ -2081,7 +2081,7 @@
}%
\def\XINT_fcmp_D #1#2#3%
{%
- \expandafter\XINT_cntSgnFork\romannumeral-`0\expandafter\XINT_cntSgn
+ \expandafter\XINT_cntSgnFork\romannumeral`&&@\expandafter\XINT_cntSgn
\the\numexpr #2+\xintLength{#3}-\xintLength{#1}\relax\Z
{ -1}{\XINT_fcmp_E #2\Z {#3}{#1}}{ 1}%
}%
diff --git a/Master/texmf-dist/tex/generic/xint/xintgcd.sty b/Master/texmf-dist/tex/generic/xint/xintgcd.sty
index 187a37133df..ef6cc899122 100644
--- a/Master/texmf-dist/tex/generic/xint/xintgcd.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintgcd.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.2 2015/10/10
+%% The xint bundle v1.2a 2015/10/19
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintgcd: Euclidean algorithm with xint package
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintgcd}%
- [2015/10/10 v1.2 Euclide algorithm with xint package (jfB)]%
+ [2015/10/19 v1.2a Euclide algorithm with xint package (jfB)]%
\def\xintGCD {\romannumeral0\xintgcd }%
\def\xintgcd #1%
{%
@@ -395,16 +395,16 @@
\space {#1}{#3}{0}{1}{#2}{#4}{1}{0}%
}%
\def\xintGCDof {\romannumeral0\xintgcdof }%
-\def\xintgcdof #1{\expandafter\XINT_gcdof_a\romannumeral-`0#1\relax }%
-\def\XINT_gcdof_a #1{\expandafter\XINT_gcdof_b\romannumeral-`0#1\Z }%
-\def\XINT_gcdof_b #1\Z #2{\expandafter\XINT_gcdof_c\romannumeral-`0#2\Z {#1}\Z}%
+\def\xintgcdof #1{\expandafter\XINT_gcdof_a\romannumeral`&&@#1\relax }%
+\def\XINT_gcdof_a #1{\expandafter\XINT_gcdof_b\romannumeral`&&@#1\Z }%
+\def\XINT_gcdof_b #1\Z #2{\expandafter\XINT_gcdof_c\romannumeral`&&@#2\Z {#1}\Z}%
\def\XINT_gcdof_c #1{\xint_gob_til_relax #1\XINT_gcdof_e\relax\XINT_gcdof_d #1}%
\def\XINT_gcdof_d #1\Z {\expandafter\XINT_gcdof_b\romannumeral0\xintgcd {#1}}%
\def\XINT_gcdof_e #1\Z #2\Z { #2}%
\def\xintLCMof {\romannumeral0\xintlcmof }%
-\def\xintlcmof #1{\expandafter\XINT_lcmof_a\romannumeral-`0#1\relax }%
-\def\XINT_lcmof_a #1{\expandafter\XINT_lcmof_b\romannumeral-`0#1\Z }%
-\def\XINT_lcmof_b #1\Z #2{\expandafter\XINT_lcmof_c\romannumeral-`0#2\Z {#1}\Z}%
+\def\xintlcmof #1{\expandafter\XINT_lcmof_a\romannumeral`&&@#1\relax }%
+\def\XINT_lcmof_a #1{\expandafter\XINT_lcmof_b\romannumeral`&&@#1\Z }%
+\def\XINT_lcmof_b #1\Z #2{\expandafter\XINT_lcmof_c\romannumeral`&&@#2\Z {#1}\Z}%
\def\XINT_lcmof_c #1{\xint_gob_til_relax #1\XINT_lcmof_e\relax\XINT_lcmof_d #1}%
\def\XINT_lcmof_d #1\Z {\expandafter\XINT_lcmof_b\romannumeral0\xintlcm {#1}}%
\def\XINT_lcmof_e #1\Z #2\Z { #2}%
diff --git a/Master/texmf-dist/tex/generic/xint/xintkernel.sty b/Master/texmf-dist/tex/generic/xint/xintkernel.sty
index 2b16addfa2b..7afd90f7dad 100644
--- a/Master/texmf-dist/tex/generic/xint/xintkernel.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintkernel.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.2 2015/10/10
+%% The xint bundle v1.2a 2015/10/19
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintkernel: Paraphernalia for the xint packages
%% ---------------------------------------------------------------
@@ -61,6 +61,7 @@
\endgroup
\def\XINT_restorecatcodes
{% takes care of all, to allow more economical code in modules
+ \catcode0=\the\catcode0 %
\catcode59=\the\catcode59 % ; xintexpr
\catcode126=\the\catcode126 % ~ xintexpr
\catcode39=\the\catcode39 % ' xintexpr
@@ -122,18 +123,19 @@
\catcode47=12 % /
\catcode96=12 % `
\catcode94=11 % ^ LETTER
- \catcode36=3 % $
- \catcode91=12 % [
- \catcode93=12 % ]
- \catcode33=12 % !
- \catcode64=11 % @ LETTER
- \catcode38=12 % &
- \catcode124=12 % |
- \catcode63=11 % ? LETTER
- \catcode34=12 % "
- \catcode39=12 % '
- \catcode126=3 % ~ MATH
- \catcode59=12 % ;
+ \catcode36=3 % $
+ \catcode91=12 % [
+ \catcode93=12 % ]
+ \catcode33=12 % !
+ \catcode64=11 % @ LETTER
+ \catcode38=7 % & for \romannumeral`&&@ trick.
+ \catcode124=12 % |
+ \catcode63=11 % ? LETTER
+ \catcode34=12 % "
+ \catcode39=12 % '
+ \catcode126=3 % ~ MATH
+ \catcode59=12 % ;
+ \catcode0=12 % for \romannumeral`&&@ trick
}%
\XINT_setcatcodes
}%
@@ -154,7 +156,7 @@
\fi
\XINT_providespackage
\ProvidesPackage {xintkernel}%
- [2015/10/10 v1.2 Paraphernalia for the xint packages (jfB)]%
+ [2015/10/19 v1.2a Paraphernalia for the xint packages (jfB)]%
\chardef\xint_c_ 0
\chardef\xint_c_i 1
\chardef\xint_c_ii 2
@@ -248,7 +250,7 @@
\expandafter\expandafter\expandafter#1%
\expandafter\expandafter\expandafter }%
\def\xintfdef #1#2{\expandafter\def\expandafter#1\expandafter
- {\romannumeral-`0#2}}%
+ {\romannumeral`&&@#2}}%
\ifdefined\odef\else\let\odef\xintodef\fi
\ifdefined\oodef\else\let\oodef\xintoodef\fi
\ifdefined\fdef\else\let\fdef\xintfdef\fi
diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty
index 40cfb759761..eac6e6a2d82 100644
--- a/Master/texmf-dist/tex/generic/xint/xintseries.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintseries.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.2 2015/10/10
+%% The xint bundle v1.2a 2015/10/19
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintseries: Expandable partial sums with xint package
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintseries}%
- [2015/10/10 v1.2 Expandable partial sums with xint package (jfB)]%
+ [2015/10/19 v1.2a Expandable partial sums with xint package (jfB)]%
\def\xintSeries {\romannumeral0\xintseries }%
\def\xintseries #1#2%
{%
@@ -171,7 +171,7 @@
\else
\xint_afterfi
{\expandafter\XINT_powseriesx_pre\expandafter
- {\romannumeral-`0#4}{#1}{#2}{#3}%
+ {\romannumeral`&&@#4}{#1}{#2}{#3}%
}%
\fi
}%
@@ -226,7 +226,7 @@
\else
\xint_afterfi
{\expandafter\XINT_ratseriesx_pre\expandafter
- {\romannumeral-`0#5}{#2}{#1}{#4}{#3}%
+ {\romannumeral`&&@#5}{#2}{#1}{#4}{#3}%
}%
\fi
}%
@@ -297,7 +297,7 @@
\else
\xint_afterfi
{\expandafter \XINT_fppowseriesx_pre \expandafter
- {\romannumeral-`0#4}{#1}{#2}{#3}{#5}%
+ {\romannumeral`&&@#4}{#1}{#2}{#3}{#5}%
}%
\fi
}%
@@ -400,7 +400,7 @@
\else
\xint_afterfi
{\expandafter \XINT_flpowseriesx_pre \expandafter
- {\romannumeral-`0#5}{#1}{#2}{#4}{#3}%
+ {\romannumeral`&&@#5}{#1}{#2}{#4}{#3}%
}%
\fi
}%
diff --git a/Master/texmf-dist/tex/generic/xint/xinttools.sty b/Master/texmf-dist/tex/generic/xint/xinttools.sty
index 94b8839bea3..6cc3477b30e 100644
--- a/Master/texmf-dist/tex/generic/xint/xinttools.sty
+++ b/Master/texmf-dist/tex/generic/xint/xinttools.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.2 2015/10/10
+%% The xint bundle v1.2a 2015/10/19
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xinttools: Expandable and non-expandable utilities
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xinttools}%
- [2015/10/10 v1.2 Expandable and non-expandable utilities (jfB)]%
+ [2015/10/19 v1.2a Expandable and non-expandable utilities (jfB)]%
\newtoks\XINT_toks
\xint_firstofone{\let\XINT_sptoken= } %<- space here!
\def\xintgodef {\global\xintodef }%
@@ -81,7 +81,7 @@
\long\def\xintrevwithbraces #1%
{%
\expandafter\XINT_revwbr_loop\expandafter{\expandafter}%
- \romannumeral-`0#1\xint_relax\xint_relax\xint_relax\xint_relax
+ \romannumeral`&&@#1\xint_relax\xint_relax\xint_relax\xint_relax
\xint_relax\xint_relax\xint_relax\xint_relax\xint_bye
}%
\long\def\xintrevwithbracesnoexpand #1%
@@ -168,7 +168,7 @@
\long\def\xintcsvtolistnonstripped #1%
{%
\expandafter\XINT_csvtol_loop_a\expandafter
- {\expandafter}\romannumeral-`0#1%
+ {\expandafter}\romannumeral`&&@#1%
,\xint_bye,\xint_bye,\xint_bye,\xint_bye
,\xint_bye,\xint_bye,\xint_bye,\xint_bye,\Z
}%
@@ -213,7 +213,7 @@
\def\xintListWithSep {\romannumeral0\xintlistwithsep }%
\def\xintListWithSepNoExpand {\romannumeral0\xintlistwithsepnoexpand }%
\long\def\xintlistwithsep #1#2%
- {\expandafter\XINT_lws\expandafter {\romannumeral-`0#2}{#1}}%
+ {\expandafter\XINT_lws\expandafter {\romannumeral`&&@#2}{#1}}%
\long\def\XINT_lws #1#2{\XINT_lws_start {#2}#1\xint_bye }%
\long\def\xintlistwithsepnoexpand #1#2{\XINT_lws_start {#1}#2\xint_bye }%
\long\def\XINT_lws_start #1#2%
@@ -234,7 +234,7 @@
\def\xintnthelt #1#2%
{%
\expandafter\XINT_nthelt_a\the\numexpr #1\expandafter.%
- \expandafter{\romannumeral-`0#2}%
+ \expandafter{\romannumeral`&&@#2}%
}%
\def\xintntheltnoexpand #1%
{%
@@ -293,7 +293,7 @@
\def\xintkeep #1#2%
{%
\expandafter\XINT_keep_a\the\numexpr #1\expandafter.%
- \expandafter{\romannumeral-`0#2}%
+ \expandafter{\romannumeral`&&@#2}%
}%
\def\xintkeepnoexpand #1%
{%
@@ -370,8 +370,7 @@
\def\XINT_keep_finish_loop_a #1%
{%
\xint_gob_til_zero #1\XINT_keep_finish_z0%
- \expandafter\XINT_keep_finish_loop_b\expandafter
- {\the\numexpr #1-\xint_c_i}%
+ \expandafter\XINT_keep_finish_loop_b\expandafter {\the\numexpr #1-\xint_c_i}%
}%
\long\def\XINT_keep_finish_z0%
\expandafter\XINT_keep_finish_loop_b\expandafter #1#2#3\Z #4{ #4#2}%
@@ -384,12 +383,98 @@
\XINT_keep_finish_loop_c #1#2#3\Z #4{ #4#2}%
\long\def\XINT_keep_finish_loop_c #1#2#3%
{\XINT_keep_finish_loop_a {#1}{#2{#3}}}%
+\def\xintKeepUnbraced {\romannumeral0\xintkeepunbraced }%
+\def\xintKeepUnbracedNoExpand {\romannumeral0\xintkeepunbracednoexpand }%
+\def\xintkeepunbraced #1#2%
+{%
+ \expandafter\XINT_keepunbraced_a\the\numexpr #1\expandafter.%
+ \expandafter{\romannumeral`&&@#2}%
+}%
+\def\xintkeepnoexpand #1%
+{%
+ \expandafter\XINT_keepunbraced_a\the\numexpr #1.%
+}%
+\def\XINT_keepunbraced_a #1#2.%
+{%
+ \xint_UDzerominusfork
+ #1-{\expandafter\space\xint_gobble_i }%
+ 0#1{\XINT_keep_bneg_a {#2}}%
+ 0-{\XINT_keepunbraced_bpos {#1#2}}%
+ \krof
+}%
+\long\def\XINT_keepunbraced_bpos #1#2%
+{%
+ \XINT_keepunbraced_loop_a {#1}{}#2%
+ \xint_relax\xint_relax\xint_relax\xint_relax
+ \xint_relax\xint_relax\xint_relax\xint_bye
+}%
+\def\XINT_keepunbraced_loop_a #1%
+{%
+ \ifnum #1>\xint_c_vi
+ \expandafter\XINT_keepunbraced_loop_b
+ \else
+ \XINT_keepunbraced_finish
+ \fi
+ {#1}%
+}%
+\long\def\XINT_keepunbraced_loop_b #1#2#3#4#5#6#7#8#9%
+{%
+ \xint_gob_til_xint_relax #9\XINT_keepunbraced_enda\xint_relax
+ \expandafter\XINT_keepunbraced_loop_c\expandafter
+ {\the\numexpr #1-\xint_c_vii}{#3}{#4}{#5}{#6}{#7}{#8}{#9}.{#2}%
+}%
+\long\def\XINT_keepunbraced_loop_c #1#2#3#4#5#6#7#8.#9%
+ {\XINT_keepunbraced_loop_a {#1}{#9#2#3#4#5#6#7#8}}%
+\long\def\XINT_keepunbraced_enda\xint_relax
+ \expandafter\XINT_keepunbraced_loop_c\expandafter #1#2.#3#4\xint_bye
+{%
+ \XINT_keepunbraced_endb #4\W\W\W\W\W\W\Z #2{#3}%
+}%
+\def\XINT_keepunbraced_endb #1#2#3#4#5#6#7\Z
+{%
+ \xint_gob_til_W
+ #1\XINT_keepunbraced_endc_
+ #2\XINT_keepunbraced_endc_i
+ #3\XINT_keepunbraced_endc_ii
+ #4\XINT_keepunbraced_endc_iii
+ #5\XINT_keepunbraced_endc_iv
+ #6\XINT_keepunbraced_endc_v
+ \W\XINT_keepunbraced_endc_vi\Z
+}%
+\long\def\XINT_keepunbraced_endc_ #1\Z #2#3#4#5#6#7#8#9{ #9}%
+\long\def\XINT_keepunbraced_endc_i #1\Z #2#3#4#5#6#7#8#9{ #9#2}%
+\long\def\XINT_keepunbraced_endc_ii #1\Z #2#3#4#5#6#7#8#9{ #9#2#3}%
+\long\def\XINT_keepunbraced_endc_iii #1\Z #2#3#4#5#6#7#8#9{ #9#2#3#4}%
+\long\def\XINT_keepunbraced_endc_iv #1\Z #2#3#4#5#6#7#8#9{ #9#2#3#4#5}%
+\long\def\XINT_keepunbraced_endc_v #1\Z #2#3#4#5#6#7#8#9{ #9#2#3#4#5#6}%
+\long\def\XINT_keepunbraced_endc_vi\Z #1#2#3#4#5#6#7#8{ #8#1#2#3#4#5#6}%
+\long\def\XINT_keepunbraced_finish\fi #1#2#3#4#5#6#7#8#9\xint_bye
+{%
+ \fi\XINT_keepunbraced_finish_loop_a {#1}{}{#3}{#4}{#5}{#6}{#7}{#8}\Z {#2}%
+}%
+\def\XINT_keepunbraced_finish_loop_a #1%
+{%
+ \xint_gob_til_zero #1\XINT_keepunbraced_finish_z0%
+ \expandafter\XINT_keepunbraced_finish_loop_b\expandafter
+ {\the\numexpr #1-\xint_c_i}%
+}%
+\long\def\XINT_keepunbraced_finish_z0%
+ \expandafter\XINT_keepunbraced_finish_loop_b\expandafter #1#2#3\Z #4{ #4#2}%
+\long\def\XINT_keepunbraced_finish_loop_b #1#2#3%
+{%
+ \xint_gob_til_xint_relax #3\XINT_keepunbraced_finish_exit\xint_relax
+ \XINT_keepunbraced_finish_loop_c {#1}{#2}{#3}%
+}%
+\long\def\XINT_keepunbraced_finish_exit\xint_relax
+ \XINT_keepunbraced_finish_loop_c #1#2#3\Z #4{ #4#2}%
+\long\def\XINT_keepunbraced_finish_loop_c #1#2#3%
+ {\XINT_keepunbraced_finish_loop_a {#1}{#2#3}}%
\def\xintTrim {\romannumeral0\xinttrim }%
\def\xintTrimNoExpand {\romannumeral0\xinttrimnoexpand }%
\def\xinttrim #1#2%
{%
\expandafter\XINT_trim_a\the\numexpr #1\expandafter.%
- \expandafter{\romannumeral-`0#2}%
+ \expandafter{\romannumeral`&&@#2}%
}%
\def\xinttrimnoexpand #1%
{%
@@ -442,11 +527,42 @@
\csname xint_gobble_\romannumeral\numexpr#1\endcsname
}%
\long\def\XINT_trim_finish_a #1\xint_relax #2\xint_bye {#1}%
+\def\xintTrimUnbraced {\romannumeral0\xinttrimunbraced }%
+\def\xintTrimUnbracedNoExpand {\romannumeral0\xinttrimunbracednoexpand }%
+\def\xinttrimunbraced #1#2%
+{%
+ \expandafter\XINT_trimunbraced_a\the\numexpr #1\expandafter.%
+ \expandafter{\romannumeral`&&@#2}%
+}%
+\def\xinttrimunbracednoexpand #1%
+{%
+ \expandafter\XINT_trimunbraced_a\the\numexpr #1.%
+}%
+\def\XINT_trimunbraced_a #1#2.%
+{%
+ \xint_UDzerominusfork
+ #1-{\xint_firstofone_thenstop }%
+ 0#1{\XINT_trimunbraced_bneg_a {#2}}%
+ 0-{\XINT_trim_bpos {#1#2}}%
+ \krof
+}%
+\long\def\XINT_trimunbraced_bneg_a #1#2%
+{%
+ \expandafter\XINT_trimunbraced_bneg_b \the\numexpr \xintLength{#2}-#1.{#2}%
+}%
+\def\XINT_trimunbraced_bneg_b #1#2.%
+{%
+ \xint_UDzerominusfork
+ #1-{\expandafter\space\xint_gobble_i }%
+ 0#1{\expandafter\space\xint_gobble_i }%
+ 0-{\XINT_keepunbraced_bpos {#1#2}}%
+ \krof
+}%
\def\xintApply {\romannumeral0\xintapply }%
\def\xintApplyNoExpand {\romannumeral0\xintapplynoexpand }%
\long\def\xintapply #1#2%
{%
- \expandafter\XINT_apply\expandafter {\romannumeral-`0#2}%
+ \expandafter\XINT_apply\expandafter {\romannumeral`&&@#2}%
{#1}%
}%
\long\def\XINT_apply #1#2{\XINT_apply_loop_a {}{#2}#1\xint_bye }%
@@ -456,7 +572,7 @@
\xint_bye #3\XINT_apply_end\xint_bye
\expandafter
\XINT_apply_loop_b
- \expandafter {\romannumeral-`0#2{#3}}{#1}{#2}%
+ \expandafter {\romannumeral`&&@#2{#3}}{#1}{#2}%
}%
\long\def\XINT_apply_loop_b #1#2{\XINT_apply_loop_a {#2{#1}}}%
\long\def\XINT_apply_end\xint_bye\expandafter\XINT_apply_loop_b
@@ -465,7 +581,7 @@
\def\xintApplyUnbracedNoExpand {\romannumeral0\xintapplyunbracednoexpand }%
\long\def\xintapplyunbraced #1#2%
{%
- \expandafter\XINT_applyunbr\expandafter {\romannumeral-`0#2}%
+ \expandafter\XINT_applyunbr\expandafter {\romannumeral`&&@#2}%
{#1}%
}%
\long\def\XINT_applyunbr #1#2{\XINT_applyunbr_loop_a {}{#2}#1\xint_bye }%
@@ -475,7 +591,7 @@
{%
\xint_bye #3\XINT_applyunbr_end\xint_bye
\expandafter\XINT_applyunbr_loop_b
- \expandafter {\romannumeral-`0#2{#3}}{#1}{#2}%
+ \expandafter {\romannumeral`&&@#2{#3}}{#1}{#2}%
}%
\long\def\XINT_applyunbr_loop_b #1#2{\XINT_applyunbr_loop_a {#2#1}}%
\long\def\XINT_applyunbr_end\xint_bye\expandafter\XINT_applyunbr_loop_b
@@ -627,7 +743,7 @@
\def\XINT_xflet_zapsp
{%
\expandafter\futurelet\expandafter\XINT_token
- \expandafter\XINT_xflet_sp?\romannumeral-`0%
+ \expandafter\XINT_xflet_sp?\romannumeral`&&@%
}%
\def\XINT_xflet_sp?
{%
@@ -639,7 +755,7 @@
\def\XINT_xflet_zapspB
{%
\expandafter\futurelet\expandafter\XINT_tokenB
- \expandafter\XINT_xflet_spB?\romannumeral-`0%
+ \expandafter\XINT_xflet_spB?\romannumeral`&&@%
}%
\def\XINT_xflet_spB?
{%
@@ -810,8 +926,8 @@
\def\XINT_?expr_Va #1#2%
{%
\expandafter\XINT_?expr_Vb\expandafter
- {\romannumeral-`0\xintrawwithzeros{\xintZapSpacesB{#2}}}%
- {\romannumeral-`0\xintrawwithzeros{\xintZapSpacesB{#1}}}%
+ {\romannumeral`&&@\xintrawwithzeros{\xintZapSpacesB{#2}}}%
+ {\romannumeral`&&@\xintrawwithzeros{\xintZapSpacesB{#1}}}%
}%
\catcode`Z 3
\def\XINT_?expr_Vb #1#2{\expandafter\XINT_?expr_Vc #2.#1.}%
@@ -858,7 +974,7 @@
{%
\expandafter\expandafter\expandafter
\XINT_forever_opt_c\expandafter\the\expandafter\XINT_toks
- \romannumeral-`0#1{#4}{#5}#3%
+ \romannumeral`&&@#1{#4}{#5}#3%
}%
\long\def\XINT_forever_opt_c #1#2#3#4#5#6{\XINT_forever_d #2{#4}{#5}#6{#3}Z}%
\long\def\XINT_forever_d #1#2#3#4#5%
@@ -869,7 +985,7 @@
\the\XINT_toks \csname XINT_for_right#1\endcsname }%
\XINT_x
\let\xintifForFirst\xint_secondoftwo
- \expandafter\XINT_forever_d\expandafter #1\romannumeral-`0#4{#2}{#3}#4{#5}%
+ \expandafter\XINT_forever_d\expandafter #1\romannumeral`&&@#4{#2}{#3}#4{#5}%
}%
\catcode`j 3
\long\def\xintForpair #1#2#3in#4#5#6%
@@ -957,7 +1073,7 @@
\long\def\XINT_assign_a #1\to
{%
\def\XINT_flet_macro{\XINT_assign_b}%
- \expandafter\XINT_flet_zapsp\romannumeral-`0#1\xint_relax\to
+ \expandafter\XINT_flet_zapsp\romannumeral`&&@#1\xint_relax\to
}%
\long\def\XINT_assign_b
{%
@@ -1025,7 +1141,7 @@
\expandafter\def\expandafter\xint_arrayname\expandafter {\string #2}%
\XINT_restoreescapechar
\def\xint_itemcount {0}%
- \expandafter\XINT_assignarray_loop \romannumeral-`0#1\xint_relax
+ \expandafter\XINT_assignarray_loop \romannumeral`&&@#1\xint_relax
\csname\xint_arrayname 00\expandafter\endcsname
\csname\xint_arrayname 0\expandafter\endcsname
\expandafter {\xint_arrayname}#2%