diff options
author | Karl Berry <karl@freefriends.org> | 2015-11-16 22:23:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-11-16 22:23:49 +0000 |
commit | bfcd7527b0f8985ecc54376d0e2b1aaa9f4b53e7 (patch) | |
tree | cf8d1be2d41875fb27db260922b97ae5431ca813 /Master/texmf-dist/tex/generic/xint/xintcore.sty | |
parent | d8258d9565c2f3e2c0e2a4d6f71099f8f604bbed (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.sty | 244 |
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 |