summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xint/xintcore.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-11-16 22:23:49 +0000
committerKarl Berry <karl@freefriends.org>2015-11-16 22:23:49 +0000
commitbfcd7527b0f8985ecc54376d0e2b1aaa9f4b53e7 (patch)
treecf8d1be2d41875fb27db260922b97ae5431ca813 /Master/texmf-dist/tex/generic/xint/xintcore.sty
parentd8258d9565c2f3e2c0e2a4d6f71099f8f604bbed (diff)
xint (16nov15)
git-svn-id: svn://tug.org/texlive/trunk@38876 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xint/xintcore.sty')
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcore.sty244
1 files changed, 97 insertions, 147 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xintcore.sty b/Master/texmf-dist/tex/generic/xint/xintcore.sty
index c6a06b1a974..243794986a4 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.2b 2015/10/29
+%% The xint bundle v1.2c 2015/11/16
%% 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/29 v1.2b Expandable arithmetic on big integers (jfB)]%
+ [2015/11/16 v1.2c 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
@@ -194,6 +194,18 @@
{\expandafter\XINT_sepandrev_andcount_done\the\numexpr \xint_c_ii*#3+#1.#2}%
\edef\XINT_sepandrev_andcount_done #1.#21#3!%
{\noexpand\expandafter\space\noexpand\the\numexpr #1-#3.}%
+\def\XINT_unrevbyviii #11#2!1#3!1#4!1#5!1#6!1#7!1#8!1#9!%
+{%
+ \xint_gob_til_R #9\XINT_unrevbyviii_a\R
+ \XINT_unrevbyviii {#9#8#7#6#5#4#3#2#1}%
+}%
+\edef\XINT_unrevbyviii_a\R\XINT_unrevbyviii #1#2\W
+ {\noexpand\expandafter\space
+ \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%
+}%
\def\XINT_sepbyviii_andcount
{%
\expandafter\XINT_sepbyviii_andcount_a\the\numexpr\XINT_sepbyviii
@@ -263,19 +275,6 @@
}%
\def\XINT_div_unsepR_end\R\XINT_div_unsepR #1{\XINT_div_unsepR_done #1}%
\def\XINT_div_unsepR_done #1\R #2\W {\XINT_cuz #1\R}%
-%%%%%%%%%%%%
-\def\XINT_unrevbyviii #11#2!1#3!1#4!1#5!1#6!1#7!1#8!1#9!%
-{%
- \xint_gob_til_R #9\XINT_unrevbyviii_a\R
- \XINT_unrevbyviii {#9#8#7#6#5#4#3#2#1}%
-}%
-\edef\XINT_unrevbyviii_a\R\XINT_unrevbyviii #1#2\W
- {\noexpand\expandafter\space
- \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%
-}%
\def\XINT_microrevsep #1#2#3#4#5#6#7#8%
{%
1#8#7#6#5#4#3#2#1\expandafter!\the\numexpr\XINT_microrevsep
@@ -504,9 +503,9 @@
#1\XINT_rsepbyviii_end_A 2345678%
\XINT_rsepbyviii_end_B 2345678\relax XX%
\R.\R.\R.\R.\R.\R.\R.\R.\W
- \Z!\Z!\Z!\Z!\Z!\W
+ \Z!\Z!\Z!\Z!\W
}%
-\def\XINT_dec_pos_aa {\XINT_sub_aa 100000001!\Z!\Z!\Z!\Z!\Z!\W }%
+\def\XINT_dec_pos_aa {\XINT_sub_aa 100000001!\Z!\Z!\Z!\Z!\W }%
\def\xintInc {\romannumeral0\xintinc }%
\def\xintinc #1%
{%
@@ -530,9 +529,10 @@
#1\XINT_rsepbyviii_end_A 2345678%
\XINT_rsepbyviii_end_B 2345678\relax XX%
\R.\R.\R.\R.\R.\R.\R.\R.\W
- \Z!\Z!\Z!\Z!\Z!\W
+ 1\Z!1\Z!1\Z!1\Z!1\Z!\W
+ 1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W
}%
-\def\XINT_inc_pos_aa {\XINT_add_aa 100000001!\Z!\Z!\Z!\Z!\Z!\W }%
+\def\XINT_inc_pos_aa {\XINT_add_aa 100000001!1\Z!1\Z!1\Z!1\Z!\W }%
\def\xintiAdd {\romannumeral0\xintiadd }%
\def\xintiadd #1{\expandafter\XINT_iadd\romannumeral0\xintnum{#1}\Z }%
\def\xintiiAdd {\romannumeral0\xintiiadd }%
@@ -589,7 +589,8 @@
\XINT_rsepbyviii_end_B 2345678\relax\xint_c_ii\xint_c_iii
\R.\xint_c_vi\R.\xint_c_v\R.\xint_c_iv\R.\xint_c_iii
\R.\xint_c_ii\R.\xint_c_i\R.\xint_c_\W
- \Z!\Z!\Z!\Z!\Z!\W #2\Z!\Z!\Z!\Z!\Z!\W
+ 1\Z!1\Z!1\Z!1\Z!\W #21\Z!1\Z!1\Z!1\Z!\W
+ 1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W
}%
\def\XINT_add_checklengths #1.#2.%
{%
@@ -600,43 +601,32 @@
\fi
#1.#2.%
}%
-\def\XINT_add_exchange #1.#2.#3\Z!\Z!\Z!\Z!\Z!\W #4\Z
+\def\XINT_add_exchange #1.#2.#3\W #4\W
{%
- \XINT_add_A #2.#1.#4\Z!\Z!\Z!\Z!\Z!\W #3\Z
+ \XINT_add_A #2.#1.#4\W #3\W
}%
\def\XINT_add_A #1.#2.%
{%
- \ifnum #1>\xint_c_vi %
+ \ifnum #1>\xint_c_vi
\expandafter\XINT_add_aa
\else \expandafter\XINT_add_aa_small
\fi
}%
-%%%%%%%%%%%%
-\def\XINT_add_out #1\Z #2\W%
-{%
- \expandafter\XINT_cuz_small\romannumeral0\XINT_unrevbyviii {}%
- #11\Z!1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W
-}%
-\def\XINT_add_out_small #1\Z #2\W%
-{%
- \XINT_smallunrevbyviii #11\Z!1\R!1\R!1\R!1\R!1\R!1\R!\W
-}%
-%%%%%%%%%%%%
\def\XINT_add_aa {\expandafter\XINT_add_out\the\numexpr\XINT_add_a \xint_c_ii}%
+\def\XINT_add_out{\expandafter\XINT_cuz_small\romannumeral0\XINT_unrevbyviii {}}%
\def\XINT_add_aa_small
- {\expandafter\XINT_add_out_small\the\numexpr\XINT_add_a \xint_c_ii}%
+ {\expandafter\XINT_smallunrevbyviii\the\numexpr\XINT_add_a \xint_c_ii}%
\def\XINT_add_a #1!#2!#3!#4!#5\W #6!#7!#8!#9!%
{%
\XINT_add_b #1!#6!#2!#7!#3!#8!#4!#9!#5\W
}%
-\def\XINT_add_b #1#2!#3!%
+\def\XINT_add_b #11#2#3!#4!%
{%
\xint_gob_til_Z #2\XINT_add_bi \Z
- \expandafter\XINT_add_c\the\numexpr#1+#2+#3-\xint_c_ii.%
+ \expandafter\XINT_add_c\the\numexpr#1+1#2#3+#4-\xint_c_ii.%
}%
-\def\XINT_add_bi\Z
- \expandafter\XINT_add_c
- \the\numexpr#1+#2+#3-\xint_c_ii.#4!#5!#6!#7!#8!#9!\Z !\W
+\def\XINT_add_bi\Z\expandafter\XINT_add_c
+ \the\numexpr#1+#2+#3-\xint_c_ii.#4!#5!#6!#7!#8!#9!\W
{%
\XINT_add_k #1#3!#5!#7!#9!%
}%
@@ -644,10 +634,10 @@
{%
1#2\expandafter!\the\numexpr\XINT_add_d #1%
}%
-\def\XINT_add_d #1#2!#3!%
+\def\XINT_add_d #11#2#3!#4!%
{%
\xint_gob_til_Z #2\XINT_add_di \Z
- \expandafter\XINT_add_e\the\numexpr#1+#2+#3-\xint_c_ii.%
+ \expandafter\XINT_add_e\the\numexpr#1+1#2#3+#4-\xint_c_ii.%
}%
\def\XINT_add_di\Z\expandafter\XINT_add_e
\the\numexpr#1+#2+#3-\xint_c_ii.#4!#5!#6!#7!#8\W
@@ -658,10 +648,10 @@
{%
1#2\expandafter!\the\numexpr\XINT_add_f #1%
}%
-\def\XINT_add_f #1#2!#3!%
+\def\XINT_add_f #11#2#3!#4!%
{%
\xint_gob_til_Z #2\XINT_add_fi \Z
- \expandafter\XINT_add_g\the\numexpr#1+#2+#3-\xint_c_ii.%
+ \expandafter\XINT_add_g\the\numexpr#1+1#2#3+#4-\xint_c_ii.%
}%
\def\XINT_add_fi\Z\expandafter\XINT_add_g
\the\numexpr#1+#2+#3-\xint_c_ii.#4!#5!#6\W
@@ -672,10 +662,10 @@
{%
1#2\expandafter!\the\numexpr\XINT_add_h #1%
}%
-\def\XINT_add_h #1#2!#3!%
+\def\XINT_add_h #11#2#3!#4!%
{%
\xint_gob_til_Z #2\XINT_add_hi \Z
- \expandafter\XINT_add_i\the\numexpr#1+#2+#3-\xint_c_ii.%
+ \expandafter\XINT_add_i\the\numexpr#1+1#2#3+#4-\xint_c_ii.%
}%
\def\XINT_add_hi\Z
\expandafter\XINT_add_i\the\numexpr#1+#2+#3-\xint_c_ii.#4\W
@@ -686,29 +676,14 @@
{%
1#2\expandafter!\the\numexpr\XINT_add_a #1%
}%
-%%%%%%%%%%%%
-\def\XINT_add_k #1%
- {\if #12\expandafter\XINT_add_ke\else\expandafter\XINT_add_l \fi}%
-\def\XINT_add_ke #1%
-{%
- \xint_gob_til_Z #1\XINT_add_kf\Z 1%
-}%
-\def\XINT_add_kf\Z 1{1}%
-\def\XINT_add_l #1%
-{%
- \xint_gob_til_Z #1\XINT_add_lf\Z \XINT_add_m 1%
-}%
-\def\XINT_add_lf\Z\XINT_add_m 1{100000001}%
-\def\XINT_add_m #1!%
-{%
- \expandafter\XINT_add_n\the\numexpr\xint_c_i+#1.%
-}%
-\def\XINT_add_n #1#2.%
-{%
- 1#2\expandafter!\the\numexpr\XINT_add_o #1%
-}%
-\def\XINT_add_o #1%
- {\if #12\expandafter\XINT_add_l\else\expandafter\XINT_add_ke \fi}%
+\def\XINT_add_k #1{\if #12\expandafter\XINT_add_ke\else\expandafter\XINT_add_l \fi}%
+\def\XINT_add_ke #11\Z #2\W {\XINT_add_kf #11\Z!}%
+\def\XINT_add_kf 1{1\relax }%
+\def\XINT_add_l 1#1#2{\xint_gob_til_Z #1\XINT_add_lf \Z \XINT_add_m 1#1#2}%
+\def\XINT_add_lf #1\W {1\relax 00000001!1\Z!}%
+\def\XINT_add_m #1!{\expandafter\XINT_add_n\the\numexpr\xint_c_i+#1.}%
+\def\XINT_add_n #1#2.{1#2\expandafter!\the\numexpr\XINT_add_o #1}%
+\def\XINT_add_o #1{\if #12\expandafter\XINT_add_l\else\expandafter\XINT_add_ke \fi}%
\def\xintiiSub {\romannumeral0\xintiisub }%
\def\xintiisub #1{\expandafter\XINT_iisub\romannumeral`&&@#1\Z }%
\def\XINT_iisub #1#2\Z #3%
@@ -764,7 +739,7 @@
\XINT_rsepbyviii_end_B 2345678\relax \xint_c_ii\xint_c_iii
\R.\xint_c_vi\R.\xint_c_v\R.\xint_c_iv\R.\xint_c_iii
\R.\xint_c_ii\R.\xint_c_i\R.\xint_c_\W
- \Z!\Z!\Z!\Z!\Z!\W #2\Z!\Z!\Z!\Z!\Z!\W
+ \Z!\Z!\Z!\Z!\W #2\Z!\Z!\Z!\Z!\W
}%
\def\XINT_sub_checklengths #1.#2.%
{%
@@ -774,15 +749,10 @@
\expandafter\XINT_sub_aa
\fi
}%
-\def\XINT_sub_exchange #1\Z!\Z!\Z!\Z!\Z!\W #2\Z
+\def\XINT_sub_exchange #1\W #2\W
{%
- \expandafter\XINT_opp\romannumeral0\XINT_sub_aa
- #2\Z!\Z!\Z!\Z!\Z!\W #1\Z
+ \expandafter\XINT_opp\romannumeral0\XINT_sub_aa #2\W #1\W
}%
-%%%%%%%%%%%%
-\def\XINT_sub_prepare_rescue #1\W {\relax\Z-\W}%
-\def\XINT_sub_prepare_cuz #1\W {\relax\XINT_cuz_byviii!\Z 0\W\R}%
-%%%%%%%%%%%%
\def\XINT_sub_aa {\expandafter\XINT_sub_out\the\numexpr\XINT_sub_a \xint_c_i }%
\def\XINT_sub_out #1\Z #2#3\W
{%
@@ -790,31 +760,6 @@
\expandafter\XINT_cuz_small
\romannumeral0\XINT_unrevbyviii {}#11\Z!1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W
}%
-\def\XINT_sub_startrescue\expandafter\XINT_cuz_small
- \romannumeral0\XINT_unrevbyviii #1#2\Z!#3\W
-{%
- \expandafter\XINT_sub_rescue_finish
- \the\numexpr\XINT_sub_rescue_a #2!%
- 1\Z!1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W \R
-}%
-\def\XINT_sub_rescue_finish
- {\expandafter-\romannumeral0\expandafter\XINT_cuz
- \romannumeral0\XINT_unrevbyviii {}}%
-\def\XINT_sub_rescue_a #1!%
-{%
- \expandafter\XINT_sub_rescue_c\the\numexpr \xint_c_xii_e_viii-#1.%
-}%
-\def\XINT_sub_rescue_c 1#1#2.%
-{%
- 1#2\expandafter!\the\numexpr\XINT_sub_rescue_d #1%
-}%
-\def\XINT_sub_rescue_d #1#2#3!%
-{%
- \xint_gob_til_minus #2\XINT_sub_rescue_z -%
- \expandafter\XINT_sub_rescue_c\the\numexpr \xint_c_xii_e_viii_mone-#2#3+#1.%
-}%
-\def\XINT_sub_rescue_z #1.{1!}%
-%%%%%%%%%%%%
\def\XINT_sub_a #1!#2!#3!#4!#5\W #6!#7!#8!#9!%
{%
\XINT_sub_b #1!#6!#2!#7!#3!#8!#4!#9!#5\W
@@ -856,7 +801,7 @@
1#2\expandafter!\the\numexpr\XINT_sub_a #1%
}%
\def\XINT_sub_bi\Z
- \expandafter\XINT_sub_c\the\numexpr#1+1#2-#3.#4!#5!#6!#7!#8!#9!\Z !\W
+ \expandafter\XINT_sub_c\the\numexpr#1+1#2-#3.#4!#5!#6!#7!#8!#9!\W
{%
\XINT_sub_k #1#2!#5!#7!#9!%
}%
@@ -875,43 +820,51 @@
{%
\XINT_sub_k #1#2!%
}%
-%%%%%%%%%%%%
\def\XINT_sub_k #1#2%
{%
\xint_gob_til_Z #2\XINT_sub_p\Z \XINT_sub_l #1#2%
}%
-\def\XINT_sub_l #1%
-{%
- \xint_UDzerofork
- #1\XINT_sub_m
- 0{}%
- \krof
-}%
-\def\XINT_sub_m #1!%
+\def\XINT_sub_l #1{\xint_UDzerofork #1\XINT_sub_l_carry 0\XINT_sub_l_nocarry\krof}%
+\def\XINT_sub_l_nocarry 1{1\relax }%
+\def\XINT_sub_l_carry #1!{\expandafter\XINT_sub_m\the\numexpr 1#1-\xint_c_i!}%
+\def\XINT_sub_m 1#1{\xint_UDzerofork #1\XINT_sub_n_carry 0\XINT_sub_n_nocarry\krof}%
+\def\XINT_sub_n_carry #1!{1#1\expandafter!\the\numexpr\XINT_sub_l_carry }%
+\def\XINT_sub_n_nocarry #1!#2#3!%
{%
- \expandafter\XINT_sub_n\the\numexpr 1#1-\xint_c_i!%
+ \xint_gob_til_Z #2\xint_gob_til_eightzeroes #1\XINT_sub_n_zero
+ 00000000\xint_gob_til_Z\Z 1\relax #1!#2#3!%
}%
-\def\XINT_sub_n 1#1%
+\def\XINT_sub_n_zero 00000000\xint_gob_til_Z\Z 1\relax 00000000!{1!}%
+\def\XINT_sub_p\Z\XINT_sub_l #1#2\W
{%
\xint_UDzerofork
- #1{\XINT_sub_o}%
- 0{\XINT_sub_n_checkzero}%
+ #1{-1\relax\Z -\W}%
+ 0{1\relax \XINT_cuz_byviii!\Z 0\W\R }%
\krof
}%
-\def\XINT_sub_o #1!{1#1\expandafter!\the\numexpr\XINT_sub_m }%
-\def\XINT_sub_n_checkzero #1!%
+\def\XINT_sub_startrescue\expandafter\XINT_cuz_small
+ \romannumeral0\XINT_unrevbyviii #1#2\Z!#3\W
{%
- \xint_gob_til_eightzeroes #1\XINT_sub_n_prepare_cuz 00000000%
- 1#1!%
+ \expandafter\XINT_sub_rescue_finish
+ \the\numexpr\XINT_sub_rescue_a #2!%
+ 1\Z!1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W \R
}%
-\def\XINT_sub_n_prepare_cuz 00000000100000000{1\XINT_sub_prepare_cuz}%
-\def\XINT_sub_p\Z\XINT_sub_l #1\Z!%
+\def\XINT_sub_rescue_finish
+ {\expandafter-\romannumeral0\expandafter\XINT_cuz\romannumeral0\XINT_unrevbyviii {}}%
+\def\XINT_sub_rescue_a #1!%
{%
- \xint_UDzerofork
- #1{-1\XINT_sub_prepare_rescue}%
- 0{1\XINT_sub_prepare_cuz }%
- \krof
+ \expandafter\XINT_sub_rescue_c\the\numexpr \xint_c_xii_e_viii-#1.%
+}%
+\def\XINT_sub_rescue_c 1#1#2.%
+{%
+ 1#2\expandafter!\the\numexpr\XINT_sub_rescue_d #1%
+}%
+\def\XINT_sub_rescue_d #1#2#3!%
+{%
+ \xint_gob_til_minus #2\XINT_sub_rescue_z -%
+ \expandafter\XINT_sub_rescue_c\the\numexpr \xint_c_xii_e_viii_mone-#2#3+#1.%
}%
+\def\XINT_sub_rescue_z #1.{1!}%
\def\xintiMul {\romannumeral0\xintimul }%
\def\xintimul #1%
{%
@@ -1009,22 +962,22 @@
\def\XINT_mul_exchange #1\XINT_mul_start #2\W #31\Z!%
{\fi\fi\XINT_mul_start #31\Z!\W #2}%
\def\XINT_mul_start
- {\expandafter\XINT_mul_out\the\numexpr\XINT_mul_loop 100000000!\Z\W}%
+ {\expandafter\XINT_mul_out\the\numexpr\XINT_mul_loop 100000000!1\Z!\W}%
\def\XINT_mul_out
{\expandafter\XINT_cuz_small\romannumeral0\XINT_unrevbyviii {}}%
-\def\XINT_mul_loop #1\Z #2\W #3\W 1#4!%
+\def\XINT_mul_loop #1\W #2\W 1#3!%
{%
- \xint_gob_til_Z #4\XINT_mul_e \Z
- \expandafter\XINT_mul_a\the\numexpr \XINT_smallmul 1#4!#3\W
- #11!\W #3\W
+ \xint_gob_til_Z #3\XINT_mul_e \Z
+ \expandafter\XINT_mul_a\the\numexpr \XINT_smallmul 1#3!#2\W
+ #1\W #2\W
}%
-\def\XINT_mul_a #11\Z!\W #2!1!#3\W
+\def\XINT_mul_a #1\W #2\W
{%
\expandafter\XINT_mul_b\the\numexpr
- \XINT_add_a \xint_c_ii #2!\Z!\Z!\Z!\Z!\Z!\W #1\Z!\Z!\Z!\Z!\Z!\W
+ \XINT_add_a \xint_c_ii #21\Z!1\Z!1\Z!\W #11\Z!1\Z!1\Z!\W\W
}%
\def\XINT_mul_b 1#1!{1#1\expandafter!\the\numexpr\XINT_mul_loop }%
-\def\XINT_mul_e\Z #1\W #2!1!#3\W #4\W {#2!1\Z!}%
+\def\XINT_mul_e\Z #1\W 1#2\W #3\W {1\relax #2}%
\def\XINT_minimulwc_a 1#1.#2.#3!#4#5#6#7#8.%
{%
\expandafter\XINT_minimulwc_b
@@ -1128,7 +1081,7 @@
\def\XINT_sqr_start #1\Z
{%
\expandafter\XINT_mul_out
- \the\numexpr\XINT_mul_loop 100000000!\Z\W #11\Z!\W #11\Z!%
+ \the\numexpr\XINT_mul_loop 100000000!1\Z!\W #11\Z!\W #11\Z!%
1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W
}%
\def\xintiiPow {\romannumeral0\xintiipow }%
@@ -1202,7 +1155,6 @@
\edef\XINT_pow_BisNegative #1#2%
{\noexpand\xintError:FractionRoundedToZero\space 0}%
\def\XINT_pow_BisZero #1#2{ 1}%
-%%%%%%%%%%%%
\def\XINT_pow_I_in #1#2%
{%
\expandafter\XINT_pow_I_loop
@@ -1230,17 +1182,15 @@
\the\numexpr #1/\xint_c_ii\expandafter.%
\the\numexpr\XINT_pow_mulbutcheckifsmall #2\W #2\W
}%
-%%%%%%%%%%%%
\def\XINT_pow_mulbutcheckifsmall #1!1#2%
{%
\xint_gob_til_Z #2\XINT_pow_mul_small\Z
- \XINT_mul_loop 100000000!\Z\W #1!1#2%
+ \XINT_mul_loop 100000000!1\Z!\W #1!1#2%
}%
-\def\XINT_pow_mul_small\Z\XINT_mul_loop 100000000!\Z\W 1#1!1\Z!\W
+\def\XINT_pow_mul_small\Z \XINT_mul_loop 100000000!1\Z!\W 1#1!1\Z!\W
{%
\XINT_smallmul 1#1!%
}%
-%%%%%%%%%%%%
\def\XINT_pow_II_in #1.#2\W
{%
\expandafter\XINT_pow_II_loop
@@ -2047,28 +1997,28 @@
\romannumeral0\XINT_zeroes_forviii #1\R\R\R\R\R\R\R\R{10}0000001\W
#1\XINT_rsepbyviii_end_A 2345678\XINT_rsepbyviii_end_B 2345678\relax XX%
\R.\R.\R.\R.\R.\R.\R.\R.\W
- \Z!\Z!\Z!\Z!\Z!\W
+ 1\Z!1\Z!1\Z!1\Z!\W\R
}%
-\def\XINT_iidivround_pos_b 1#1#2#3#4#5#6#7#8!#9%
+\def\XINT_iidivround_pos_b 1#1#2#3#4#5#6#7#8!1#9%
{%
\xint_gob_til_Z #9\XINT_iidivround_small\Z
\ifnum #8>\xint_c_iv
\expandafter\XINT_iidivround_pos_up
\else \expandafter\XINT_iidivround_pos_finish
\fi
- 1#1#2#3#4#5#6#70!#9%
+ 1#1#2#3#4#5#6#70!1#9%
}%
\def\XINT_iidivround_pos_up
{%
\expandafter\XINT_iidivround_pos_finish
- \the\numexpr\XINT_add_a\xint_c_ii 100000010!\Z!\Z!\Z!\Z!\Z!\W
+ \the\numexpr\XINT_add_a\xint_c_ii 100000010!1\Z!1\Z!1\Z!1\Z!\W
}%
-\def\XINT_iidivround_pos_finish #10!#2\Z #3\W
+\def\XINT_iidivround_pos_finish #10!#2\R
{%
\expandafter\XINT_cuz_small\romannumeral0\XINT_unrevbyviii {}%
- #1!#21\Z!1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W
+ #1!#21\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W
}%
-\def\XINT_iidivround_small\Z\ifnum #1>#2\fi 1#30!#4\W
+\def\XINT_iidivround_small\Z\ifnum #1>#2\fi 1#30!#4\W\R
{%
\ifnum #1>\xint_c_iv
\expandafter\XINT_iidivround_small_up