summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xint
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-06-27 16:31:25 +0000
committerKarl Berry <karl@freefriends.org>2013-06-27 16:31:25 +0000
commit82c37dcf73b52a88faef522a2f1a294351deea1a (patch)
tree4c0f4b7b3c5fb16b1b5e0b413fc1a800bc9eef35 /Master/texmf-dist/tex/generic/xint
parenteeeb860e63fdf6d8e9c0c18825a887aec80eed7e (diff)
xint (16jun13)
git-svn-id: svn://tug.org/texlive/trunk@30978 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xint')
-rw-r--r--Master/texmf-dist/tex/generic/xint/xint.sty933
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintbinhex.sty732
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcfrac.sty75
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintexpr.sty59
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintfrac.sty858
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintgcd.sty7
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintseries.sty186
7 files changed, 2201 insertions, 649 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty
index b740ecda4a6..21911c686ee 100644
--- a/Master/texmf-dist/tex/generic/xint/xint.sty
+++ b/Master/texmf-dist/tex/generic/xint/xint.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
%%
%%----------------------------------------------------------------
-%% The xint bundle (version 1.07a of May 26, 2013)
+%% The xint bundle (version 1.08b of June 14, 2013)
%% xint: Expandable operations on long numbers
%% Copyright (C) 2013 by Jean-Francois Burnol
%%----------------------------------------------------------------
@@ -67,6 +67,7 @@
\endgroup
\edef\XINT_restorecatcodes_endinput
{%
+ \catcode94=\the\catcode94 % ^
\catcode96=\the\catcode96 % `
\catcode47=\the\catcode47 % /
\catcode41=\the\catcode41 % )
@@ -111,6 +112,7 @@
\catcode41=12 % )
\catcode47=12 % /
\catcode96=12 % `
+ \catcode94=11 % ^
}%
\XINT_setcatcodes
}%
@@ -138,7 +140,7 @@
\fi
\expandafter\x\csname ver@xint.sty\endcsname
\ProvidesPackage{xint}%
- [2013/05/26 v1.07a Expandable operations on long numbers (jfB)]%
+ [2013/06/14 v1.08b Expandable operations on long numbers (jfB)]%
\def\xint_gobble_ {}%
\def\xint_gobble_i #1{}%
\def\xint_gobble_ii #1#2{}%
@@ -157,12 +159,14 @@
\def\xint_secondofthree #1#2#3{#2}%
\def\xint_thirdofthree #1#2#3{#3}%
\def\xint_minus_andstop { -}%
-\def\xint_gob_til_r #1\R {}%
-\def\xint_gob_til_w #1\W {}%
-\def\xint_gob_til_z #1\Z {}%
+\def\xint_gob_til_R #1\R {}%
+\def\xint_gob_til_W #1\W {}%
+\def\xint_gob_til_Z #1\Z {}%
\def\xint_gob_til_zero #10{}%
\def\xint_gob_til_one #11{}%
-\def\xint_gob_til_zeros_iv #10000{}%
+\def\xint_gob_til_G #1G{}%
+\def\xint_gob_til_zeros_iii #1000{}%
+\def\xint_gob_til_zeros_iv #10000{}%
\def\xint_gob_til_relax #1\relax {}%
\def\xint_gob_til_xint_undef #1\xint_undef {}%
\def\xint_gob_til_xint_relax #1\xint_relax {}%
@@ -176,6 +180,16 @@
\def\xint_afterfi #1#2\fi {\fi #1}%
\let\xint_relax\relax
\def\xint_braced_xint_relax {\xint_relax }%
+\chardef\xint_c_ 0
+\chardef\xint_c_i 1
+\chardef\xint_c_ii 2
+\chardef\xint_c_iii 3
+\chardef\xint_c_iv 4
+\chardef\xint_c_v 5
+\chardef\xint_c_viii 8
+\chardef\xint_c_ix 9
+\chardef\xint_c_x 10
+\newcount\xint_c_x^viii \xint_c_x^viii 100000000
\def\xintRev {\romannumeral0\xintrev }%
\def\xintrev #1%
{%
@@ -222,7 +236,7 @@
}%
\def\xintrevwithbracesnoexpand #1%
{%
- \romannumeral0\XINT_revwbr_loop\expandafter{\expandafter}%
+ \XINT_revwbr_loop {}%
#1\xint_relax\xint_relax\xint_relax\xint_relax
\xint_relax\xint_relax\xint_relax\xint_relax\Z
}%
@@ -237,7 +251,7 @@
}%
\def\XINT_revwbr_finish_b #1#2#3#4#5#6#7#8\Z
{%
- \xint_gob_til_r
+ \xint_gob_til_R
#1\XINT_revwbr_finish_c 8%
#2\XINT_revwbr_finish_c 7%
#3\XINT_revwbr_finish_c 6%
@@ -295,7 +309,7 @@
}%
\def\XINT_length_finish_b #1#2#3#4#5#6#7#8\Z
{%
- \xint_gob_til_w
+ \xint_gob_til_W
#1\XINT_length_finish_c 8%
#2\XINT_length_finish_c 7%
#3\XINT_length_finish_c 6%
@@ -318,7 +332,7 @@
}%
\def\xintcsvtolistnoexpand #1%
{%
- \romannumeral0\XINT_csvtol_loop_a
+ \XINT_csvtol_loop_a
{}#1,\xint_undef,\xint_undef,\xint_undef,\xint_undef
,\xint_undef,\xint_undef,\xint_undef,\xint_undef,\Z
}%
@@ -334,7 +348,7 @@
}%
\def\XINT_csvtol_finish_b #1,#2,#3,#4,#5,#6,#7,#8\Z
{%
- \xint_gob_til_r
+ \xint_gob_til_R
#1\XINT_csvtol_finish_c 8%
#2\XINT_csvtol_finish_c 7%
#3\XINT_csvtol_finish_c 6%
@@ -362,17 +376,16 @@
\long\def\xintlistwithsep #1#2%
{\expandafter\XINT_lws\expandafter {\romannumeral-`0#2}{#1}}%
\long\def\XINT_lws #1#2{\XINT_lws_start {#2}#1\Z }%
-\long\def\xintlistwithsepnoexpand #1#2%
- {\romannumeral0\XINT_lws_start {#1}#2\Z }%
+\long\def\xintlistwithsepnoexpand #1#2{\XINT_lws_start {#1}#2\Z }%
\long\def\XINT_lws_start #1#2%
{%
- \xint_gob_til_z #2\XINT_lws_dont\Z
+ \xint_gob_til_Z #2\XINT_lws_dont\Z
\XINT_lws_loop_a {#2}{#1}%
}%
\long\def\XINT_lws_dont\Z\XINT_lws_loop_a #1#2{ }%
\long\def\XINT_lws_loop_a #1#2#3%
{%
- \xint_gob_til_z #3\XINT_lws_end\Z
+ \xint_gob_til_Z #3\XINT_lws_end\Z
\XINT_lws_loop_b {#1}{#2#3}{#2}%
}%
\long\def\XINT_lws_loop_b #1#2{\XINT_lws_loop_a {#1#2}}%
@@ -386,11 +399,11 @@
}%
\def\xintntheltnoexpand #1#2%
{%
- \romannumeral0\XINT_nthelt {#2}{\numexpr #1\relax}%
+ \XINT_nthelt {#2}{\numexpr #1\relax}%
}%
\def\XINT_nthelt #1#2%
{%
- \ifnum #2>0
+ \ifnum #2>\xint_c_
\xint_afterfi {\XINT_nthelt_loop_a {#2}}%
\else
\xint_afterfi {\XINT_length_loop {0}}%
@@ -399,7 +412,7 @@
}%
\def\XINT_nthelt_loop_a #1%
{%
- \ifnum #1>8
+ \ifnum #1>\xint_c_viii
\expandafter\XINT_nthelt_loop_b
\else
\expandafter\XINT_nthelt_getit
@@ -432,10 +445,10 @@
{#1}%
}%
\def\XINT_apply #1#2{\XINT_apply_loop_a {}{#2}#1\Z }%
-\def\xintapplynoexpand #1#2{\romannumeral0\XINT_apply_loop_a {}{#1}#2\Z }%
+\def\xintapplynoexpand #1#2{\XINT_apply_loop_a {}{#1}#2\Z }%
\def\XINT_apply_loop_a #1#2#3%
{%
- \xint_gob_til_z #3\XINT_apply_end\Z
+ \xint_gob_til_Z #3\XINT_apply_end\Z
\expandafter
\XINT_apply_loop_b
\expandafter {\romannumeral-`0#2{#3}}{#1}{#2}%
@@ -451,10 +464,10 @@
}%
\def\XINT_applyunbr #1#2{\XINT_applyunbr_loop_a {}{#2}#1\Z }%
\def\xintapplyunbracednoexpand #1#2%
- {\romannumeral0\XINT_applyunbr_loop_a {}{#1}#2\Z }%
+ {\XINT_applyunbr_loop_a {}{#1}#2\Z }%
\def\XINT_applyunbr_loop_a #1#2#3%
{%
- \xint_gob_til_z #3\XINT_applyunbr_end\Z
+ \xint_gob_til_Z #3\XINT_applyunbr_end\Z
\expandafter\XINT_applyunbr_loop_b
\expandafter {\romannumeral-`0#2{#3}}{#1}{#2}%
}%
@@ -551,7 +564,7 @@
\xint_afterfi {\xintError:ArrayIndexIsNegative\space 0}%
\else
\xint_afterfi {%
- \ifnum ##1> #2
+ \ifnum ##1>#2
\xint_afterfi {\xintError:ArrayIndexBeyondLimit\space 0}%
\else
\xint_afterfi
@@ -564,7 +577,7 @@
\let\xintDigitsOf\xintAssignArray
\def\XINT_RQ #1#2#3#4#5#6#7#8#9%
{%
- \xint_gob_til_r #9\XINT_RQ_end_a\R\XINT_RQ {#9#8#7#6#5#4#3#2#1}%
+ \xint_gob_til_R #9\XINT_RQ_end_a\R\XINT_RQ {#9#8#7#6#5#4#3#2#1}%
}%
\def\XINT_RQ_end_a\R\XINT_RQ #1#2\Z
{%
@@ -572,7 +585,7 @@
}%
\def\XINT_RQ_end_b #1#2#3#4#5#6#7#8%
{%
- \xint_gob_til_r
+ \xint_gob_til_R
#8\XINT_RQ_end_viii
#7\XINT_RQ_end_vii
#6\XINT_RQ_end_vi
@@ -591,6 +604,62 @@
\def\XINT_RQ_end_iii #1\Z #2#3#4#5#6#7#8#9\Z { #4#5#6#7#8#9000}%
\def\XINT_RQ_end_ii #1\Z #2#3#4#5#6#7#8#9\Z { #3#4#5#6#7#8#900}%
\def\XINT_RQ_end_i \Z #1#2#3#4#5#6#7#8\Z { #1#2#3#4#5#6#7#80}%
+\def\XINT_SQ #1#2#3#4#5#6#7#8%
+{%
+ \xint_gob_til_R #8\XINT_SQ_end_a\R\XINT_SQ {#8#7#6#5#4#3#2#1}%
+}%
+\def\XINT_SQ_end_a\R\XINT_SQ #1#2\Z
+{%
+ \XINT_SQ_end_b #1\Z
+}%
+\def\XINT_SQ_end_b #1#2#3#4#5#6#7%
+{%
+ \xint_gob_til_R
+ #7\XINT_SQ_end_vii
+ #6\XINT_SQ_end_vi
+ #5\XINT_SQ_end_v
+ #4\XINT_SQ_end_iv
+ #3\XINT_SQ_end_iii
+ #2\XINT_SQ_end_ii
+ \R\XINT_SQ_end_i
+ \Z #2#3#4#5#6#7%
+}%
+\def\XINT_SQ_end_vii #1\Z #2#3#4#5#6#7#8\Z { #8}%
+\def\XINT_SQ_end_vi #1\Z #2#3#4#5#6#7#8\Z { #7#8000000}%
+\def\XINT_SQ_end_v #1\Z #2#3#4#5#6#7#8\Z { #6#7#800000}%
+\def\XINT_SQ_end_iv #1\Z #2#3#4#5#6#7#8\Z { #5#6#7#80000}%
+\def\XINT_SQ_end_iii #1\Z #2#3#4#5#6#7#8\Z { #4#5#6#7#8000}%
+\def\XINT_SQ_end_ii #1\Z #2#3#4#5#6#7#8\Z { #3#4#5#6#7#800}%
+\def\XINT_SQ_end_i \Z #1#2#3#4#5#6#7\Z { #1#2#3#4#5#6#70}%
+\def\XINT_OQ #1#2#3#4#5#6#7#8#9%
+{%
+ \xint_gob_til_R #9\XINT_OQ_end_a\R\XINT_OQ {#9#8#7#6#5#4#3#2#1}%
+}%
+\def\XINT_OQ_end_a\R\XINT_OQ #1#2\Z
+{%
+ \XINT_OQ_end_b #1\Z
+}%
+\def\XINT_OQ_end_b #1#2#3#4#5#6#7#8%
+{%
+ \xint_gob_til_R
+ #8\XINT_OQ_end_viii
+ #7\XINT_OQ_end_vii
+ #6\XINT_OQ_end_vi
+ #5\XINT_OQ_end_v
+ #4\XINT_OQ_end_iv
+ #3\XINT_OQ_end_iii
+ #2\XINT_OQ_end_ii
+ \R\XINT_OQ_end_i
+ \Z #2#3#4#5#6#7#8%
+}%
+\def\XINT_OQ_end_viii #1\Z #2#3#4#5#6#7#8#9\Z { #9}%
+\def\XINT_OQ_end_vii #1\Z #2#3#4#5#6#7#8#9\Z { #8#90000000}%
+\def\XINT_OQ_end_vi #1\Z #2#3#4#5#6#7#8#9\Z { #7#8#9000000}%
+\def\XINT_OQ_end_v #1\Z #2#3#4#5#6#7#8#9\Z { #6#7#8#900000}%
+\def\XINT_OQ_end_iv #1\Z #2#3#4#5#6#7#8#9\Z { #5#6#7#8#90000}%
+\def\XINT_OQ_end_iii #1\Z #2#3#4#5#6#7#8#9\Z { #4#5#6#7#8#9000}%
+\def\XINT_OQ_end_ii #1\Z #2#3#4#5#6#7#8#9\Z { #3#4#5#6#7#8#900}%
+\def\XINT_OQ_end_i \Z #1#2#3#4#5#6#7#8\Z { #1#2#3#4#5#6#7#80}%
\def\xint_cleanupzeros_andstop #1#2#3#4%
{%
\expandafter\space\the\numexpr #1#2#3#4\relax
@@ -614,8 +683,8 @@
}%
\def\XINT_cuz_loop #1#2#3#4#5#6#7#8%
{%
- \xint_gob_til_w #8\xint_cuz_end_a\W
- \xint_gob_til_z #8\xint_cuz_end_A\Z
+ \xint_gob_til_W #8\xint_cuz_end_a\W
+ \xint_gob_til_Z #8\xint_cuz_end_A\Z
\XINT_cuz_check_a {#1#2#3#4#5#6#7#8}%
}%
\def\xint_cuz_end_a #1\XINT_cuz_check_a #2%
@@ -641,12 +710,12 @@
\def\XINT_isone #1#2%
{%
\xint_gob_til_one #1\XINT_isone_b 1%
- \expandafter\space\expandafter 0\xint_gob_til_z #2%
+ \expandafter\space\expandafter 0\xint_gob_til_Z #2%
}%
-\def\XINT_isone_b #1\xint_gob_til_z #2%
+\def\XINT_isone_b #1\xint_gob_til_Z #2%
{%
- \xint_gob_til_w #2\XINT_isone_yes \W
- \expandafter\space\expandafter 0\xint_gob_til_z
+ \xint_gob_til_W #2\XINT_isone_yes \W
+ \expandafter\space\expandafter 0\xint_gob_til_Z
}%
\def\XINT_isone_yes #1\Z { 1}%
\def\xintiNum {\romannumeral0\xintinum }%
@@ -742,7 +811,7 @@
}%
\def\XINT_add_A #1#2#3#4#5#6%
{%
- \xint_gob_til_w #3\xint_add_az\W
+ \xint_gob_til_W #3\xint_add_az\W
\XINT_add_AB #1{#3#4#5#6}{#2}%
}%
\def\xint_add_az\W\XINT_add_AB #1#2%
@@ -751,7 +820,7 @@
}%
\def\XINT_add_AB #1#2#3#4\W\X\Y\Z #5#6#7#8%
{%
- \xint_gob_til_w #5\xint_add_bz\W
+ \xint_gob_til_W #5\xint_add_bz\W
\XINT_add_ABE #1#2{#8#7#6#5}{#3}#4\W\X\Y\Z
}%
\def\XINT_add_ABE #1#2#3#4#5#6%
@@ -788,7 +857,7 @@
}%
\def\XINT_add_C #1#2#3#4#5%
{%
- \xint_gob_til_w #2\xint_add_cz\W
+ \xint_gob_til_W #2\xint_add_cz\W
\XINT_add_CD {#5#4#3#2}{#1}%
}%
\def\XINT_add_CD #1%
@@ -798,7 +867,7 @@
\def\xint_add_cz\W\XINT_add_CD #1#2{ 1#2}%
\def\XINT_addr_A #1#2#3#4#5#6%
{%
- \xint_gob_til_w #3\xint_addr_az\W
+ \xint_gob_til_W #3\xint_addr_az\W
\XINT_addr_B #1{#3#4#5#6}{#2}%
}%
\def\xint_addr_az\W\XINT_addr_B #1#2%
@@ -807,7 +876,7 @@
}%
\def\XINT_addr_B #1#2#3#4\W\X\Y\Z #5#6#7#8%
{%
- \xint_gob_til_w #5\xint_addr_bz\W
+ \xint_gob_til_W #5\xint_addr_bz\W
\XINT_addr_E #1#2{#8#7#6#5}{#3}#4\W\X\Y\Z
}%
\def\XINT_addr_E #1#2#3#4#5#6%
@@ -833,7 +902,7 @@
\def\xint_addr_AC_nocarry 0\XINT_addr_C #1#2\W\X\Y\Z { #1#2}%
\def\XINT_addr_C #1#2#3#4#5%
{%
- \xint_gob_til_w #2\xint_addr_cz\W
+ \xint_gob_til_W #2\xint_addr_cz\W
\XINT_addr_D {#5#4#3#2}{#1}%
}%
\def\XINT_addr_D #1%
@@ -843,7 +912,7 @@
\def\xint_addr_cz\W\XINT_addr_D #1#2{ #21000}%
\def\XINT_addm_A #1#2#3#4#5#6%
{%
- \xint_gob_til_w #3\xint_addm_az\W
+ \xint_gob_til_W #3\xint_addm_az\W
\XINT_addm_AB #1{#3#4#5#6}{#2}%
}%
\def\xint_addm_az\W\XINT_addm_AB #1#2%
@@ -880,7 +949,7 @@
}%
\def\XINT_addm_C #1#2#3#4#5%
{%
- \xint_gob_til_w
+ \xint_gob_til_W
#5\xint_addm_cw
#4\xint_addm_cx
#3\xint_addm_cy
@@ -933,7 +1002,7 @@
{\expandafter\space\the\numexpr #1#2#3#4#5\relax}%
\def\XINT_addp_A #1#2#3#4#5#6%
{%
- \xint_gob_til_w #3\xint_addp_az\W
+ \xint_gob_til_W #3\xint_addp_az\W
\XINT_addp_AB #1{#3#4#5#6}{#2}%
}%
\def\xint_addp_az\W\XINT_addp_AB #1#2%
@@ -962,7 +1031,7 @@
}%
\def\XINT_addp_C #1#2#3#4#5%
{%
- \xint_gob_til_w
+ \xint_gob_til_W
#5\xint_addp_cw
#4\xint_addp_cx
#3\xint_addp_cy
@@ -983,7 +1052,7 @@
#3\xint_addp_cz
\W\XINT_addp_CD
{%
- \expandafter\XINT_addp_CDw\the\numexpr 1+10#1#2#3\relax
+ \expandafter\XINT_addp_CDw\the\numexpr \xint_c_i+10#1#2#3\relax
}%
\def\XINT_addp_CDw #1#2#3#4#5#6%
{%
@@ -997,7 +1066,7 @@
#2\xint_addp_cz
\W\XINT_addp_CD
{%
- \expandafter\XINT_addp_CDx\the\numexpr 1+100#1#2\relax
+ \expandafter\XINT_addp_CDx\the\numexpr \xint_c_i+100#1#2\relax
}%
\def\XINT_addp_CDx #1#2#3#4#5#6%
{%
@@ -1006,11 +1075,9 @@
}%
\def\XINT_addp_endDx_zeros 0000\XINT_addp_endDx 0000#1\Y\Z{ #1}%
\def\XINT_addp_endDx #1#2#3#4#5\Y\Z{ #5#4#3#2#1}%
-\def\xint_addp_cy
- #1\xint_addp_cz
- \W\XINT_addp_CD
+\def\xint_addp_cy #1\xint_addp_cz\W\XINT_addp_CD
{%
- \expandafter\XINT_addp_CDy\the\numexpr 1+1000#1\relax
+ \expandafter\XINT_addp_CDy\the\numexpr \xint_c_i+1000#1\relax
}%
\def\XINT_addp_CDy #1#2#3#4#5#6%
{%
@@ -1022,7 +1089,7 @@
\def\xint_addp_cz\W\XINT_addp_CD #1#2{ #21000}%
\def\XINT_addp_F #1#2#3#4#5%
{%
- \xint_gob_til_w
+ \xint_gob_til_W
#5\xint_addp_Gw
#4\xint_addp_Gx
#3\xint_addp_Gy
@@ -1112,10 +1179,10 @@
}%
\def\XINT_add_pre #1%
{%
- \expandafter\XINT_add__pre\expandafter
+ \expandafter\XINT_add_pre_b\expandafter
{\romannumeral0\XINT_RQ {}#1\R\R\R\R\R\R\R\R\Z }%
}%
-\def\XINT_add__pre #1#2%
+\def\XINT_add_pre_b #1#2%
{%
\expandafter\XINT_add_A
\expandafter0\expandafter{\expandafter}%
@@ -1171,10 +1238,10 @@
\def\xint_sub_pm #1\XINT_add_pre #2#3{ -#2}%
\def\XINT_sub_pre #1%
{%
- \expandafter\XINT_sub__pre\expandafter
+ \expandafter\XINT_sub_pre_b\expandafter
{\romannumeral0\XINT_RQ {}#1\R\R\R\R\R\R\R\R\Z }%
}%
-\def\XINT_sub__pre #1#2%
+\def\XINT_sub_pre_b #1#2%
{%
\expandafter\XINT_sub_A
\expandafter1\expandafter{\expandafter}%
@@ -1183,19 +1250,19 @@
}%
\def\XINT_sub_A #1#2#3\W\X\Y\Z #4#5#6#7%
{%
- \xint_gob_til_w
+ \xint_gob_til_W
#4\xint_sub_az
\W\XINT_sub_B #1{#4#5#6#7}{#2}#3\W\X\Y\Z
}%
\def\XINT_sub_B #1#2#3#4#5#6#7%
{%
- \xint_gob_til_w
+ \xint_gob_til_W
#4\xint_sub_bz
\W\XINT_sub_onestep #1#2{#7#6#5#4}{#3}%
}%
\def\XINT_sub_onestep #1#2#3#4#5#6%
{%
- \expandafter\XINT_sub_backtoA\the\numexpr 11#5#4#3#2-#6+#1-1\relax.%
+ \expandafter\XINT_sub_backtoA\the\numexpr 11#5#4#3#2-#6+#1-\xint_c_i\relax.%
}%
\def\XINT_sub_backtoA #1#2#3.#4%
{%
@@ -1224,13 +1291,13 @@
}%
\def\XINT_sub_C #1#2#3#4#5%
{%
- \xint_gob_til_w
+ \xint_gob_til_W
#2\xint_sub_cz
\W\XINT_sub_AC_onestep {#5#4#3#2}{#1}%
}%
\def\XINT_sub_AC_onestep #1%
{%
- \expandafter\XINT_sub_backtoC\the\numexpr 11#1-1\relax.%
+ \expandafter\XINT_sub_backtoC\the\numexpr 11#1-\xint_c_i\relax.%
}%
\def\XINT_sub_backtoC #1#2#3.#4%
{%
@@ -1258,7 +1325,7 @@
}%
\def\xint_sub_az\W\XINT_sub_B #1#2#3#4#5#6#7%
{%
- \xint_gob_til_w
+ \xint_gob_til_W
#4\xint_sub_ez
\W\XINT_sub_Eenter #1{#3}#4#5#6#7%
}%
@@ -1276,7 +1343,7 @@
}%
\def\XINT_sub_E #1#2#3#4#5#6%
{%
- \xint_gob_til_w #3\xint_sub_F\W
+ \xint_gob_til_W #3\xint_sub_F\W
\XINT_sub_Eonestep #1{#6#5#4#3}{#2}%
}%
\def\XINT_sub_Eonestep #1#2%
@@ -1299,12 +1366,12 @@
\def\XINT_sub_DD {\expandafter\xint_minus_andstop\romannumeral0\XINT_sub_D }%
\def\XINT_sub_Fdec #1#2#3#4#5#6%
{%
- \xint_gob_til_w #3\xint_sub_Fdec_finish\W
+ \xint_gob_til_W #3\xint_sub_Fdec_finish\W
\XINT_sub_Fdec_onestep #1{#6#5#4#3}{#2}%
}%
\def\XINT_sub_Fdec_onestep #1#2%
{%
- \expandafter\XINT_sub_backtoFdec\the\numexpr 11#2+#1-1\relax.%
+ \expandafter\XINT_sub_backtoFdec\the\numexpr 11#2+#1-\xint_c_i\relax.%
}%
\def\XINT_sub_backtoFdec #1#2#3.#4%
{%
@@ -1316,7 +1383,7 @@
}%
\def\XINT_sub_Finc #1#2#3#4#5#6%
{%
- \xint_gob_til_w #3\xint_sub_Finc_finish\W
+ \xint_gob_til_W #3\xint_sub_Finc_finish\W
\XINT_sub_Finc_onestep #1{#6#5#4#3}{#2}%
}%
\def\XINT_sub_Finc_onestep #1#2%
@@ -1356,7 +1423,7 @@
}%
\def\XINT_sub_KK #1#2#3#4#5#6%
{%
- \xint_gob_til_w #3\xint_sub_KK_finish\W
+ \xint_gob_til_W #3\xint_sub_KK_finish\W
\XINT_sub_KK_onestep #1{#6#5#4#3}{#2}%
}%
\def\XINT_sub_KK_onestep #1#2%
@@ -1413,10 +1480,10 @@
}%
\def\XINT_cmp_pre #1%
{%
- \expandafter\XINT_cmp__pre\expandafter
+ \expandafter\XINT_cmp_pre_b\expandafter
{\romannumeral0\XINT_RQ {}#1\R\R\R\R\R\R\R\R\Z }%
}%
-\def\XINT_cmp__pre #1#2%
+\def\XINT_cmp_pre_b #1#2%
{%
\expandafter\XINT_cmp_A
\expandafter1\expandafter{\expandafter}%
@@ -1425,17 +1492,17 @@
}%
\def\XINT_cmp_A #1#2#3\W\X\Y\Z #4#5#6#7%
{%
- \xint_gob_til_w #4\xint_cmp_az\W
+ \xint_gob_til_W #4\xint_cmp_az\W
\XINT_cmp_B #1{#4#5#6#7}{#2}#3\W\X\Y\Z
}%
\def\XINT_cmp_B #1#2#3#4#5#6#7%
{%
- \xint_gob_til_w#4\xint_cmp_bz\W
+ \xint_gob_til_W#4\xint_cmp_bz\W
\XINT_cmp_onestep #1#2{#7#6#5#4}{#3}%
}%
\def\XINT_cmp_onestep #1#2#3#4#5#6%
{%
- \expandafter\XINT_cmp_backtoA\the\numexpr 11#5#4#3#2-#6+#1-1\relax.%
+ \expandafter\XINT_cmp_backtoA\the\numexpr 11#5#4#3#2-#6+#1-\xint_c_i\relax.%
}%
\def\XINT_cmp_backtoA #1#2#3.#4%
{%
@@ -1444,7 +1511,7 @@
\def\xint_cmp_bz\W\XINT_cmp_onestep #1\Z { 1}%
\def\xint_cmp_az\W\XINT_cmp_B #1#2#3#4#5#6#7%
{%
- \xint_gob_til_w #4\xint_cmp_ez\W
+ \xint_gob_til_W #4\xint_cmp_ez\W
\XINT_cmp_Eenter #1{#3}#4#5#6#7%
}%
\def\XINT_cmp_Eenter #1\Z { -1}%
@@ -1463,7 +1530,7 @@
}%
\def\XINT_OneIfPositive_main #1#2#3#4%
{%
- \xint_gob_til_z #4\xint_OneIfPositive_terminated\Z
+ \xint_gob_til_Z #4\xint_OneIfPositive_terminated\Z
\XINT_OneIfPositive_onestep #1#2#3#4%
}%
\def\xint_OneIfPositive_terminated\Z\XINT_OneIfPositive_onestep\W\X\Y\Z { 0}%
@@ -1512,10 +1579,10 @@
\def\XINT_geq_plusminus #1#2#3#4{\XINT_geq_pre {#2}{#3#1}}%
\def\XINT_geq_pre #1%
{%
- \expandafter\XINT_geq__pre\expandafter
+ \expandafter\XINT_geq_pre_b\expandafter
{\romannumeral0\XINT_RQ {}#1\R\R\R\R\R\R\R\R\Z }%
}%
-\def\XINT_geq__pre #1#2%
+\def\XINT_geq_pre_b #1#2%
{%
\expandafter\XINT_geq_A
\expandafter1\expandafter{\expandafter}%
@@ -1524,17 +1591,17 @@
}%
\def\XINT_geq_A #1#2#3\W\X\Y\Z #4#5#6#7%
{%
- \xint_gob_til_w #4\xint_geq_az\W
+ \xint_gob_til_W #4\xint_geq_az\W
\XINT_geq_B #1{#4#5#6#7}{#2}#3\W\X\Y\Z
}%
\def\XINT_geq_B #1#2#3#4#5#6#7%
{%
- \xint_gob_til_w #4\xint_geq_bz\W
+ \xint_gob_til_W #4\xint_geq_bz\W
\XINT_geq_onestep #1#2{#7#6#5#4}{#3}%
}%
\def\XINT_geq_onestep #1#2#3#4#5#6%
{%
- \expandafter\XINT_geq_backtoA\the\numexpr 11#5#4#3#2-#6+#1-1\relax.%
+ \expandafter\XINT_geq_backtoA\the\numexpr 11#5#4#3#2-#6+#1-\xint_c_i\relax.%
}%
\def\XINT_geq_backtoA #1#2#3.#4%
{%
@@ -1543,7 +1610,7 @@
\def\xint_geq_bz\W\XINT_geq_onestep #1\W\X\Y\Z { 1}%
\def\xint_geq_az\W\XINT_geq_B #1#2#3#4#5#6#7%
{%
- \xint_gob_til_w #4\xint_geq_ez\W
+ \xint_gob_til_W #4\xint_geq_ez\W
\XINT_geq_Eenter #1%
}%
\def\XINT_geq_Eenter #1\W\X\Y\Z { 0}%
@@ -1751,10 +1818,10 @@
}%
\def\XINT_mul_choice_b #1#2%
{%
- \ifnum #1<5
+ \ifnum #1<\xint_c_v
\expandafter\XINT_mul_choice_littlebyfirst
\else
- \ifnum #2<5
+ \ifnum #2<\xint_c_v
\expandafter\expandafter\expandafter\XINT_mul_choice_littlebysecond
\else
\expandafter\expandafter\expandafter\XINT_mul_choice_compare
@@ -1785,7 +1852,7 @@
}%
\def\XINT_mul_choice_i #1#2%
{%
- \ifnum #1<\numexpr\ifcase \numexpr (#2-3)/4\relax
+ \ifnum #1<\numexpr\ifcase \numexpr (#2-\xint_c_iii)/\xint_c_iv\relax
\or 330\or 168\or 109\or 80\or 66\or 52\else 0\fi\relax
\expandafter\XINT_mul_choice_same
\else
@@ -1794,7 +1861,7 @@
}%
\def\XINT_mul_choice_ii #1#2%
{%
- \ifnum #2<\numexpr\ifcase \numexpr (#1-3)/4\relax
+ \ifnum #2<\numexpr\ifcase \numexpr (#1-\xint_c_iii)/\xint_c_iv\relax
\or 330\or 168\or 109\or 80\or 66\or 52\else 0\fi\relax
\expandafter\XINT_mul_choice_permute
\else
@@ -1805,17 +1872,17 @@
{%
\expandafter\XINT_mul_enter
\romannumeral0\XINT_RQ {}#1\R\R\R\R\R\R\R\R\Z
- \W\X\Y\Z #2\W\X\Y\Z
+ \Z\Z\Z\Z #2\W\W\W\W
}%
\def\XINT_mul_choice_permute #1#2%
{%
\expandafter\XINT_mul_enter
\romannumeral0\XINT_RQ {}#2\R\R\R\R\R\R\R\R\Z
- \W\X\Y\Z #1\W\X\Y\Z
+ \Z\Z\Z\Z #1\W\W\W\W
}%
\def\XINT_mul_Ar #1#2#3#4#5#6%
{%
- \xint_gob_til_z #6\xint_mul_br\Z\XINT_mul_Br #1{#6#5#4#3}{#2}%
+ \xint_gob_til_Z #6\xint_mul_br\Z\XINT_mul_Br #1{#6#5#4#3}{#2}%
}%
\def\xint_mul_br\Z\XINT_mul_Br #1#2%
{%
@@ -1849,11 +1916,11 @@
\def\XINT_mul_Mr_one #1#2#3#4\Z\Z\Z\Z { #4}%
\def\XINT_mul_Nr #1#2#3#4#5#6#7%
{%
- \xint_gob_til_z #4\xint_mul_pr\Z\XINT_mul_Pr {#1}{#3}{#7#6#5#4}{#2}{#3}%
+ \xint_gob_til_Z #4\xint_mul_pr\Z\XINT_mul_Pr {#1}{#3}{#7#6#5#4}{#2}{#3}%
}%
\def\XINT_mul_Pr #1#2#3%
{%
- \expandafter\XINT_mul_Lr\the\numexpr 10000#1+#2*#3\relax
+ \expandafter\XINT_mul_Lr\the\numexpr \xint_c_x^viii+#1+#2*#3\relax
}%
\def\XINT_mul_Lr 1#1#2#3#4#5#6#7#8#9%
{%
@@ -1888,11 +1955,11 @@
}%
\def\XINT_mul_N #1#2#3#4#5#6#7%
{%
- \xint_gob_til_z #4\xint_mul_p\Z\XINT_mul_P {#1}{#3}{#7#6#5#4}{#2}{#3}%
+ \xint_gob_til_Z #4\xint_mul_p\Z\XINT_mul_P {#1}{#3}{#7#6#5#4}{#2}{#3}%
}%
\def\XINT_mul_P #1#2#3%
{%
- \expandafter\XINT_mul_L\the\numexpr 10000#1+#2*#3\relax
+ \expandafter\XINT_mul_L\the\numexpr \xint_c_x^viii+#1+#2*#3\relax
}%
\def\XINT_mul_L 1#1#2#3#4#5#6#7#8#9%
{%
@@ -1906,175 +1973,161 @@
{%
\expandafter\space\the\numexpr #1#2#3#4#5#6#7#8\relax
}%
-\def\XINT_mul_enter #1\W\X\Y\Z #2#3#4#5%
+\def\XINT_mul_enter #1\Z\Z\Z\Z #2#3#4#5%
+{%
+ \xint_gob_til_W #5\XINT_mul_exit_a\W
+ \XINT_mul_start {#2#3#4#5}#1\Z\Z\Z\Z
+}%
+\def\XINT_mul_exit_a\W\XINT_mul_start #1%
+{%
+ \XINT_mul_exit_b #1%
+}%
+\def\XINT_mul_exit_b #1#2#3#4%
{%
- \xint_gob_til_w
- #5\xint_mul_enterw
- #4\xint_mul_enterx
- #3\xint_mul_entery
- #2\xint_mul_enterz
- \W\XINT_mul_start {#2#3#4#5}#1\W\X\Y\Z
+ \xint_gob_til_W
+ #2\XINT_mul_exit_ci
+ #3\XINT_mul_exit_cii
+ \W\XINT_mul_exit_ciii #1#2#3#4%
}%
-\def\xint_mul_enterw
- #1\xint_mul_enterx
- #2\xint_mul_entery
- #3\xint_mul_enterz
- \W\XINT_mul_start #4#5\W\X\Y\Z \X\Y\Z
+\def\XINT_mul_exit_ciii #1\W #2\Z\Z\Z\Z \W\W\W
{%
- \XINT_mul_M {#3#2#1}#5\Z\Z\Z\Z
+ \XINT_mul_M {#1}#2\Z\Z\Z\Z
}%
-\def\xint_mul_enterx
- #1\xint_mul_entery
- #2\xint_mul_enterz
- \W\XINT_mul_start #3#4\W\X\Y\Z \Y\Z
+\def\XINT_mul_exit_cii\W\XINT_mul_exit_ciii #1\W\W #2\Z\Z\Z\Z \W\W
{%
- \XINT_mul_M {#2#1}#4\Z\Z\Z\Z
+ \XINT_mul_M {#1}#2\Z\Z\Z\Z
}%
-\def\xint_mul_entery
- #1\xint_mul_enterz
- \W\XINT_mul_start #2#3\W\X\Y\Z \Z
+\def\XINT_mul_exit_ci\W\XINT_mul_exit_cii
+ \W\XINT_mul_exit_ciii #1\W\W\W #2\Z\Z\Z\Z \W
{%
- \XINT_mul_M {#1}#3\Z\Z\Z\Z
+ \XINT_mul_M {#1}#2\Z\Z\Z\Z
}%
-\def\XINT_mul_start #1#2\W\X\Y\Z
+\def\XINT_mul_start #1#2\Z\Z\Z\Z
{%
\expandafter\XINT_mul_main\expandafter
- {\romannumeral0\XINT_mul_Mr {#1}#2\Z\Z\Z\Z}#2\W\X\Y\Z
+ {\romannumeral0\XINT_mul_Mr {#1}#2\Z\Z\Z\Z}#2\Z\Z\Z\Z
}%
-\def\XINT_mul_main #1#2\W\X\Y\Z #3#4#5#6%
+\def\XINT_mul_main #1#2\Z\Z\Z\Z #3#4#5#6%
{%
- \xint_gob_til_w
- #6\xint_mul_mainw
- #5\xint_mul_mainx
- #4\xint_mul_mainy
- #3\xint_mul_mainz
- \W\XINT_mul_compute {#1}{#3#4#5#6}#2\W\X\Y\Z
+ \xint_gob_til_W #6\XINT_mul_finish_a\W
+ \XINT_mul_compute {#3#4#5#6}{#1}#2\Z\Z\Z\Z
}%
-\def\XINT_mul_compute #1#2#3\W\X\Y\Z
+\def\XINT_mul_compute #1#2#3\Z\Z\Z\Z
{%
\expandafter\XINT_mul_main\expandafter
{\romannumeral0\expandafter
\XINT_mul_Ar\expandafter0\expandafter{\expandafter}%
- \romannumeral0\XINT_mul_Mr {#2}#3\Z\Z\Z\Z
- \W\X\Y\Z 0000#1\W\X\Y\Z }#3\W\X\Y\Z
+ \romannumeral0\XINT_mul_Mr {#1}#3\Z\Z\Z\Z
+ \W\X\Y\Z 0000#2\W\X\Y\Z }#3\Z\Z\Z\Z
}%
-\def\xint_mul_mainw
- #1\xint_mul_mainx
- #2\xint_mul_mainy
- #3\xint_mul_mainz
- \W\XINT_mul_compute #4#5#6\W\X\Y\Z \X\Y\Z
+\def\XINT_mul_finish_a\W\XINT_mul_compute #1%
{%
- \expandafter\XINT_addm_A \expandafter0\expandafter{\expandafter}%
- \romannumeral0%
- \XINT_mul_Mr {#3#2#1}#6\Z\Z\Z\Z
- \W\X\Y\Z 000#4\W\X\Y\Z
+ \XINT_mul_finish_b #1%
+}%
+\def\XINT_mul_finish_b #1#2#3#4%
+{%
+ \xint_gob_til_W
+ #1\XINT_mul_finish_c
+ #2\XINT_mul_finish_ci
+ #3\XINT_mul_finish_cii
+ \W\XINT_mul_finish_ciii #1#2#3#4%
+}%
+\def\XINT_mul_finish_ciii #1\W #2#3\Z\Z\Z\Z \W\W\W
+{%
+ \expandafter\XINT_addm_A\expandafter0\expandafter{\expandafter}%
+ \romannumeral0\XINT_mul_Mr {#1}#3\Z\Z\Z\Z \W\X\Y\Z 000#2\W\X\Y\Z
}%
-\def\xint_mul_mainx
- #1\xint_mul_mainy
- #2\xint_mul_mainz
- \W\XINT_mul_compute #3#4#5\W\X\Y\Z \Y\Z
+\def\XINT_mul_finish_cii
+ \W\XINT_mul_finish_ciii #1\W\W #2#3\Z\Z\Z\Z \W\W
{%
- \expandafter\XINT_addm_A\expandafter
- 0\expandafter{\expandafter}%
- \romannumeral0\XINT_mul_Mr {#2#1}#5\Z\Z\Z\Z
- \W\X\Y\Z 00#3\W\X\Y\Z
+ \expandafter\XINT_addm_A\expandafter0\expandafter{\expandafter}%
+ \romannumeral0\XINT_mul_Mr {#1}#3\Z\Z\Z\Z \W\X\Y\Z 00#2\W\X\Y\Z
}%
-\def\xint_mul_mainy
- #1\xint_mul_mainz
- \W\XINT_mul_compute #2#3#4\W\X\Y\Z \Z
+\def\XINT_mul_finish_ci #1\XINT_mul_finish_ciii #2\W\W\W #3#4\Z\Z\Z\Z \W
{%
- \expandafter\XINT_addm_A\expandafter
- 0\expandafter{\expandafter}%
- \romannumeral0\XINT_mul_Mr {#1}#4\Z\Z\Z\Z
- \W\X\Y\Z 0#2\W\X\Y\Z
+ \expandafter\XINT_addm_A\expandafter0\expandafter{\expandafter}%
+ \romannumeral0\XINT_mul_Mr {#2}#4\Z\Z\Z\Z \W\X\Y\Z 0#3\W\X\Y\Z
}%
-\def\xint_mul_mainz\W\XINT_mul_compute #1#2#3\W\X\Y\Z
+\def\XINT_mul_finish_c #1\XINT_mul_finish_ciii \W\W\W\W #2#3\Z\Z\Z\Z
{%
- \expandafter\xint_cleanupzeros_andstop\romannumeral0\XINT_rev{#1}%
+ \expandafter\xint_cleanupzeros_andstop\romannumeral0\XINT_rev{#2}%
}%
-\def\XINT_mulr_enter #1\W\X\Y\Z #2#3#4#5%
+\def\XINT_mulr_enter #1\Z\Z\Z\Z #2#3#4#5%
{%
- \xint_gob_til_w
- #5\xint_mulr_enterw
- #4\xint_mulr_enterx
- #3\xint_mulr_entery
- #2\xint_mulr_enterz
- \W\XINT_mulr_start {#2#3#4#5}#1\W\X\Y\Z
+ \xint_gob_til_W #5\XINT_mulr_exit_a\W
+ \XINT_mulr_start {#2#3#4#5}#1\Z\Z\Z\Z
}%
-\def\xint_mulr_enterw
- #1\xint_mulr_enterx
- #2\xint_mulr_entery
- #3\xint_mulr_enterz
- \W\XINT_mulr_start #4#5\W\X\Y\Z \X\Y\Z
+\def\XINT_mulr_exit_a\W\XINT_mulr_start #1%
{%
- \XINT_mul_Mr {#3#2#1}#5\Z\Z\Z\Z
+ \XINT_mulr_exit_b #1%
}%
-\def\xint_mulr_enterx
- #1\xint_mulr_entery
- #2\xint_mulr_enterz
- \W\XINT_mulr_start #3#4\W\X\Y\Z \Y\Z
+\def\XINT_mulr_exit_b #1#2#3#4%
{%
- \XINT_mul_Mr {#2#1}#4\Z\Z\Z\Z
+ \xint_gob_til_W
+ #2\XINT_mulr_exit_ci
+ #3\XINT_mulr_exit_cii
+ \W\XINT_mulr_exit_ciii #1#2#3#4%
}%
-\def\xint_mulr_entery
- #1\xint_mulr_enterz
- \W\XINT_mulr_start #2#3\W\X\Y\Z \Z
+\def\XINT_mulr_exit_ciii #1\W #2\Z\Z\Z\Z \W\W\W
{%
- \XINT_mul_Mr {#1}#3\Z\Z\Z\Z
+ \XINT_mul_Mr {#1}#2\Z\Z\Z\Z
}%
-\def\XINT_mulr_start #1#2\W\X\Y\Z
+\def\XINT_mulr_exit_cii\W\XINT_mulr_exit_ciii #1\W\W #2\Z\Z\Z\Z \W\W
+{%
+ \XINT_mul_Mr {#1}#2\Z\Z\Z\Z
+}%
+\def\XINT_mulr_exit_ci\W\XINT_mulr_exit_cii
+ \W\XINT_mulr_exit_ciii #1\W\W\W #2\Z\Z\Z\Z \W
+{%
+ \XINT_mul_Mr {#1}#2\Z\Z\Z\Z
+}%
+\def\XINT_mulr_start #1#2\Z\Z\Z\Z
{%
\expandafter\XINT_mulr_main\expandafter
- {\romannumeral0\XINT_mul_Mr {#1}#2\Z\Z\Z\Z }#2\W\X\Y\Z
+ {\romannumeral0\XINT_mul_Mr {#1}#2\Z\Z\Z\Z}#2\Z\Z\Z\Z
}%
-\def\XINT_mulr_main #1#2\W\X\Y\Z #3#4#5#6%
+\def\XINT_mulr_main #1#2\Z\Z\Z\Z #3#4#5#6%
{%
- \xint_gob_til_w
- #6\xint_mulr_mainw
- #5\xint_mulr_mainx
- #4\xint_mulr_mainy
- #3\xint_mulr_mainz
- \W\XINT_mulr_compute {#1}{#3#4#5#6}#2\W\X\Y\Z
+ \xint_gob_til_W #6\XINT_mulr_finish_a\W
+ \XINT_mulr_compute {#3#4#5#6}{#1}#2\Z\Z\Z\Z
}%
-\def\XINT_mulr_compute #1#2#3\W\X\Y\Z
+\def\XINT_mulr_compute #1#2#3\Z\Z\Z\Z
{%
\expandafter\XINT_mulr_main\expandafter
{\romannumeral0\expandafter
- \XINT_mul_Ar \expandafter0\expandafter{\expandafter}%
- \romannumeral0\XINT_mul_Mr {#2}#3\Z\Z\Z\Z \W\X\Y\Z 0000#1\W\X\Y\Z
- }#3\W\X\Y\Z
-}%
-\def\xint_mulr_mainw
- #1\xint_mulr_mainx
- #2\xint_mulr_mainy
- #3\xint_mulr_mainz
- \W\XINT_mulr_compute #4#5#6\W\X\Y\Z \X\Y\Z
-{%
- \expandafter\XINT_addp_A
- \expandafter0\expandafter{\expandafter}%
- \romannumeral0\XINT_mul_Mr {#3#2#1}#6\Z\Z\Z\Z
- \W\X\Y\Z 000#4\W\X\Y\Z
-}%
-\def\xint_mulr_mainx
- #1\xint_mulr_mainy
- #2\xint_mulr_mainz
- \W\XINT_mulr_compute #3#4#5\W\X\Y\Z \Y\Z
-{%
- \expandafter\XINT_addp_A
- \expandafter0\expandafter{\expandafter}%
- \romannumeral0\XINT_mul_Mr {#2#1}#5\Z\Z\Z\Z
- \W\X\Y\Z 00#3\W\X\Y\Z
-}%
-\def\xint_mulr_mainy
- #1\xint_mulr_mainz
- \W\XINT_mulr_compute #2#3#4\W\X\Y\Z \Z
-{%
- \expandafter\XINT_addp_A
- \expandafter0\expandafter{\expandafter}%
- \romannumeral0\XINT_mul_Mr {#1}#4\Z\Z\Z\Z
- \W\X\Y\Z 0#2\W\X\Y\Z
-}%
-\def\xint_mulr_mainz\W\XINT_mulr_compute #1#2#3\W\X\Y\Z { #1}%
+ \XINT_mul_Ar\expandafter0\expandafter{\expandafter}%
+ \romannumeral0\XINT_mul_Mr {#1}#3\Z\Z\Z\Z
+ \W\X\Y\Z 0000#2\W\X\Y\Z }#3\Z\Z\Z\Z
+}%
+\def\XINT_mulr_finish_a\W\XINT_mulr_compute #1%
+{%
+ \XINT_mulr_finish_b #1%
+}%
+\def\XINT_mulr_finish_b #1#2#3#4%
+{%
+ \xint_gob_til_W
+ #1\XINT_mulr_finish_c
+ #2\XINT_mulr_finish_ci
+ #3\XINT_mulr_finish_cii
+ \W\XINT_mulr_finish_ciii #1#2#3#4%
+}%
+\def\XINT_mulr_finish_ciii #1\W #2#3\Z\Z\Z\Z \W\W\W
+{%
+ \expandafter\XINT_addp_A\expandafter0\expandafter{\expandafter}%
+ \romannumeral0\XINT_mul_Mr {#1}#3\Z\Z\Z\Z \W\X\Y\Z 000#2\W\X\Y\Z
+}%
+\def\XINT_mulr_finish_cii
+ \W\XINT_mulr_finish_ciii #1\W\W #2#3\Z\Z\Z\Z \W\W
+{%
+ \expandafter\XINT_addp_A\expandafter0\expandafter{\expandafter}%
+ \romannumeral0\XINT_mul_Mr {#1}#3\Z\Z\Z\Z \W\X\Y\Z 00#2\W\X\Y\Z
+}%
+\def\XINT_mulr_finish_ci #1\XINT_mulr_finish_ciii #2\W\W\W #3#4\Z\Z\Z\Z \W
+{%
+ \expandafter\XINT_addp_A\expandafter0\expandafter{\expandafter}%
+ \romannumeral0\XINT_mul_Mr {#2}#4\Z\Z\Z\Z \W\X\Y\Z 0#3\W\X\Y\Z
+}%
+\def\XINT_mulr_finish_c #1\XINT_mulr_finish_ciii \W\W\W\W #2#3\Z\Z\Z\Z { #2}%
\def\xintiSqr {\romannumeral0\xintisqr }%
\def\xintisqr #1%
{%
@@ -2086,7 +2139,7 @@
\expandafter\XINT_mul_enter
\romannumeral0%
\XINT_RQ {}#1\R\R\R\R\R\R\R\R\Z
- \W\X\Y\Z #1\W\X\Y\Z
+ \Z\Z\Z\Z #1\W\W\W\W
}%
\def\xintiPrd {\romannumeral0\xintiprd }%
\def\xintiprd #1{\xintiprdexpr #1\relax }%
@@ -2111,11 +2164,12 @@
\expandafter\XINT_prod_loop_a\romannumeral0\XINT_mul_fork
}%
\def\XINT_prod_finished #1\Z #2\Z \Z { #2}%
-\def\xintFac {\romannumeral0\xintfac }%
-\def\xintfac #1%
+\def\xintiFac {\romannumeral0\xintifac }%
+\def\xintifac #1%
{%
\expandafter\XINT_fac_fork\expandafter{\the\numexpr #1}%
}%
+\let\xintFac\xintiFac \let\xintfac\xintifac
\def\XINT_fac_fork #1%
{%
\ifcase\XINT_Sgn {#1}
@@ -2166,7 +2220,7 @@
\expandafter\XINT_fac_bigcompute_loop\expandafter
{\expandafter\XINT_mul_enter
\romannumeral0\XINT_RQ {}#2\R\R\R\R\R\R\R\R\Z
- \W\X\Y\Z #1\W\X\Y\Z }%
+ \Z\Z\Z\Z #1\W\W\W\W }%
}%
\def\XINT_fac_bigcompute_end #1#2#3#4#5%
{%
@@ -2253,7 +2307,7 @@
\ifcase\XINT_Sgn {#1}
\expandafter\XINT_pow_BisZero
\or
- \expandafter\XINT_pow_checkBlength
+ \expandafter\XINT_pow_checkBsize
\else
\expandafter\XINT_pow_BisNegative
\fi
@@ -2261,7 +2315,7 @@
}%
\def\XINT_pow_BisNegative #1#2{\xintError:FractionRoundedToZero\space 0}%
\def\XINT_pow_BisZero #1#2{ 1}%
-\def\XINT_pow_checkBlength #1#2%
+\def\XINT_pow_checkBsize #1#2%
{%
\ifnum #1>999999999
\expandafter\XINT_pow_BtooBig
@@ -2328,7 +2382,7 @@
\def\XINT_pow_pprod_compute #1\Z #2%
{%
\expandafter\XINT_pow_pprod_getnext\expandafter
- {\romannumeral0\XINT_mulr_enter #2\W\X\Y\Z #1\W\X\Y\Z}%
+ {\romannumeral0\XINT_mulr_enter #2\Z\Z\Z\Z #1\W\W\W\W }%
}%
\def\XINT_pow_pprod_end\relax\XINT_pow_pprod_compute #1\Z #2%
{%
@@ -2404,7 +2458,7 @@
\def\XINT_div_AisNegative_posrem #1%
{%
\expandafter \XINT_div_AisNegative_posrem_b \expandafter
- {\romannumeral0\xintiopp{\xintiAdd {#1}{1}}}%
+ {\romannumeral0\xintiopp{\xintInc {#1}}}%
}%
\def\XINT_div_AisNegative_posrem_b #1#2#3%
{%
@@ -2436,7 +2490,8 @@
\def\XINT_div_prepareB_BisOne #1#2#3#4#5{ {#5}{0}}%
\def\XINT_div_prepareB_a #1%
{%
- \expandafter\XINT_div_prepareB_c\expandafter{\the\numexpr 4*((#1+1)/4)}{#1}%
+ \expandafter\XINT_div_prepareB_c\expandafter
+ {\the\numexpr \xint_c_iv*((#1+\xint_c_i)/\xint_c_iv)}{#1}%
}%
\def\XINT_div_prepareB_c #1#2%
{%
@@ -2545,11 +2600,11 @@
}%
\def\XINT_div_final_da #1%
{%
- \ifnum #1>9
+ \ifnum #1>\xint_c_ix
\expandafter\XINT_div_final_dP
\else
\xint_afterfi
- {\ifnum #1<0
+ {\ifnum #1<\xint_c_
\expandafter\XINT_div_final_dN
\else
\expandafter\XINT_div_final_db
@@ -2558,7 +2613,7 @@
}%
\def\XINT_div_final_dN #1%
{%
- \expandafter\XINT_div_final_dP\the\numexpr #1-1\relax
+ \expandafter\XINT_div_final_dP\the\numexpr #1-\xint_c_i\relax
}%
\def\XINT_div_final_dP #1#2#3#4#5% q,A,Q,L,B (puis c)
{%
@@ -2576,8 +2631,9 @@
}%
\def\XINT_div_final_dc #1#2%
{%
- \ifnum\XINT_Sgn{#1}<0
- \xint_afterfi {\expandafter\XINT_div_final_dP\the\numexpr #2-1\relax}%
+ \ifnum\XINT_Sgn{#1}<\xint_c_
+ \xint_afterfi
+ {\expandafter\XINT_div_final_dP\the\numexpr #2-\xint_c_i\relax}%
\else \xint_afterfi {\XINT_div_final_e {#1}#2}%
\fi
}%
@@ -2615,9 +2671,9 @@
}%
\def\XINT_div_body_d #1#2#3#4#5#6%
{%
- \ifnum #1 > 0
+ \ifnum #1 >\xint_c_
\expandafter\XINT_div_body_d
- \expandafter{\the\numexpr #1-4\expandafter }%
+ \expandafter{\the\numexpr #1-\xint_c_iv\expandafter }%
\else
\expandafter\XINT_div_body_e
\fi
@@ -2630,7 +2686,7 @@
\def\XINT_div_body_f #1#2#3#4#5#6#7#8%
{%
\expandafter\XINT_div_body_gg
- \the\numexpr (#1+(#5+1)/2)/(#5+1)+99999\relax
+ \the\numexpr (#1+(#5+\xint_c_i)/\xint_c_ii)/(#5+\xint_c_i)+99999\relax
{#8}{#2}{#8}{#4}{#5}{#3}{#6}{#7}{#8}%
}%
\def\XINT_div_body_gg #1#2#3#4#5#6%
@@ -2664,7 +2720,7 @@
}%
\def\XINT_div_body_h #1#2#3#4#5#6#7#8#9\Z
{%
- \ifnum #1#2#3#4>0
+ \ifnum #1#2#3#4>\xint_c_
\xint_afterfi{\XINT_div_body_i {#1#2#3#4#5#6#7#8}}%
\else
\expandafter\XINT_div_body_k
@@ -2691,14 +2747,14 @@
\def\XINT_div_body_l #1#2#3#4#5#6#7%
{%
\expandafter\XINT_div_body_m
- \the\numexpr 100000000+#2\relax {#6}{#3}{#7}{#1#5}{#4}%
+ \the\numexpr \xint_c_x^viii+#2\relax {#6}{#3}{#7}{#1#5}{#4}%
}%
-\def\XINT_div_body_m #1#2#3#4#5#6#7#8#9%
+\def\XINT_div_body_m 1#1#2#3#4#5#6#7#8%
{%
- \ifnum #2#3#4#5>0
- \xint_afterfi {\XINT_div_body_n {#9#8#7#6#5#4#3#2}}%
+ \ifnum #1#2#3#4>\xint_c_
+ \xint_afterfi {\XINT_div_body_n {#8#7#6#5#4#3#2#1}}%
\else
- \xint_afterfi {\XINT_div_body_n {#9#8#7#6}}%
+ \xint_afterfi {\XINT_div_body_n {#8#7#6#5}}%
\fi
}%
\def\XINT_div_body_n #1#2%
@@ -2714,7 +2770,7 @@
{%
\ifnum #1 > #2
\xint_afterfi
- {\ifnum #4#5#6#7 > 0
+ {\ifnum #4#5#6#7 > \xint_c_
\expandafter\XINT_div_body_q
\else
\expandafter\XINT_div_body_repeatp
@@ -2742,30 +2798,31 @@
}%
\def\XINT_div_sub_xpxp #1%
{%
- \expandafter \XINT_div_sub_xpxp_ \expandafter{#1}%
+ \expandafter \XINT_div_sub_xpxp_a \expandafter{#1}%
}%
-\def\XINT_div_sub_xpxp_ #1#2%
+\def\XINT_div_sub_xpxp_a #1#2%
{%
- \expandafter\expandafter\expandafter\XINT_div_sub_xpxp__
+ \expandafter\expandafter\expandafter\XINT_div_sub_xpxp_b
#2\W\X\Y\Z #1\W\X\Y\Z
}%
-\def\XINT_div_sub_xpxp__
+\def\XINT_div_sub_xpxp_b
{%
\XINT_div_sub_A 1{}%
}%
\def\XINT_div_sub_A #1#2#3#4#5#6%
{%
- \xint_gob_til_w #3\xint_div_sub_az\W
+ \xint_gob_til_W #3\xint_div_sub_az\W
\XINT_div_sub_B #1{#3#4#5#6}{#2}%
}%
\def\XINT_div_sub_B #1#2#3#4\W\X\Y\Z #5#6#7#8%
{%
- \xint_gob_til_w #5\xint_div_sub_bz\W
+ \xint_gob_til_W #5\xint_div_sub_bz\W
\XINT_div_sub_onestep #1#2{#8#7#6#5}{#3}#4\W\X\Y\Z
}%
\def\XINT_div_sub_onestep #1#2#3#4#5#6%
{%
- \expandafter\XINT_div_sub_backtoA\the\numexpr 11#5#4#3#2-#6+#1-1\relax.%
+ \expandafter\XINT_div_sub_backtoA
+ \the\numexpr 11#5#4#3#2-#6+#1-\xint_c_i\relax.%
}%
\def\XINT_div_sub_backtoA #1#2#3.#4%
{%
@@ -2792,12 +2849,12 @@
}%
\def\XINT_div_sub_C #1#2#3#4#5%
{%
- \xint_gob_til_w #2\xint_div_sub_cz\W
+ \xint_gob_til_W #2\xint_div_sub_cz\W
\XINT_div_sub_AC_onestep {#5#4#3#2}{#1}%
}%
\def\XINT_div_sub_AC_onestep #1%
{%
- \expandafter\XINT_div_sub_backtoC\the\numexpr 11#1-1\relax.%
+ \expandafter\XINT_div_sub_backtoC\the\numexpr 11#1-\xint_c_i\relax.%
}%
\def\XINT_div_sub_backtoC #1#2#3.#4%
{%
@@ -2909,7 +2966,7 @@
}%
\def\XINT_dsr_b #1#2#3\Z
{%
- \xint_gob_til_w #2\xint_dsr_onedigit\W
+ \xint_gob_til_W #2\xint_dsr_onedigit\W
\xint_minus #2\xint_dsr_onedigit-%
\expandafter\XINT_dsr_removew
\romannumeral0\XINT_rev {#2#3}%
@@ -3037,7 +3094,7 @@
}%
\def\XINT_dsx_AisNeg_checkiffirstempty #1%
{%
- \xint_gob_til_z #1\XINT_dsx_AisNeg_finish_zero\Z
+ \xint_gob_til_Z #1\XINT_dsx_AisNeg_finish_zero\Z
\XINT_dsx_AisNeg_finish_notzero #1%
}%
\def\XINT_dsx_AisNeg_finish_zero\Z
@@ -3127,7 +3184,7 @@
\def\XINT_split_fromleft_eight #1#2#3#4#5#6#7#8#9{#9{#1#2#3#4#5#6#7#8#9}}%
\def\XINT_split_fromleft_loop_perhaps #1#2%
{%
- \xint_gob_til_w #2\XINT_split_fromleft_toofar\W
+ \xint_gob_til_W #2\XINT_split_fromleft_toofar\W
\XINT_split_fromleft_loop {#1}%
}%
\def\XINT_split_fromleft_toofar\W\XINT_split_fromleft_loop #1#2#3\Z
@@ -3159,7 +3216,7 @@
{\XINT_split_fromleft_checkiftoofar #8{#1#2#3#4#5#6#7#8}}%
\def\XINT_split_fromleft_checkiftoofar #1#2#3\W #4\Z
{%
- \xint_gob_til_w #1\XINT_split_fromleft_wenttoofar\W
+ \xint_gob_til_W #1\XINT_split_fromleft_wenttoofar\W
\space {#2}{#3}%
}%
\def\XINT_split_fromleft_wenttoofar\W\space #1%
@@ -3185,7 +3242,7 @@
\def\XINT_split_fromright_eight #1#2#3#4#5#6#7#8#9{#9{#9#8#7#6#5#4#3#2#1}}%
\def\XINT_split_fromright_loop_perhaps #1#2%
{%
- \xint_gob_til_w #2\XINT_split_fromright_toofar\W
+ \xint_gob_til_W #2\XINT_split_fromright_toofar\W
\XINT_split_fromright_loop {#1}%
}%
\def\XINT_split_fromright_toofar\W\XINT_split_fromright_loop #1#2#3\Z { {}}%
@@ -3216,11 +3273,381 @@
{\XINT_split_fromright_checkiftoofar #8{#8#7#6#5#4#3#2#1}}%
\def\XINT_split_fromright_checkiftoofar #1%
{%
- \xint_gob_til_w #1\XINT_split_fromright_wenttoofar\W
+ \xint_gob_til_W #1\XINT_split_fromright_wenttoofar\W
\XINT_split_fromright_endsplit_
}%
\def\XINT_split_fromright_wenttoofar\W\XINT_split_fromright_endsplit_ #1\Z #2%
{ {}{#2}}%
+\def\xintDouble {\romannumeral0\xintdouble }%
+\def\xintdouble #1%
+{%
+ \expandafter\XINT_dbl\romannumeral-`0#1%
+ \R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W
+}%
+\def\XINT_dbl #1%
+{%
+ \xint_UDzerominusfork
+ #1-\dummy \XINT_dbl_zero
+ 0#1\dummy \XINT_dbl_neg
+ 0-\dummy {\XINT_dbl_pos #1}%
+ \krof
+}%
+\def\XINT_dbl_zero #1\Z \W\W\W\W\W\W\W { 0}%
+\def\XINT_dbl_neg
+ {\expandafter\xint_minus_andstop\romannumeral0\XINT_dbl_pos }%
+\def\XINT_dbl_pos
+{%
+ \expandafter\XINT_dbl_a \expandafter{\expandafter}\expandafter 0%
+ \romannumeral0\XINT_SQ {}%
+}%
+\def\XINT_dbl_a #1#2#3#4#5#6#7#8#9%
+{%
+ \xint_gob_til_W #9\XINT_dbl_end_a\W
+ \expandafter\XINT_dbl_b
+ \the\numexpr \xint_c_x^viii+#2+\xint_c_ii*#9#8#7#6#5#4#3\relax {#1}%
+}%
+\def\XINT_dbl_b 1#1#2#3#4#5#6#7#8#9%
+{%
+ \XINT_dbl_a {#2#3#4#5#6#7#8#9}{#1}%
+}%
+\def\XINT_dbl_end_a #1+#2+#3\relax #4%
+{%
+ \expandafter\XINT_dbl_end_b #2#4%
+}%
+\def\XINT_dbl_end_b #1#2#3#4#5#6#7#8%
+{%
+ \expandafter\space\the\numexpr #1#2#3#4#5#6#7#8\relax
+}%
+\def\xintHalf {\romannumeral0\xinthalf }%
+\def\xinthalf #1%
+{%
+ \expandafter\XINT_half\romannumeral-`0#1%
+ \R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W
+}%
+\def\XINT_half #1%
+{%
+ \xint_UDzerominusfork
+ #1-\dummy \XINT_half_zero
+ 0#1\dummy \XINT_half_neg
+ 0-\dummy {\XINT_half_pos #1}%
+ \krof
+}%
+\def\XINT_half_zero #1\Z \W\W\W\W\W\W\W { 0}%
+\def\XINT_half_neg {\expandafter\XINT_opp\romannumeral0\XINT_half_pos }%
+\def\XINT_half_pos {\expandafter\XINT_half_a\romannumeral0\XINT_SQ {}}%
+\def\XINT_half_a #1#2#3#4#5#6#7#8%
+{%
+ \xint_gob_til_W #8\XINT_half_dont\W
+ \expandafter\XINT_half_b
+ \the\numexpr \xint_c_x^viii+\xint_c_v*#7#6#5#4#3#2#1\relax #8%
+}%
+\def\XINT_half_dont\W\expandafter\XINT_half_b
+ \the\numexpr \xint_c_x^viii+\xint_c_v*#1#2#3#4#5#6#7\relax \W\W\W\W\W\W\W
+{%
+ \expandafter\space
+ \the\numexpr (#1#2#3#4#5#6#7+\xint_c_i)/\xint_c_ii-\xint_c_i \relax
+}%
+\def\XINT_half_b 1#1#2#3#4#5#6#7#8%
+{%
+ \XINT_half_c {#2#3#4#5#6#7}{#1}%
+}%
+\def\XINT_half_c #1#2#3#4#5#6#7#8#9%
+{%
+ \xint_gob_til_W #3\XINT_half_end_a #2\W
+ \expandafter\XINT_half_d
+ \the\numexpr \xint_c_x^viii+\xint_c_v*#9#8#7#6#5#4#3+#2\relax {#1}%
+}%
+\def\XINT_half_d 1#1#2#3#4#5#6#7#8#9%
+{%
+ \XINT_half_c {#2#3#4#5#6#7#8#9}{#1}%
+}%
+\def\XINT_half_end_a #1\W #2\relax #3%
+{%
+ \xint_gob_til_zero #1\XINT_half_end_b 0\space #1#3%
+}%
+\def\XINT_half_end_b 0\space 0#1#2#3#4#5#6#7%
+{%
+ \expandafter\space\the\numexpr #1#2#3#4#5#6#7\relax
+}%
+\def\xintDec {\romannumeral0\xintdec }%
+\def\xintdec #1%
+{%
+ \expandafter\XINT_dec\romannumeral-`0#1%
+ \R\R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W\W
+}%
+\def\XINT_dec #1%
+{%
+ \xint_UDzerominusfork
+ #1-\dummy \XINT_dec_zero
+ 0#1\dummy \XINT_dec_neg
+ 0-\dummy {\XINT_dec_pos #1}%
+ \krof
+}%
+\def\XINT_dec_zero #1\W\W\W\W\W\W\W\W { -1}%
+\def\XINT_dec_neg
+ {\expandafter\xint_minus_andstop\romannumeral0\XINT_inc_pos }%
+\def\XINT_dec_pos
+{%
+ \expandafter\XINT_dec_a \expandafter{\expandafter}%
+ \romannumeral0\XINT_OQ {}%
+}%
+\def\XINT_dec_a #1#2#3#4#5#6#7#8#9%
+{%
+ \expandafter\XINT_dec_b
+ \the\numexpr 11#9#8#7#6#5#4#3#2-\xint_c_i\relax {#1}%
+}%
+\def\XINT_dec_b 1#1%
+{%
+ \xint_gob_til_one #1\XINT_dec_A 1\XINT_dec_c
+}%
+\def\XINT_dec_c #1#2#3#4#5#6#7#8#9{\XINT_dec_a {#1#2#3#4#5#6#7#8#9}}%
+\def\XINT_dec_A 1\XINT_dec_c #1#2#3#4#5#6#7#8#9%
+ {\XINT_dec_B {#1#2#3#4#5#6#7#8#9}}%
+\def\XINT_dec_B #1#2\W\W\W\W\W\W\W\W
+{%
+ \expandafter\XINT_dec_cleanup
+ \romannumeral0\XINT_rord_main {}#2%
+ \xint_relax
+ \xint_undef\xint_undef\xint_undef\xint_undef
+ \xint_undef\xint_undef\xint_undef\xint_undef
+ \xint_relax
+ #1%
+}%
+\def\XINT_dec_cleanup #1#2#3#4#5#6#7#8%
+{\expandafter\space\the\numexpr #1#2#3#4#5#6#7#8\relax }%
+\def\xintInc {\romannumeral0\xintinc }%
+\def\xintinc #1%
+{%
+ \expandafter\XINT_inc\romannumeral-`0#1%
+ \R\R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W\W
+}%
+\def\XINT_inc #1%
+{%
+ \xint_UDzerominusfork
+ #1-\dummy \XINT_inc_zero
+ 0#1\dummy \XINT_inc_neg
+ 0-\dummy {\XINT_inc_pos #1}%
+ \krof
+}%
+\def\XINT_inc_zero #1\W\W\W\W\W\W\W\W { 1}%
+\def\XINT_inc_neg {\expandafter\XINT_opp\romannumeral0\XINT_dec_pos }%
+\def\XINT_inc_pos
+{%
+ \expandafter\XINT_inc_a \expandafter{\expandafter}%
+ \romannumeral0\XINT_OQ {}%
+}%
+\def\XINT_inc_a #1#2#3#4#5#6#7#8#9%
+{%
+ \xint_gob_til_W #9\XINT_inc_end\W
+ \expandafter\XINT_inc_b
+ \the\numexpr 10#9#8#7#6#5#4#3#2+\xint_c_i\relax {#1}%
+}%
+\def\XINT_inc_b 1#1%
+{%
+ \xint_gob_til_zero #1\XINT_inc_A 0\XINT_inc_c
+}%
+\def\XINT_inc_c #1#2#3#4#5#6#7#8#9{\XINT_inc_a {#1#2#3#4#5#6#7#8#9}}%
+\def\XINT_inc_A 0\XINT_inc_c #1#2#3#4#5#6#7#8#9%
+ {\XINT_dec_B {#1#2#3#4#5#6#7#8#9}}%
+\def\XINT_inc_end\W #1\relax #2{ 1#2}%
+\def\XINT_dsx_addzerosnofuss #1{\XINT_dsx_zeroloop {#1}{}\Z }%
+\def\xintiSqrt {\romannumeral0\xintisqrt }%
+\def\xintisqrt
+ {\expandafter\XINT_sqrt_post\romannumeral0\xintisquareroot }%
+\def\XINT_sqrt_post #1#2{\XINT_dec_pos #1\R\R\R\R\R\R\R\R\Z
+ \W\W\W\W\W\W\W\W }%
+\def\xintiSquareRoot {\romannumeral0\xintisquareroot }%
+\def\xintisquareroot #1%
+ {\expandafter\XINT_sqrt_checkin\romannumeral-`0#1\Z}%
+\def\XINT_sqrt_checkin #1%
+{%
+ \xint_UDzerominusfork
+ #1-\dummy \XINT_sqrt_iszero
+ 0#1\dummy \XINT_sqrt_isneg
+ 0-\dummy {\XINT_sqrt #1}%
+ \krof
+}%
+\def\XINT_sqrt_iszero #1\Z { 0}%
+\def\XINT_sqrt_isneg #1\Z {\xintError:RootOfNegative\space 0}%
+\def\XINT_sqrt #1\Z
+{%
+ \expandafter\XINT_sqrt_start\expandafter
+ {\romannumeral0\XINT_length {#1}}{#1}%
+}%
+\def\XINT_sqrt_start #1%
+{%
+ \ifnum #1<\xint_c_x
+ \expandafter\XINT_sqrt_small_a
+ \else
+ \expandafter\XINT_sqrt_big_a
+ \fi
+ {#1}%
+}%
+\def\XINT_sqrt_small_a #1{\XINT_sqrt_a {#1}\XINT_sqrt_small_d }%
+\def\XINT_sqrt_big_a #1{\XINT_sqrt_a {#1}\XINT_sqrt_big_d }%
+\def\XINT_sqrt_a #1%
+{%
+ \ifodd #1
+ \expandafter\XINT_sqrt_bB
+ \else
+ \expandafter\XINT_sqrt_bA
+ \fi
+ {#1}%
+}%
+\def\XINT_sqrt_bA #1#2#3%
+{%
+ \XINT_sqrt_bA_b #3\Z #2{#1}{#3}%
+}%
+\def\XINT_sqrt_bA_b #1#2#3\Z
+{%
+ \XINT_sqrt_c {#1#2}%
+}%
+\def\XINT_sqrt_bB #1#2#3%
+{%
+ \XINT_sqrt_bB_b #3\Z #2{#1}{#3}%
+}%
+\def\XINT_sqrt_bB_b #1#2\Z
+{%
+ \XINT_sqrt_c #1%
+}%
+\def\XINT_sqrt_c #1#2%
+{%
+ \expandafter #2%
+ \ifcase #1
+ \or 2\or 2\or 2\or 3\or 3\or 3\or 3\or 3\or %3+5
+ 4\or 4\or 4\or 4\or 4\or 4\or 4\or %+7
+ 5\or 5\or 5\or 5\or 5\or 5\or 5\or 5\or 5\or %+9
+ 6\or 6\or 6\or 6\or 6\or 6\or 6\or 6\or 6\or 6\or 6\or %+11
+ 7\or 7\or 7\or 7\or 7\or 7\or 7\or 7\or 7\or 7\or 7\or 7\or 7\or %+13
+ 8\or 8\or 8\or 8\or 8\or 8\or 8\or
+ 8\or 8\or 8\or 8\or 8\or 8\or 8\or 8\or %+15
+ 9\or 9\or 9\or 9\or 9\or 9\or 9\or 9\or
+ 9\or 9\or 9\or 9\or 9\or 9\or 9\or 9\or 9\or %+17
+ 10\or 10\or 10\or 10\or 10\or 10\or 10\or 10\or 10\or
+ 10\or 10\or 10\or 10\or 10\or 10\or 10\or 10\or 10\or 10\or\fi %+19
+}%
+\def\XINT_sqrt_small_d #1\or #2\fi #3%
+{%
+ \fi
+ \expandafter\XINT_sqrt_small_de
+ \ifcase \numexpr #3/\xint_c_ii-\xint_c_i\relax
+ {}%
+ \or
+ 0%
+ \or
+ {00}%
+ \or
+ {000}%
+ \or
+ {0000}%
+ \or
+ \fi {#1}%
+}%
+\def\XINT_sqrt_small_de #1\or #2\fi #3%
+{%
+ \fi\XINT_sqrt_small_e {#3#1}%
+}%
+\def\XINT_sqrt_small_e #1#2%
+{%
+ \expandafter\XINT_sqrt_small_f\expandafter {\the\numexpr #1*#1-#2}{#1}%
+}%
+\def\XINT_sqrt_small_f #1#2%
+{%
+ \expandafter\XINT_sqrt_small_g\expandafter
+ {\the\numexpr ((#1+#2)/(\xint_c_ii*#2))-\xint_c_i}{#1}{#2}%
+}%
+\def\XINT_sqrt_small_g #1%
+{%
+ \ifnum #1>\xint_c_
+ \expandafter\XINT_sqrt_small_h
+ \else
+ \expandafter\XINT_sqrt_small_end
+ \fi
+ {#1}%
+}%
+\def\XINT_sqrt_small_h #1#2#3%
+{%
+ \expandafter\XINT_sqrt_small_f\expandafter
+ {\the\numexpr #2-\xint_c_ii*#1*#3+#1*#1\expandafter}\expandafter
+ {\the\numexpr #3-#1}%
+}%
+\def\XINT_sqrt_small_end #1#2#3{ {#3}{#2}}%
+\def\XINT_sqrt_big_d #1\or #2\fi #3%
+{%
+ \fi
+ \ifodd #3
+ \xint_afterfi{\expandafter\XINT_sqrt_big_eB}%
+ \else
+ \xint_afterfi{\expandafter\XINT_sqrt_big_eA}%
+ \fi
+ \expandafter{\the\numexpr #3/\xint_c_ii }{#1}%
+}%
+\def\XINT_sqrt_big_eA #1#2#3%
+{%
+ \XINT_sqrt_big_eA_a #3\Z {#2}{#1}{#3}%
+}%
+\def\XINT_sqrt_big_eA_a #1#2#3#4#5#6#7#8#9\Z
+{%
+ \XINT_sqrt_big_eA_b {#1#2#3#4#5#6#7#8}%
+}%
+\def\XINT_sqrt_big_eA_b #1#2%
+{%
+ \expandafter\XINT_sqrt_big_f
+ \romannumeral0\XINT_sqrt_small_e {#2000}{#1}{#1}%
+}%
+\def\XINT_sqrt_big_eB #1#2#3%
+{%
+ \XINT_sqrt_big_eB_a #3\Z {#2}{#1}{#3}%
+}%
+\def\XINT_sqrt_big_eB_a #1#2#3#4#5#6#7#8#9%
+{%
+ \XINT_sqrt_big_eB_b {#1#2#3#4#5#6#7#8#9}%
+}%
+\def\XINT_sqrt_big_eB_b #1#2\Z #3%
+{%
+ \expandafter\XINT_sqrt_big_f
+ \romannumeral0\XINT_sqrt_small_e {#30000}{#1}{#1}%
+}%
+\def\XINT_sqrt_big_f #1#2#3#4%
+{%
+ \expandafter\XINT_sqrt_big_f_a\expandafter
+ {\the\numexpr #2+#3\expandafter}\expandafter
+ {\romannumeral-`0\XINT_dsx_addzerosnofuss
+ {\numexpr #4-\xint_c_iv\relax}{#1}}{#4}%
+}%
+\def\XINT_sqrt_big_f_a #1#2#3#4%
+{%
+ \expandafter\XINT_sqrt_big_g\expandafter
+ {\romannumeral0\xintisub
+ {\XINT_dsx_addzerosnofuss
+ {\numexpr \xint_c_ii*#3-\xint_c_viii\relax}{#1}}{#4}}%
+ {#2}{#3}%
+}%
+\def\XINT_sqrt_big_g #1#2%
+{%
+ \expandafter\XINT_sqrt_big_j
+ \romannumeral0\xintidivision{#1}
+ {\romannumeral0\XINT_dbl_pos #2\R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W }{#2}%
+}%
+\def\XINT_sqrt_big_j #1%
+{%
+ \ifcase\XINT_Sgn {#1}
+ \expandafter \XINT_sqrt_big_end
+ \or \expandafter \XINT_sqrt_big_k
+ \fi {#1}%
+}%
+\def\XINT_sqrt_big_k #1#2#3%
+{%
+ \expandafter\XINT_sqrt_big_l\expandafter
+ {\romannumeral0\xintisub {#3}{#1}}%
+ {\romannumeral0\xintiadd {#2}{\xintiSqr {#1}}}%
+}%
+\def\XINT_sqrt_big_l #1#2%
+{%
+ \expandafter\XINT_sqrt_big_g\expandafter
+ {#2}{#1}%
+}%
+\def\XINT_sqrt_big_end #1#2#3#4{ {#3}{#2}}%
\XINT_restorecatcodes_endinput%
\endinput
%%
diff --git a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty
new file mode 100644
index 00000000000..d023151c236
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty
@@ -0,0 +1,732 @@
+%%
+%% This is file `xintbinhex.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xint.dtx (with options: `xintbinhex')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from xintbinhex.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file xint.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%%
+%%----------------------------------------------------------------
+%% The xint bundle (version 1.08b of June 14, 2013)
+%% xintbinhex: Expandable binary and hexadecimal conversions
+%% Copyright (C) 2013 by Jean-Francois Burnol
+%%----------------------------------------------------------------
+%%
+\begingroup\catcode61\catcode48\catcode32=10\relax%
+ \catcode13=5 % ^^M
+ \endlinechar=13 %
+ \catcode123=1 % {
+ \catcode125=2 % }
+ \catcode64=11 % @
+ \catcode35=6 % #
+ \catcode44=12 % ,
+ \catcode45=12 % -
+ \catcode46=12 % .
+ \catcode58=12 % :
+ \def\space { }%
+ \let\z\endgroup
+ \expandafter\let\expandafter\x\csname ver@xintbinhex.sty\endcsname
+ \expandafter\let\expandafter\w\csname ver@xint.sty\endcsname
+ \expandafter
+ \ifx\csname PackageInfo\endcsname\relax
+ \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}%
+ \else
+ \def\y#1#2{\PackageInfo{#1}{#2}}%
+ \fi
+ \expandafter
+ \ifx\csname numexpr\endcsname\relax
+ \y{xintbinhex}{\numexpr not available, aborting input}%
+ \aftergroup\endinput
+ \else
+ \ifx\x\relax % plain-TeX, first loading of xintbinhex.sty
+ \ifx\w\relax % but xint.sty not yet loaded.
+ \y{xintbinhex}{Package xint is required}%
+ \y{xintbinhex}{Will try \string\input\space xint.sty}%
+ \def\z{\endgroup\input xint.sty\relax}%
+ \fi
+ \else
+ \def\empty {}%
+ \ifx\x\empty % LaTeX, first loading,
+ % variable is initialized, but \ProvidesPackage not yet seen
+ \ifx\w\relax % xint.sty not yet loaded.
+ \y{xintbinhex}{Package xint is required}%
+ \y{xintbinhex}{Will try \string\RequirePackage{xint}}%
+ \def\z{\endgroup\RequirePackage{xint}}%
+ \fi
+ \else
+ \y{xintbinhex}{I was already loaded, aborting input}%
+ \aftergroup\endinput
+ \fi
+ \fi
+ \fi
+\z%
+\begingroup\catcode61\catcode48\catcode32=10\relax%
+ \catcode13=5 % ^^M
+ \endlinechar=13 %
+ \catcode123=1 % {
+ \catcode125=2 % }
+ \catcode64=11 % @
+ \catcode35=6 % #
+ \catcode44=12 % ,
+ \catcode45=12 % -
+ \catcode46=12 % .
+ \catcode58=12 % :
+ \expandafter
+ \ifx\csname PackageInfo\endcsname\relax
+ \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}%
+ \else
+ \def\y#1#2{\PackageInfo{#1}{#2}}%
+ \fi
+ \def\empty {}%
+ \expandafter\let\expandafter\w\csname ver@xint.sty\endcsname
+ \ifx\w\relax % Plain TeX, user gave a file name at the prompt
+ \y{xintbinhex}{Loading of package xint failed, aborting input}%
+ \aftergroup\endinput
+ \fi
+ \ifx\w\empty % LaTeX, user gave a file name at the prompt
+ \y{xintbinhex}{Loading of package xint failed, aborting input}%
+ \aftergroup\endinput
+ \fi
+\endgroup%
+\begingroup\catcode61\catcode48\catcode32=10\relax%
+ \catcode13=5 % ^^M
+ \endlinechar=13 %
+ \catcode123=1 % {
+ \catcode125=2 % }
+ \catcode95=11 % _
+ \def\x
+ {%
+ \endgroup
+ \edef\XINT_binhex_restorecatcodes_endinput
+ {%
+ \catcode94=\the\catcode94 % ^
+ \catcode96=\the\catcode96 % `
+ \catcode47=\the\catcode47 % /
+ \catcode41=\the\catcode41 % )
+ \catcode40=\the\catcode40 % (
+ \catcode42=\the\catcode42 % *
+ \catcode43=\the\catcode43 % +
+ \catcode62=\the\catcode62 % >
+ \catcode60=\the\catcode60 % <
+ \catcode58=\the\catcode58 % :
+ \catcode46=\the\catcode46 % .
+ \catcode45=\the\catcode45 % -
+ \catcode44=\the\catcode44 % ,
+ \catcode35=\the\catcode35 % #
+ \catcode95=\the\catcode95 % _
+ \catcode125=\the\catcode125 % }
+ \catcode123=\the\catcode123 % {
+ \endlinechar=\the\endlinechar
+ \catcode13=\the\catcode13 % ^^M
+ \catcode32=\the\catcode32 %
+ \catcode61=\the\catcode61\relax % =
+ \noexpand\endinput
+ }%
+ \XINT_setcatcodes % defined in xint.sty
+ }%
+\x
+\begingroup
+ \catcode64=11 % @
+ \catcode91=12 % [
+ \catcode93=12 % ]
+ \catcode58=12 % :
+ \expandafter\ifx\csname ProvidesPackage\endcsname\relax
+ \def\x#1#2#3[#4]{\endgroup
+ \immediate\write-1{Package: #3 #4}%
+ \xdef#1{#4}%
+ }%
+ \else
+ \def\x#1#2[#3]{\endgroup
+ #2[{#3}]%
+ \ifx#1\@undefined
+ \xdef#1{#3}%
+ \fi
+ \ifx#1\relax
+ \xdef#1{#3}%
+ \fi
+ }%
+ \fi
+\expandafter\x\csname ver@xintbinhex.sty\endcsname
+\ProvidesPackage{xintbinhex}%
+ [2013/06/14 v1.08b Expandable binary and hexadecimal conversions (jfB)]%
+\chardef\xint_c_xvi 16
+\chardef\xint_c_ii^v 32
+\chardef\xint_c_ii^vi 64
+\chardef\xint_c_ii^vii 128
+\mathchardef\xint_c_ii^viii 256
+\mathchardef\xint_c_ii^xii 4096
+\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
+\newcount\xint_c_x^ix \xint_c_x^ix 1000000000
+\def\XINT_tmp_def #1{%
+ \expandafter\edef\csname XINT_sdth_#1\endcsname
+ {\ifcase #1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or
+ 8\or 9\or A\or B\or C\or D\or E\or F\fi}}%
+\xintApplyUnbraced\XINT_tmp_def
+ {{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}}%
+\def\XINT_tmp_def #1{%
+ \expandafter\edef\csname XINT_sdtb_#1\endcsname
+ {\ifcase #1
+ 0000\or 0001\or 0010\or 0011\or 0100\or 0101\or 0110\or 0111\or
+ 1000\or 1001\or 1010\or 1011\or 1100\or 1101\or 1110\or 1111\fi}}%
+\xintApplyUnbraced\XINT_tmp_def
+ {{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}}%
+\let\XINT_tmp_def\empty
+\expandafter\def\csname XINT_sbtd_0000\endcsname {0}%
+\expandafter\def\csname XINT_sbtd_0001\endcsname {1}%
+\expandafter\def\csname XINT_sbtd_0010\endcsname {2}%
+\expandafter\def\csname XINT_sbtd_0011\endcsname {3}%
+\expandafter\def\csname XINT_sbtd_0100\endcsname {4}%
+\expandafter\def\csname XINT_sbtd_0101\endcsname {5}%
+\expandafter\def\csname XINT_sbtd_0110\endcsname {6}%
+\expandafter\def\csname XINT_sbtd_0111\endcsname {7}%
+\expandafter\def\csname XINT_sbtd_1000\endcsname {8}%
+\expandafter\def\csname XINT_sbtd_1001\endcsname {9}%
+\expandafter\def\csname XINT_sbtd_1010\endcsname {10}%
+\expandafter\def\csname XINT_sbtd_1011\endcsname {11}%
+\expandafter\def\csname XINT_sbtd_1100\endcsname {12}%
+\expandafter\def\csname XINT_sbtd_1101\endcsname {13}%
+\expandafter\def\csname XINT_sbtd_1110\endcsname {14}%
+\expandafter\def\csname XINT_sbtd_1111\endcsname {15}%
+\expandafter\let\csname XINT_sbth_0000\expandafter\endcsname
+ \csname XINT_sbtd_0000\endcsname
+\expandafter\let\csname XINT_sbth_0001\expandafter\endcsname
+ \csname XINT_sbtd_0001\endcsname
+\expandafter\let\csname XINT_sbth_0010\expandafter\endcsname
+ \csname XINT_sbtd_0010\endcsname
+\expandafter\let\csname XINT_sbth_0011\expandafter\endcsname
+ \csname XINT_sbtd_0011\endcsname
+\expandafter\let\csname XINT_sbth_0100\expandafter\endcsname
+ \csname XINT_sbtd_0100\endcsname
+\expandafter\let\csname XINT_sbth_0101\expandafter\endcsname
+ \csname XINT_sbtd_0101\endcsname
+\expandafter\let\csname XINT_sbth_0110\expandafter\endcsname
+ \csname XINT_sbtd_0110\endcsname
+\expandafter\let\csname XINT_sbth_0111\expandafter\endcsname
+ \csname XINT_sbtd_0111\endcsname
+\expandafter\let\csname XINT_sbth_1000\expandafter\endcsname
+ \csname XINT_sbtd_1000\endcsname
+\expandafter\let\csname XINT_sbth_1001\expandafter\endcsname
+ \csname XINT_sbtd_1001\endcsname
+\expandafter\def\csname XINT_sbth_1010\endcsname {A}%
+\expandafter\def\csname XINT_sbth_1011\endcsname {B}%
+\expandafter\def\csname XINT_sbth_1100\endcsname {C}%
+\expandafter\def\csname XINT_sbth_1101\endcsname {D}%
+\expandafter\def\csname XINT_sbth_1110\endcsname {E}%
+\expandafter\def\csname XINT_sbth_1111\endcsname {F}%
+\expandafter\def\csname XINT_shtb_0\endcsname {0000}%
+\expandafter\def\csname XINT_shtb_1\endcsname {0001}%
+\expandafter\def\csname XINT_shtb_2\endcsname {0010}%
+\expandafter\def\csname XINT_shtb_3\endcsname {0011}%
+\expandafter\def\csname XINT_shtb_4\endcsname {0100}%
+\expandafter\def\csname XINT_shtb_5\endcsname {0101}%
+\expandafter\def\csname XINT_shtb_6\endcsname {0110}%
+\expandafter\def\csname XINT_shtb_7\endcsname {0111}%
+\expandafter\def\csname XINT_shtb_8\endcsname {1000}%
+\expandafter\def\csname XINT_shtb_9\endcsname {1001}%
+\def\XINT_shtb_A {1010}%
+\def\XINT_shtb_B {1011}%
+\def\XINT_shtb_C {1100}%
+\def\XINT_shtb_D {1101}%
+\def\XINT_shtb_E {1110}%
+\def\XINT_shtb_F {1111}%
+\def\XINT_shtb_G {}%
+\def\XINT_smallhex #1%
+{%
+ \expandafter\XINT_smallhex_a\expandafter
+ {\the\numexpr (#1+\xint_c_viii)/\xint_c_xvi-\xint_c_i}{#1}%
+}%
+\def\XINT_smallhex_a #1#2%
+{%
+ \csname XINT_sdth_#1\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_sdth_\the\numexpr #2-\xint_c_xvi*#1\endcsname
+}%
+\def\XINT_smallbin #1%
+{%
+ \expandafter\XINT_smallbin_a\expandafter
+ {\the\numexpr (#1+\xint_c_viii)/\xint_c_xvi-\xint_c_i}{#1}%
+}%
+\def\XINT_smallbin_a #1#2%
+{%
+ \csname XINT_sdtb_#1\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_sdtb_\the\numexpr #2-\xint_c_xvi*#1\endcsname
+}%
+\def\xintDecToHex {\romannumeral0\xintdectohex }%
+\def\xintdectohex #1%
+ {\expandafter\XINT_dth_checkin\romannumeral-`0#1\W\W\W\W \T}%
+\def\XINT_dth_checkin #1%
+{%
+ \xint_UDsignfork
+ #1\dummy \XINT_dth_N
+ -\dummy {\XINT_dth_P #1}%
+ \krof
+}%
+\def\XINT_dth_N {\expandafter\xint_minus_andstop\romannumeral0\XINT_dth_P }%
+\def\XINT_dth_P {\expandafter\XINT_dth_III\romannumeral-`0\XINT_dtbh_I {0.}}%
+\def\xintDecToBin {\romannumeral0\xintdectobin }%
+\def\xintdectobin #1%
+ {\expandafter\XINT_dtb_checkin\romannumeral-`0#1\W\W\W\W \T }%
+\def\XINT_dtb_checkin #1%
+{%
+ \xint_UDsignfork
+ #1\dummy \XINT_dtb_N
+ -\dummy {\XINT_dtb_P #1}%
+ \krof
+}%
+\def\XINT_dtb_N {\expandafter\xint_minus_andstop\romannumeral0\XINT_dtb_P }%
+\def\XINT_dtb_P {\expandafter\XINT_dtb_III\romannumeral-`0\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.%
+}%
+\def\XINT_dtbh_II_a\W\XINT_dtbh_I_a #1#2{\XINT_dtbh_II_b #2}%
+\def\XINT_dtbh_II_b #1#2#3#4%
+{%
+ \xint_gob_til_W
+ #1\XINT_dtbh_II_c
+ #2\XINT_dtbh_II_ci
+ #3\XINT_dtbh_II_cii
+ \W\XINT_dtbh_II_ciii #1#2#3#4%
+}%
+\def\XINT_dtbh_II_c \W\XINT_dtbh_II_ci
+ \W\XINT_dtbh_II_cii
+ \W\XINT_dtbh_II_ciii \W\W\W\W {{}}%
+\def\XINT_dtbh_II_ci #1\XINT_dtbh_II_ciii #2\W\W\W
+ {\XINT_dtbh_II_d {}{#2}{0}}%
+\def\XINT_dtbh_II_cii\W\XINT_dtbh_II_ciii #1#2\W\W
+ {\XINT_dtbh_II_d {}{#1#2}{00}}%
+\def\XINT_dtbh_II_ciii #1#2#3\W
+ {\XINT_dtbh_II_d {}{#1#2#3}{000}}%
+\def\XINT_dtbh_I_a #1#2#3.%
+{%
+ \xint_gob_til_Z #3\XINT_dtbh_I_z\Z
+ \expandafter\XINT_dtbh_I_b\the\numexpr #2+#30000.{#1}%
+}%
+\def\XINT_dtbh_I_b #1.%
+{%
+ \expandafter\XINT_dtbh_I_c\the\numexpr
+ (#1+\xint_c_ii^xv)/\xint_c_ii^xvi-\xint_c_i.#1.%
+}%
+\def\XINT_dtbh_I_c #1.#2.%
+{%
+ \expandafter\XINT_dtbh_I_d\expandafter
+ {\the\numexpr #2-\xint_c_ii^xvi*#1}{#1}%
+}%
+\def\XINT_dtbh_I_d #1#2#3{\XINT_dtbh_I_a {#3#1.}{#2}}%
+\def\XINT_dtbh_I_z\Z\expandafter\XINT_dtbh_I_b\the\numexpr #1+#2.%
+{%
+ \ifnum #1=\xint_c_ \expandafter\XINT_dtbh_I_end_zb\fi
+ \XINT_dtbh_I_end_za {#1}%
+}%
+\def\XINT_dtbh_I_end_za #1#2{\XINT_dtbh_I {#2#1.}}%
+\def\XINT_dtbh_I_end_zb\XINT_dtbh_I_end_za #1#2{\XINT_dtbh_I {#2}}%
+\def\XINT_dtbh_II_d #1#2#3#4.%
+{%
+ \xint_gob_til_Z #4\XINT_dtbh_II_z\Z
+ \expandafter\XINT_dtbh_II_e\the\numexpr #2+#4#3.{#1}{#3}%
+}%
+\def\XINT_dtbh_II_e #1.%
+{%
+ \expandafter\XINT_dtbh_II_f\the\numexpr
+ (#1+\xint_c_ii^xv)/\xint_c_ii^xvi-\xint_c_i.#1.%
+}%
+\def\XINT_dtbh_II_f #1.#2.%
+{%
+ \expandafter\XINT_dtbh_II_g\expandafter
+ {\the\numexpr #2-\xint_c_ii^xvi*#1}{#1}%
+}%
+\def\XINT_dtbh_II_g #1#2#3{\XINT_dtbh_II_d {#3#1.}{#2}}%
+\def\XINT_dtbh_II_z\Z\expandafter\XINT_dtbh_II_e\the\numexpr #1+#2.%
+{%
+ \ifnum #1=\xint_c_ \expandafter\XINT_dtbh_II_end_zb\fi
+ \XINT_dtbh_II_end_za {#1}%
+}%
+\def\XINT_dtbh_II_end_za #1#2#3{{}#2#1.\Z.}%
+\def\XINT_dtbh_II_end_zb\XINT_dtbh_II_end_za #1#2#3{{}#2\Z.}%
+\def\XINT_dth_III #1#2.%
+{%
+ \xint_gob_til_Z #2\XINT_dth_end\Z
+ \expandafter\XINT_dth_III\expandafter
+ {\romannumeral-`0\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
+ {\the\numexpr
+ #1-((#1+\xint_c_ii^vii)/\xint_c_ii^viii-\xint_c_i)*\xint_c_ii^viii}%
+}%
+\def\XINT_dth_end\Z\expandafter\XINT_dth_III\expandafter #1#2\T
+{%
+ \XINT_dth_end_b #1%
+}%
+\def\XINT_dth_end_b #1.{\XINT_dth_end_c }%
+\def\XINT_dth_end_c #1{\xint_gob_til_zero #1\XINT_dth_end_d 0\space #1}%
+\def\XINT_dth_end_d 0\space 0#1%
+{%
+ \xint_gob_til_zero #1\XINT_dth_end_e 0\space #1%
+}%
+\def\XINT_dth_end_e 0\space 0#1%
+{%
+ \xint_gob_til_zero #1\XINT_dth_end_f 0\space #1%
+}%
+\def\XINT_dth_end_f 0\space 0{ }%
+\def\XINT_dtb_III #1#2.%
+{%
+ \xint_gob_til_Z #2\XINT_dtb_end\Z
+ \expandafter\XINT_dtb_III\expandafter
+ {\romannumeral-`0\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
+ {\the\numexpr
+ #1-((#1+\xint_c_ii^vii)/\xint_c_ii^viii-\xint_c_i)*\xint_c_ii^viii}%
+}%
+\def\XINT_dtb_end\Z\expandafter\XINT_dtb_III\expandafter #1#2\T
+{%
+ \XINT_dtb_end_b #1%
+}%
+\def\XINT_dtb_end_b #1.{\XINT_dtb_end_c }%
+\def\XINT_dtb_end_c #1#2#3#4#5#6#7#8%
+{%
+ \expandafter\XINT_dtb_end_d\the\numexpr #1#2#3#4#5#6#7#8\relax
+}%
+\def\XINT_dtb_end_d #1#2#3#4#5#6#7#8#9%
+{%
+ \expandafter\space\the\numexpr #1#2#3#4#5#6#7#8#9\relax
+}%
+\def\xintHexToDec {\romannumeral0\xinthextodec }%
+\def\xinthextodec #1%
+ {\expandafter\XINT_htd_checkin\romannumeral-`0#1\W\W\W\W \T }%
+\def\XINT_htd_checkin #1%
+{%
+ \xint_UDsignfork
+ #1\dummy \XINT_htd_neg
+ -\dummy {\XINT_htd_I {0000}#1}%
+ \krof
+}%
+\def\XINT_htd_neg {\expandafter\xint_minus_andstop
+ \romannumeral0\XINT_htd_I {0000}}%
+\def\XINT_htd_I #1#2#3#4#5%
+{%
+ \xint_gob_til_W #5\XINT_htd_II_a\W
+ \XINT_htd_I_a {}{"#2#3#4#5}#1\Z\Z\Z\Z
+}%
+\def\XINT_htd_II_a \W\XINT_htd_I_a #1#2{\XINT_htd_II_b #2}%
+\def\XINT_htd_II_b "#1#2#3#4%
+{%
+ \xint_gob_til_W
+ #1\XINT_htd_II_c
+ #2\XINT_htd_II_ci
+ #3\XINT_htd_II_cii
+ \W\XINT_htd_II_ciii #1#2#3#4%
+}%
+\def\XINT_htd_II_c \W\XINT_htd_II_ci
+ \W\XINT_htd_II_cii
+ \W\XINT_htd_II_ciii \W\W\W\W #1\Z\Z\Z\Z\T
+{%
+ \expandafter\xint_cleanupzeros_andstop
+ \romannumeral0\XINT_rord_main {}#1%
+ \xint_relax
+ \xint_undef\xint_undef\xint_undef\xint_undef
+ \xint_undef\xint_undef\xint_undef\xint_undef
+ \xint_relax
+}%
+\def\XINT_htd_II_ci #1\XINT_htd_II_ciii
+ #2\W\W\W {\XINT_htd_II_d {}{"#2}{\xint_c_xvi}}%
+\def\XINT_htd_II_cii\W\XINT_htd_II_ciii
+ #1#2\W\W {\XINT_htd_II_d {}{"#1#2}{\xint_c_ii^viii}}%
+\def\XINT_htd_II_ciii #1#2#3\W {\XINT_htd_II_d {}{"#1#2#3}{\xint_c_ii^xii}}%
+\def\XINT_htd_I_a #1#2#3#4#5#6%
+{%
+ \xint_gob_til_Z #3\XINT_htd_I_end_a\Z
+ \expandafter\XINT_htd_I_b\the\numexpr
+ #2+\xint_c_ii^xvi*#6#5#4#3+\xint_c_x^ix\relax {#1}%
+}%
+\def\XINT_htd_I_b 1#1#2#3#4#5#6#7#8#9{\XINT_htd_I_c {#1#2#3#4#5}{#9#8#7#6}}%
+\def\XINT_htd_I_c #1#2#3{\XINT_htd_I_a {#3#2}{#1}}%
+\def\XINT_htd_I_end_a\Z\expandafter\XINT_htd_I_b\the\numexpr #1+#2\relax
+{%
+ \expandafter\XINT_htd_I_end_b\the\numexpr \xint_c_x^v+#1\relax
+}%
+\def\XINT_htd_I_end_b 1#1#2#3#4#5%
+{%
+ \xint_gob_til_zero #1\XINT_htd_I_end_bz0%
+ \XINT_htd_I_end_c #1#2#3#4#5%
+}%
+\def\XINT_htd_I_end_c #1#2#3#4#5#6{\XINT_htd_I {#6#5#4#3#2#1000}}%
+\def\XINT_htd_I_end_bz0\XINT_htd_I_end_c 0#1#2#3#4%
+{%
+ \xint_gob_til_zeros_iv #1#2#3#4\XINT_htd_I_end_bzz 0000%
+ \XINT_htd_I_end_D {#4#3#2#1}%
+}%
+\def\XINT_htd_I_end_D #1#2{\XINT_htd_I {#2#1}}%
+\def\XINT_htd_I_end_bzz 0000\XINT_htd_I_end_D #1{\XINT_htd_I }%
+\def\XINT_htd_II_d #1#2#3#4#5#6#7%
+{%
+ \xint_gob_til_Z #4\XINT_htd_II_end_a\Z
+ \expandafter\XINT_htd_II_e\the\numexpr
+ #2+#3*#7#6#5#4+\xint_c_x^viii\relax {#1}{#3}%
+}%
+\def\XINT_htd_II_e 1#1#2#3#4#5#6#7#8{\XINT_htd_II_f {#1#2#3#4}{#5#6#7#8}}%
+\def\XINT_htd_II_f #1#2#3{\XINT_htd_II_d {#2#3}{#1}}%
+\def\XINT_htd_II_end_a\Z\expandafter\XINT_htd_II_e
+ \the\numexpr #1+#2\relax #3#4\T
+{%
+ \XINT_htd_II_end_b #1#3%
+}%
+\def\XINT_htd_II_end_b #1#2#3#4#5#6#7#8%
+{%
+ \expandafter\space\the\numexpr #1#2#3#4#5#6#7#8\relax
+}%
+\def\xintBinToDec {\romannumeral0\xintbintodec }%
+\def\xintbintodec #1{\expandafter\XINT_btd_checkin
+ \romannumeral-`0#1\W\W\W\W\W\W\W\W \T }%
+\def\XINT_btd_checkin #1%
+{%
+ \xint_UDsignfork
+ #1\dummy \XINT_btd_neg
+ -\dummy {\XINT_btd_I {000000}#1}%
+ \krof
+}%
+\def\XINT_btd_neg {\expandafter\xint_minus_andstop
+ \romannumeral0\XINT_btd_I {000000}}%
+\def\XINT_btd_I #1#2#3#4#5#6#7#8#9%
+{%
+ \xint_gob_til_W #9\XINT_btd_II_a {#2#3#4#5#6#7#8#9}\W
+ \XINT_btd_I_a {}{\csname XINT_sbtd_#2#3#4#5\endcsname*\xint_c_xvi+%
+ \csname XINT_sbtd_#6#7#8#9\endcsname}%
+ #1\Z\Z\Z\Z\Z\Z
+}%
+\def\XINT_btd_II_a #1\W\XINT_btd_I_a #2#3{\XINT_btd_II_b #1}%
+\def\XINT_btd_II_b #1#2#3#4#5#6#7#8%
+{%
+ \xint_gob_til_W
+ #1\XINT_btd_II_c
+ #2\XINT_btd_II_ci
+ #3\XINT_btd_II_cii
+ #4\XINT_btd_II_ciii
+ #5\XINT_btd_II_civ
+ #6\XINT_btd_II_cv
+ #7\XINT_btd_II_cvi
+ \W\XINT_btd_II_cvii #1#2#3#4#5#6#7#8%
+}%
+\def\XINT_btd_II_c #1\XINT_btd_II_cvii \W\W\W\W\W\W\W\W #2\Z\Z\Z\Z\Z\Z\T
+{%
+ \expandafter\XINT_btd_II_c_end
+ \romannumeral0\XINT_rord_main {}#2%
+ \xint_relax
+ \xint_undef\xint_undef\xint_undef\xint_undef
+ \xint_undef\xint_undef\xint_undef\xint_undef
+ \xint_relax
+}%
+\def\XINT_btd_II_c_end #1#2#3#4#5#6%
+{%
+ \expandafter\space\the\numexpr #1#2#3#4#5#6\relax
+}%
+\def\XINT_btd_II_ci #1\XINT_btd_II_cvii #2\W\W\W\W\W\W\W
+ {\XINT_btd_II_d {}{#2}{\xint_c_ii }}%
+\def\XINT_btd_II_cii #1\XINT_btd_II_cvii #2\W\W\W\W\W\W
+ {\XINT_btd_II_d {}{\csname XINT_sbtd_00#2\endcsname }{\xint_c_iv }}%
+\def\XINT_btd_II_ciii #1\XINT_btd_II_cvii #2\W\W\W\W\W
+ {\XINT_btd_II_d {}{\csname XINT_sbtd_0#2\endcsname }{\xint_c_viii }}%
+\def\XINT_btd_II_civ #1\XINT_btd_II_cvii #2\W\W\W\W
+ {\XINT_btd_II_d {}{\csname XINT_sbtd_#2\endcsname}{\xint_c_xvi }}%
+\def\XINT_btd_II_cv #1\XINT_btd_II_cvii #2#3#4#5#6\W\W\W
+{%
+ \XINT_btd_II_d {}{\csname XINT_sbtd_#2#3#4#5\endcsname*\xint_c_ii+%
+ #6}{\xint_c_ii^v }%
+}%
+\def\XINT_btd_II_cvi #1\XINT_btd_II_cvii #2#3#4#5#6#7\W\W
+{%
+ \XINT_btd_II_d {}{\csname XINT_sbtd_#2#3#4#5\endcsname*\xint_c_iv+%
+ \csname XINT_sbtd_00#6#7\endcsname}{\xint_c_ii^vi }%
+}%
+\def\XINT_btd_II_cvii #1#2#3#4#5#6#7\W
+{%
+ \XINT_btd_II_d {}{\csname XINT_sbtd_#1#2#3#4\endcsname*\xint_c_viii+%
+ \csname XINT_sbtd_0#5#6#7\endcsname}{\xint_c_ii^vii }%
+}%
+\def\XINT_btd_II_d #1#2#3#4#5#6#7#8#9%
+{%
+ \xint_gob_til_Z #4\XINT_btd_II_end_a\Z
+ \expandafter\XINT_btd_II_e\the\numexpr
+ #2+(\xint_c_x^ix+#3*#9#8#7#6#5#4)\relax {#1}{#3}%
+}%
+\def\XINT_btd_II_e 1#1#2#3#4#5#6#7#8#9{\XINT_btd_II_f {#1#2#3}{#4#5#6#7#8#9}}%
+\def\XINT_btd_II_f #1#2#3{\XINT_btd_II_d {#2#3}{#1}}%
+\def\XINT_btd_II_end_a\Z\expandafter\XINT_btd_II_e
+ \the\numexpr #1+(#2\relax #3#4\T
+{%
+ \XINT_btd_II_end_b #1#3%
+}%
+\def\XINT_btd_II_end_b #1#2#3#4#5#6#7#8#9%
+{%
+ \expandafter\space\the\numexpr #1#2#3#4#5#6#7#8#9\relax
+}%
+\def\XINT_btd_I_a #1#2#3#4#5#6#7#8%
+{%
+ \xint_gob_til_Z #3\XINT_btd_I_end_a\Z
+ \expandafter\XINT_btd_I_b\the\numexpr
+ #2+\xint_c_ii^viii*#8#7#6#5#4#3+\xint_c_x^ix\relax {#1}%
+}%
+\def\XINT_btd_I_b 1#1#2#3#4#5#6#7#8#9{\XINT_btd_I_c {#1#2#3}{#9#8#7#6#5#4}}%
+\def\XINT_btd_I_c #1#2#3{\XINT_btd_I_a {#3#2}{#1}}%
+\def\XINT_btd_I_end_a\Z\expandafter\XINT_btd_I_b
+ \the\numexpr #1+\xint_c_ii^viii #2\relax
+{%
+ \expandafter\XINT_btd_I_end_b\the\numexpr 1000+#1\relax
+}%
+\def\XINT_btd_I_end_b 1#1#2#3%
+{%
+ \xint_gob_til_zeros_iii #1#2#3\XINT_btd_I_end_bz 000%
+ \XINT_btd_I_end_c #1#2#3%
+}%
+\def\XINT_btd_I_end_c #1#2#3#4{\XINT_btd_I {#4#3#2#1000}}%
+\def\XINT_btd_I_end_bz 000\XINT_btd_I_end_c 000{\XINT_btd_I }%
+\def\xintBinToHex {\romannumeral0\xintbintohex }%
+\def\xintbintohex #1%
+{%
+ \expandafter\XINT_bth_checkin
+ \romannumeral0\expandafter\XINT_num_loop
+ \romannumeral-`0#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
+}%
+\def\XINT_bth_checkin #1%
+{%
+ \xint_UDsignfork
+ #1\dummy \XINT_bth_N
+ -\dummy {\XINT_bth_P #1}%
+ \krof
+}%
+\def\XINT_bth_N {\expandafter\xint_minus_andstop\romannumeral0\XINT_bth_P }%
+\def\XINT_bth_P {\expandafter\XINT_bth_I\expandafter{\expandafter}%
+ \romannumeral0\XINT_OQ {}}%
+\def\XINT_bth_I #1#2#3#4#5#6#7#8#9%
+{%
+ \xint_gob_til_W #9\XINT_bth_end_a\W
+ \expandafter\expandafter\expandafter
+ \XINT_bth_I
+ \expandafter\expandafter\expandafter
+ {\csname XINT_sbth_#9#8#7#6\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_sbth_#5#4#3#2\endcsname #1}%
+}%
+\def\XINT_bth_end_a\W \expandafter\expandafter\expandafter
+ \XINT_bth_I \expandafter\expandafter\expandafter #1%
+{%
+ \XINT_bth_end_b #1%
+}%
+\def\XINT_bth_end_b #1\endcsname #2\endcsname #3%
+{%
+ \xint_gob_til_zero #3\XINT_bth_end_z 0\space #3%
+}%
+\def\XINT_bth_end_z0\space 0{ }%
+\def\xintHexToBin {\romannumeral0\xinthextobin }%
+\def\xinthextobin #1%
+{%
+ \expandafter\XINT_htb_checkin\romannumeral-`0#1GGGGGGGG\T
+}%
+\def\XINT_htb_checkin #1%
+{%
+ \xint_UDsignfork
+ #1\dummy \XINT_htb_N
+ -\dummy {\XINT_htb_P #1}%
+ \krof
+}%
+\def\XINT_htb_N {\expandafter\xint_minus_andstop\romannumeral0\XINT_htb_P }%
+\def\XINT_htb_P {\XINT_htb_I_a {}}%
+\def\XINT_htb_I_a #1#2#3#4#5#6#7#8#9%
+{%
+ \xint_gob_til_G #9\XINT_htb_II_a G%
+ \expandafter\expandafter\expandafter
+ \XINT_htb_I_b
+ \expandafter\expandafter\expandafter
+ {\csname XINT_shtb_#2\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#3\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#4\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#5\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#6\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#7\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#8\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#9\endcsname }{#1}%
+}%
+\def\XINT_htb_I_b #1#2{\XINT_htb_I_a {#2#1}}%
+\def\XINT_htb_II_a G\expandafter\expandafter\expandafter\XINT_htb_I_b
+{%
+ \expandafter\expandafter\expandafter \XINT_htb_II_b
+}%
+\def\XINT_htb_II_b #1#2#3\T
+{%
+ \XINT_num_loop #2#1%
+ \xint_relax\xint_relax\xint_relax\xint_relax
+ \xint_relax\xint_relax\xint_relax\xint_relax\Z
+}%
+\def\xintCHexToBin {\romannumeral0\xintchextobin }%
+\def\xintchextobin #1%
+{%
+ \expandafter\XINT_chtb_checkin\romannumeral-`0#1%
+ \R\R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W\W
+}%
+\def\XINT_chtb_checkin #1%
+{%
+ \xint_UDsignfork
+ #1\dummy \XINT_chtb_N
+ -\dummy {\XINT_chtb_P #1}%
+ \krof
+}%
+\def\XINT_chtb_N {\expandafter\xint_minus_andstop\romannumeral0\XINT_chtb_P }%
+\def\XINT_chtb_P {\expandafter\XINT_chtb_I\expandafter{\expandafter}%
+ \romannumeral0\XINT_OQ {}}%
+\def\XINT_chtb_I #1#2#3#4#5#6#7#8#9%
+{%
+ \xint_gob_til_W #9\XINT_chtb_end_a\W
+ \expandafter\expandafter\expandafter
+ \XINT_chtb_I
+ \expandafter\expandafter\expandafter
+ {\csname XINT_shtb_#9\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#8\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#7\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#6\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#5\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#4\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#3\expandafter\expandafter\expandafter\endcsname
+ \csname XINT_shtb_#2\endcsname
+ #1}%
+}%
+\def\XINT_chtb_end_a\W\expandafter\expandafter\expandafter
+ \XINT_chtb_I\expandafter\expandafter\expandafter #1%
+{%
+ \XINT_chtb_end_b #1%
+ \xint_relax\xint_relax\xint_relax\xint_relax
+ \xint_relax\xint_relax\xint_relax\xint_relax\Z
+}%
+\def\XINT_chtb_end_b #1\W#2\W#3\W#4\W#5\W#6\W#7\W#8\W\endcsname
+{%
+ \XINT_num_loop
+}%
+\XINT_binhex_restorecatcodes_endinput%
+\endinput
+%%
+%% End of file `xintbinhex.sty'.
diff --git a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
index 561738a7b02..87eabb785ed 100644
--- a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
%%
%%----------------------------------------------------------------
-%% The xint bundle (version 1.07a of May 26, 2013)
+%% The xint bundle (version 1.08b of June 14, 2013)
%% xintcfrac: Expandable continued fractions with xint package
%% Copyright (C) 2013 by Jean-Francois Burnol
%%----------------------------------------------------------------
@@ -116,6 +116,7 @@
{%
\catcode93=\the\catcode93 % ]
\catcode91=\the\catcode91 % [
+ \catcode94=\the\catcode94 % ^
\catcode96=\the\catcode96 % `
\catcode47=\the\catcode47 % /
\catcode41=\the\catcode41 % )
@@ -138,7 +139,7 @@
\catcode61=\the\catcode61\relax % =
\noexpand\endinput
}%
- \XINT_setcatcodes
+ \XINT_setcatcodes % defined in xint.sty
\catcode91=12 % [
\catcode93=12 % ]
}%
@@ -164,7 +165,7 @@
\fi
\expandafter\x\csname ver@xintcfrac.sty\endcsname
\ProvidesPackage{xintcfrac}%
- [2013/05/26 v1.07a Expandable continued fractions with xint package (jfB)]%
+ [2013/06/14 v1.08b Expandable continued fractions with xint package (jfB)]%
\def\xintCFrac {\romannumeral0\xintcfrac }%
\def\xintcfrac #1%
{%
@@ -172,7 +173,7 @@
}%
\def\XINT_cfrac_opt_a #1%
{%
- \ifx#1[\XINT_cfrac_opt_b\fi \XINT_cfrac_noopt #1%
+ \ifx[#1\XINT_cfrac_opt_b\fi \XINT_cfrac_noopt #1%
}%
\def\XINT_cfrac_noopt #1\Z
{%
@@ -232,18 +233,18 @@
{\XINT_cfrac_T #5#6{#2}#4\Z }%
\def\XINT_cfrac_T #1#2#3#4%
{%
- \xint_gob_til_z #4\XINT_cfrac_end\Z\XINT_cfrac_T #1#2{#4+\cfrac{#11#2}{#3}}%
+ \xint_gob_til_Z #4\XINT_cfrac_end\Z\XINT_cfrac_T #1#2{#4+\cfrac{#11#2}{#3}}%
}%
\def\XINT_cfrac_end\Z\XINT_cfrac_T #1#2#3%
{%
- \XINT_cfrac__end #3%
+ \XINT_cfrac_end_b #3%
}%
-\def\XINT_cfrac__end \Z+\cfrac#1#2{ #2}%
+\def\XINT_cfrac_end_b \Z+\cfrac#1#2{ #2}%
\def\xintGCFrac {\romannumeral0\xintgcfrac }%
\def\xintgcfrac #1{\XINT_gcfrac_opt_a #1\Z }%
\def\XINT_gcfrac_opt_a #1%
{%
- \ifx#1[\XINT_gcfrac_opt_b\fi \XINT_gcfrac_noopt #1%
+ \ifx[#1\XINT_gcfrac_opt_b\fi \XINT_gcfrac_noopt #1%
}%
\def\XINT_gcfrac_noopt #1\Z
{%
@@ -272,7 +273,7 @@
\def\XINT_gcfrac_enter {\XINT_gcfrac_loop {}}%
\def\XINT_gcfrac_loop #1#2+#3/%
{%
- \xint_gob_til_w #3\XINT_gcfrac_endloop\W
+ \xint_gob_til_W #3\XINT_gcfrac_endloop\W
\XINT_gcfrac_loop {{#3}{#2}#1}%
}%
\def\XINT_gcfrac_endloop\W\XINT_gcfrac_loop #1#2#3%
@@ -282,7 +283,7 @@
\def\XINT_gcfrac_T #1#2#3#4{\XINT_gcfrac_U #1#2{\xintFrac{#4}}}%
\def\XINT_gcfrac_U #1#2#3#4#5%
{%
- \xint_gob_til_z #5\XINT_gcfrac_end\Z\XINT_gcfrac_U
+ \xint_gob_til_Z #5\XINT_gcfrac_end\Z\XINT_gcfrac_U
#1#2{\xintFrac{#5}%
\ifcase\xintSgn{#4}
+\or+\else-\fi
@@ -290,9 +291,9 @@
}%
\def\XINT_gcfrac_end\Z\XINT_gcfrac_U #1#2#3%
{%
- \XINT_gcfrac__end #3%
+ \XINT_gcfrac_end_b #3%
}%
-\def\XINT_gcfrac__end #1\cfrac#2#3{ #3}%
+\def\XINT_gcfrac_end_b #1\cfrac#2#3{ #3}%
\def\xintGCtoGCx {\romannumeral0\xintgctogcx }%
\def\xintgctogcx #1#2#3%
{%
@@ -301,7 +302,7 @@
\def\XINT_gctgcx_start #1#2#3{\XINT_gctgcx_loop_a {}{#2}{#3}#1+\W/}%
\def\XINT_gctgcx_loop_a #1#2#3#4+#5/%
{%
- \xint_gob_til_w #5\XINT_gctgcx_end\W
+ \xint_gob_til_W #5\XINT_gctgcx_end\W
\XINT_gctgcx_loop_b {#1{#4}}{#2{#5}#3}{#2}{#3}%
}%
\def\XINT_gctgcx_loop_b #1#2%
@@ -475,7 +476,7 @@
}%
\def\XINT_cstf_loop_a #1#2#3#4#5,%
{%
- \xint_gob_til_w #5\XINT_cstf_end\W
+ \xint_gob_til_W #5\XINT_cstf_end\W
\expandafter\XINT_cstf_loop_b
\romannumeral0\xintrawwithzeros {#5}.{#1}{#2}{#3}{#4}%
}%
@@ -511,7 +512,7 @@
}%
\def\XINT_icstf_loop_a #1#2#3#4#5,%
{%
- \xint_gob_til_w #5\XINT_icstf_end\W
+ \xint_gob_til_W #5\XINT_icstf_end\W
\expandafter
\XINT_icstf_loop_b \romannumeral-`0#5.{#1}{#2}{#3}{#4}%
}%
@@ -563,7 +564,7 @@
}%
\def\XINT_gctf_loop_f #1#2/%
{%
- \xint_gob_til_w #2\XINT_gctf_end\W
+ \xint_gob_til_W #2\XINT_gctf_end\W
\expandafter\XINT_gctf_loop_g
\romannumeral0\xintrawwithzeros {#2}.#1%
}%
@@ -615,7 +616,7 @@
}%
\def\XINT_igctf_loop_f #1#2#3#4/%
{%
- \xint_gob_til_w #4\XINT_igctf_end\W
+ \xint_gob_til_W #4\XINT_igctf_end\W
\expandafter\XINT_igctf_loop_g
\romannumeral-`0#4.{#2}{#3}#1%
}%
@@ -645,7 +646,7 @@
}%
\def\XINT_cstcv_loop_a #1#2#3#4#5#6,%
{%
- \xint_gob_til_w #6\XINT_cstcv_end\W
+ \xint_gob_til_W #6\XINT_cstcv_end\W
\expandafter\XINT_cstcv_loop_b
\romannumeral0\xintrawwithzeros {#6}.{#2}{#3}{#4}{#5}{#1}%
}%
@@ -687,7 +688,7 @@
}%
\def\XINT_icstcv_loop_a #1#2#3#4#5#6,%
{%
- \xint_gob_til_w #6\XINT_icstcv_end\W
+ \xint_gob_til_W #6\XINT_icstcv_end\W
\expandafter
\XINT_icstcv_loop_b \romannumeral-`0#6.{#2}{#3}{#4}{#5}{#1}%
}%
@@ -754,7 +755,7 @@
}%
\def\XINT_gctcv_loop_h #1#2#3/%
{%
- \xint_gob_til_w #3\XINT_gctcv_end\W
+ \xint_gob_til_W #3\XINT_gctcv_end\W
\expandafter\XINT_gctcv_loop_i
\romannumeral0\xintrawwithzeros {#3}.#2{#1}%
}%
@@ -807,7 +808,7 @@
}%
\def\XINT_igctcv_loop_f #1#2#3#4/%
{%
- \xint_gob_til_w #4\XINT_igctcv_end_a\W
+ \xint_gob_til_W #4\XINT_igctcv_end_a\W
\expandafter\XINT_igctcv_loop_g
\romannumeral-`0#4.#1#2{#3}%
}%
@@ -842,13 +843,13 @@
}%
\def\XINT_cntf #1#2%
{%
- \ifnum #1>0
+ \ifnum #1>\xint_c_
\xint_afterfi {\expandafter\XINT_cntf_loop\expandafter
{\the\numexpr #1-1\expandafter}\expandafter
{\romannumeral-`0#2{#1}}{#2}}%
\else
\xint_afterfi
- {\ifnum #1=0
+ {\ifnum #1=\xint_c_
\xint_afterfi {\expandafter\space \romannumeral-`0#2{0}}%
\else \xint_afterfi { 0/1[0]}%
\fi}%
@@ -856,7 +857,7 @@
}%
\def\XINT_cntf_loop #1#2#3%
{%
- \ifnum #1>0 \else \XINT_cntf_exit \fi
+ \ifnum #1>\xint_c_ \else \XINT_cntf_exit \fi
\expandafter\XINT_cntf_loop\expandafter
{\the\numexpr #1-1\expandafter }\expandafter
{\romannumeral0\xintadd {\xintDiv {1[0]}{#2}}{#3{#1}}}%
@@ -875,13 +876,13 @@
}%
\def\XINT_gcntf #1#2#3%
{%
- \ifnum #1>0
+ \ifnum #1>\xint_c_
\xint_afterfi {\expandafter\XINT_gcntf_loop\expandafter
{\the\numexpr #1-1\expandafter}\expandafter
{\romannumeral-`0#2{#1}}{#2}{#3}}%
\else
\xint_afterfi
- {\ifnum #1=0
+ {\ifnum #1=\xint_c_
\xint_afterfi {\expandafter\space\romannumeral-`0#2{0}}%
\else \xint_afterfi { 0/1[0]}%
\fi}%
@@ -889,7 +890,7 @@
}%
\def\XINT_gcntf_loop #1#2#3#4%
{%
- \ifnum #1>0 \else \XINT_gcntf_exit \fi
+ \ifnum #1>\xint_c_ \else \XINT_gcntf_exit \fi
\expandafter\XINT_gcntf_loop\expandafter
{\the\numexpr #1-1\expandafter }\expandafter
{\romannumeral0\xintadd {\xintDiv {#4{#1}}{#2}}{#3{#1}}}%
@@ -927,9 +928,9 @@
\expandafter\XINT_cntcs_loop\expandafter
#1\expandafter #2#3%
{%
- \fi\XINT_cntcs__exit #2%
+ \fi\XINT_cntcs_exit_b #2%
}%
-\def\XINT_cntcs__exit #1,{ }%
+\def\XINT_cntcs_exit_b #1,{ }%
\def\xintCntoGC {\romannumeral0\xintcntogc }%
\def\xintcntogc #1%
{%
@@ -956,9 +957,9 @@
\expandafter\XINT_cntgc_loop\expandafter
#1\expandafter #2#3%
{%
- \fi\XINT_cntgc__exit #2%
+ \fi\XINT_cntgc_exit_b #2%
}%
-\def\XINT_cntgc__exit #1+1/{ }%
+\def\XINT_cntgc_exit_b #1+1/{ }%
\def\xintGCntoGC {\romannumeral0\xintgcntogc }%
\def\xintgcntogc #1%
{%
@@ -989,9 +990,9 @@
\def\XINT_gcntgc_exit \fi
\expandafter\XINT_gcntgc_loop_b\expandafter #1#2#3#4#5%
{%
- \fi\XINT_gcntgc__exit #1%
+ \fi\XINT_gcntgc_exit_b #1%
}%
-\def\XINT_gcntgc__exit #1/{ }%
+\def\XINT_gcntgc_exit_b #1/{ }%
\def\xintCstoGC {\romannumeral0\xintcstogc }%
\def\xintcstogc #1%
{%
@@ -1000,7 +1001,7 @@
\def\XINT_cstc_prep #1,{\XINT_cstc_loop_a {{#1}}}%
\def\XINT_cstc_loop_a #1#2,%
{%
- \xint_gob_til_w #2\XINT_cstc_end\W
+ \xint_gob_til_W #2\XINT_cstc_end\W
\XINT_cstc_loop_b {#1}{#2}%
}%
\def\XINT_cstc_loop_b #1#2{\XINT_cstc_loop_a {#1+1/{#2}}}%
@@ -1013,7 +1014,7 @@
\def\XINT_gctgc_start {\XINT_gctgc_loop_a {}}%
\def\XINT_gctgc_loop_a #1#2+#3/%
{%
- \xint_gob_til_w #3\XINT_gctgc_end\W
+ \xint_gob_til_W #3\XINT_gctgc_end\W
\expandafter\XINT_gctgc_loop_b\expandafter
{\romannumeral-`0#2}{#3}{#1}%
}%
@@ -1028,9 +1029,9 @@
}%
\def\XINT_gctgc_end\W\expandafter\XINT_gctgc_loop_b
{%
- \expandafter\XINT_gctgc__end
+ \expandafter\XINT_gctgc_end_b
}%
-\def\XINT_gctgc__end #1#2#3{ #3{#1}}%
+\def\XINT_gctgc_end_b #1#2#3{ #3{#1}}%
\XINT_cfrac_restorecatcodes_endinput%
\endinput
%%
diff --git a/Master/texmf-dist/tex/generic/xint/xintexpr.sty b/Master/texmf-dist/tex/generic/xint/xintexpr.sty
index 14fc53b418c..45378ace18a 100644
--- a/Master/texmf-dist/tex/generic/xint/xintexpr.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintexpr.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
%%
%%----------------------------------------------------------------
-%% The xint bundle (version 1.07a of May 26, 2013)
+%% The xint bundle (version 1.08b of June 14, 2013)
%% xintexpr: Expandable expression parser
%% Copyright (C) 2013 by Jean-Francois Burnol
%%----------------------------------------------------------------
@@ -114,10 +114,10 @@
\endgroup
\edef\XINT_expr_restorecatcodes_endinput
{%
- \catcode94=\the\catcode94 % ^
\catcode33=\the\catcode33 % !
\catcode93=\the\catcode93 % ]
\catcode91=\the\catcode91 % [
+ \catcode94=\the\catcode94 % ^
\catcode96=\the\catcode96 % `
\catcode47=\the\catcode47 % /
\catcode41=\the\catcode41 % )
@@ -140,11 +140,10 @@
\catcode61=\the\catcode61\relax % =
\noexpand\endinput
}%
- \XINT_setcatcodes
+ \XINT_setcatcodes % defined in xint.sty
\catcode91=12 % [
\catcode93=12 % ]
\catcode33=11 % !
- \catcode94=12 % ^
}%
\x
\begingroup
@@ -168,14 +167,7 @@
\fi
\expandafter\x\csname ver@xintexpr.sty\endcsname
\ProvidesPackage{xintexpr}%
- [2013/05/26 v1.07a Expandable expression parser (jfB)]%
-\chardef\xint_c_ 0
-\chardef\xint_c_i 1
-\chardef\xint_c_ii 2
-\chardef\xint_c_iii 3
-\chardef\xint_c_iv 4
-\chardef\xint_c_v 5
-\chardef\xint_c_ix 9
+ [2013/06/14 v1.08b Expandable expression parser (jfB)]%
\def\xint_gob_til_dot #1.{}%
\def\xint_gob_til_dot_andstop #1.{ }%
\def\xint_gob_til_! #1!{}% ! of catcode 11
@@ -200,7 +192,7 @@
\or
\expandafter\XINT_expr_extra_closing_paren
\fi
- \expandafter\XINT_expr_until_end\romannumeral-`0%
+ \expandafter\XINT_expr_until_end\romannumeral-`0\romannumeral-`0%
}%
\def\XINT_expr_extra_closing_paren {\xintError:removed }%
\def\XINT_expr_endofexpr {!\XINT_illegaluse }%
@@ -217,7 +209,8 @@
\ifcase#1%
\expandafter\XINT_expr_missing_cparen
\or
- \else \xint_afterfi{\expandafter\XINT_expr_until_cparen\romannumeral-`0}%
+ \else \xint_afterfi
+ {\expandafter\XINT_expr_until_cparen\romannumeral-`0\romannumeral-`0}%
\fi
}%
\def\XINT_expr_missing_cparen #1%
@@ -251,13 +244,13 @@
\csname .#6{\XINT_expr_string ##1}{\XINT_expr_string ##4}\endcsname }%
\fi
}%
- \global\let #4#5%
+ \let #4#5%
}%
\xint_tmp_def +{ii}{Add}%
\xint_tmp_def -{ii}{Sub}%
\xint_tmp_def *{iii}{Mul}%
\xint_tmp_def /{iii}{Div}%
-\xint_tmp_def ^{iv}{fPow}%
+\xint_tmp_def ^{iv}{Pow}%
\xint_tmp_def e{v}{fE}%
\xint_tmp_def E{v}{fE}%
\def\xint_tmp_def #1%
@@ -309,7 +302,8 @@
\xint_tmp_def {v}%
\def\XINT_expr_getop #1%
{%
- \expandafter\XINT_expr_getop_a\expandafter #1\romannumeral-`0%
+ \expandafter\XINT_expr_getop_a\expandafter #1%
+ \romannumeral-`0\romannumeral-`0%
}%
\def\XINT_expr_getop_a #1#2%
{%
@@ -354,13 +348,14 @@
\expandafter\xint_firstoftwo
\else\expandafter\xint_secondoftwo
\fi{\expandafter\XINT_expr_getop}{\expandafter\XINT_flexpr_getop}%
- \csname .\xintfFac{\XINT_expr_string ##2}/1[0]\endcsname }%
+ \csname .\xintFac{\XINT_expr_string ##2}/1[0]\endcsname }%
\let#2\empty
}%
\xint_tmp_def
\def\XINT_expr_getnext
{%
- \expandafter\XINT_expr_getnext_checkforbraced_a\romannumeral-`0%
+ \expandafter\XINT_expr_getnext_checkforbraced_a
+ \romannumeral-`0\romannumeral-`0%
}%
\def\XINT_expr_getnext_checkforbraced_a #1%
{%
@@ -457,12 +452,12 @@
\def\XINT_expr_scannum_intpart_b #1%
{%
\expandafter #1\romannumeral-`0\expandafter
- \XINT_expr_scannum_intpart_a\romannumeral-`0%
+ \XINT_expr_scannum_intpart_a\romannumeral-`0\romannumeral-`0%
}%
\def\XINT_expr_scannum_transition #1%
{%
\expandafter.\romannumeral-`0\expandafter
- \XINT_expr_scannum_decpart_a\romannumeral-`0%
+ \XINT_expr_scannum_decpart_a\romannumeral-`0\romannumeral-`0%
}%
\def\XINT_expr_scannum_decpart_a #1%
{%
@@ -477,7 +472,7 @@
\def\XINT_expr_scannum_decpart_b #1%
{%
\expandafter #1\romannumeral-`0\expandafter
- \XINT_expr_scannum_decpart_a\romannumeral-`0%
+ \XINT_expr_scannum_decpart_a\romannumeral-`0\romannumeral-`0%
}%
\def\xintfloatexpr {\romannumeral0\xintfloateval }%
\def\xintfloateval
@@ -574,7 +569,8 @@
\let\xint_tmp_do_defs\empty
\def\XINT_flexpr_getop #1%
{%
- \expandafter\XINT_flexpr_getop_a\expandafter #1\romannumeral-`0%
+ \expandafter\XINT_flexpr_getop_a\expandafter #1%
+ \romannumeral-`0\romannumeral-`0%
}%
\def\XINT_flexpr_getop_a #1#2%
{%
@@ -606,7 +602,8 @@
\expandafter\let\csname XINT_flexpr_op_)\endcsname\XINT_flexpr_getop
\def\XINT_flexpr_getnext
{%
- \expandafter\XINT_flexpr_getnext_checkforbraced_a\romannumeral-`0%
+ \expandafter\XINT_flexpr_getnext_checkforbraced_a
+ \romannumeral-`0\romannumeral-`0%
}%
\def\XINT_flexpr_getnext_checkforbraced_a #1%
{%
@@ -701,8 +698,8 @@
\def\xintSub {:xintSub}%
\def\xintMul {:xintMul}%
\def\xintDiv {:xintDiv}%
- \def\xintfPow {:xintfPow}%
- \def\xintfFac {:xintfFac}%
+ \def\xintPow {:xintPow}%
+ \def\xintFac {:xintFac}%
\def\xintOpp {:xintOpp}%
\def\xintfE {:xintfE}%
\def\xintraw { :romannumeral0:xintraw}%
@@ -714,11 +711,11 @@
\endlinechar -1
\everyeof {\noexpand }%
\edef\xintNewExprtmp
- {\expandafter\scantokens
+ {\scantokens
\expandafter{\romannumeral0\xinttheeval #3\relax}}%
\lccode`\*=`_ \lowercase {\def*}{####}%
\catcode`_ 13 \catcode`! 0 \catcode`: 11
- \the\toks0 {\expandafter\scantokens\expandafter{\xintNewExprtmp }}%
+ \the\toks0 {\scantokens\expandafter{\xintNewExprtmp }}%
\endgroup
}%
\def\xintNewFloatExpr #1[#2]#3%
@@ -744,7 +741,7 @@
\def\XINTinFloatMul {:XINTinFloatMul}%
\def\XINTinFloatDiv {:XINTinFloatDiv}%
\def\XINTinFloatPower {:XINTinFloatPower}%
- \def\xintfFac {:xintfFac}%
+ \def\xintFac {:xintFac}%
\def\xintOpp {:xintOpp}%
\def\XINTinFloatfE {:XINTinFloatfE}%
\def\xintfloat { :romannumeral0:xintfloat}%
@@ -756,11 +753,11 @@
\endlinechar -1
\everyeof {\noexpand }%
\edef\xintNewExprtmp
- {\expandafter\scantokens
+ {\scantokens
\expandafter{\romannumeral0\xintthefloateval #3\relax}}%
\lccode`\*=`_ \lowercase {\def*}{####}%
\catcode`_ 13 \catcode`! 0 \catcode`: 11
- \the\toks0 {\expandafter\scantokens\expandafter{\xintNewExprtmp }}%
+ \the\toks0 {\scantokens\expandafter{\xintNewExprtmp }}%
\endgroup
}%
\XINT_expr_restorecatcodes_endinput%
diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty
index a6678ac73c6..162aa549471 100644
--- a/Master/texmf-dist/tex/generic/xint/xintfrac.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintfrac.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
%%
%%----------------------------------------------------------------
-%% The xint bundle (version 1.07a of May 26, 2013)
+%% The xint bundle (version 1.08b of June 14, 2013)
%% xintfrac: Expandable operations on fractions
%% Copyright (C) 2013 by Jean-Francois Burnol
%%----------------------------------------------------------------
@@ -114,9 +114,9 @@
\endgroup
\edef\XINT_frac_restorecatcodes_endinput
{%
- \catcode94=\the\catcode94 % ^
\catcode93=\the\catcode93 % ]
\catcode91=\the\catcode91 % [
+ \catcode94=\the\catcode94 % ^
\catcode96=\the\catcode96 % `
\catcode47=\the\catcode47 % /
\catcode41=\the\catcode41 % )
@@ -139,10 +139,9 @@
\catcode61=\the\catcode61\relax % =
\noexpand\endinput
}%
- \XINT_setcatcodes
+ \XINT_setcatcodes % defined in xint.sty
\catcode91=12 % [
\catcode93=12 % ]
- \catcode94=7 % ^
}%
\x
\begingroup
@@ -166,7 +165,11 @@
\fi
\expandafter\x\csname ver@xintfrac.sty\endcsname
\ProvidesPackage{xintfrac}%
- [2013/05/26 v1.07a Expandable operations on fractions (jfB)]%
+ [2013/06/14 v1.08b Expandable operations on fractions (jfB)]%
+\chardef\xint_c_vi 6
+\chardef\xint_c_vii 7
+\chardef\xint_c_xviii 18
+\mathchardef\xint_c_x^iv 10000
\def\xintLen {\romannumeral0\xintlen }%
\def\xintlen #1%
{%
@@ -177,6 +180,35 @@
\expandafter\space
\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
+ \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}%
+}%
+\def\XINT_lenrord_W\W\expandafter\XINT_lenrord_loop\expandafter #1#2#3\Z
+{%
+ \expandafter\XINT_lenrord_X\expandafter {#1}#2\Z
+}%
+\def\XINT_lenrord_X #1#2\Z
+{%
+ \XINT_lenrord_Y #2\R\R\R\R\R\R\T {#1}%
+}%
+\def\XINT_lenrord_Y #1#2#3#4#5#6#7#8\T
+{%
+ \xint_gob_til_W
+ #7\XINT_lenrord_Z \xint_c_viii
+ #6\XINT_lenrord_Z \xint_c_vii
+ #5\XINT_lenrord_Z \xint_c_vi
+ #4\XINT_lenrord_Z \xint_c_v
+ #3\XINT_lenrord_Z \xint_c_iv
+ #2\XINT_lenrord_Z \xint_c_iii
+ \W\XINT_lenrord_Z \xint_c_ii \Z
+}%
+\def\XINT_lenrord_Z #1#2\Z #3% retourne: {longueur}renverse\Z
+{%
+ \expandafter{\the\numexpr #3-#1\relax}%
+}%
\def\XINT_outfrac #1#2#3%
{%
\ifcase\XINT_Sgn{#3}
@@ -345,7 +377,7 @@
}%
\def\XINT_cuz_cnt_loop #1#2#3#4#5#6#7#8#9%
{%
- \xint_gob_til_r #9\XINT_cuz_cnt_toofara \R
+ \xint_gob_til_R #9\XINT_cuz_cnt_toofara \R
\expandafter\XINT_cuz_cnt_checka\expandafter
{\the\numexpr #1+8\relax}{#2#3#4#5#6#7#8#9}%
}%
@@ -357,7 +389,7 @@
\def\XINT_cuz_cnt_toofarb #1#2\Z {\XINT_cuz_cnt_toofarc #2\Z {#1}}%
\def\XINT_cuz_cnt_toofarc #1#2#3#4#5#6#7#8%
{%
- \xint_gob_til_r #2\XINT_cuz_cnt_toofard 7%
+ \xint_gob_til_R #2\XINT_cuz_cnt_toofard 7%
#3\XINT_cuz_cnt_toofard 6%
#4\XINT_cuz_cnt_toofard 5%
#5\XINT_cuz_cnt_toofard 4%
@@ -374,7 +406,7 @@
}%
\def\XINT_cuz_cnt_toofare #1#2#3#4#5#6#7#8%
{%
- \xint_gob_til_r #2\XINT_cuz_cnt_stopc 1%
+ \xint_gob_til_R #2\XINT_cuz_cnt_stopc 1%
#3\XINT_cuz_cnt_stopc 2%
#4\XINT_cuz_cnt_stopc 3%
#5\XINT_cuz_cnt_stopc 4%
@@ -389,7 +421,7 @@
}%
\def\XINT_cuz_cnt_checkb #1%
{%
- \xint_gob_til_zero #1\expandafter\XINT_cuz_cnt_loop\xint_gob_til_z
+ \xint_gob_til_zero #1\expandafter\XINT_cuz_cnt_loop\xint_gob_til_Z
0\XINT_cuz_cnt_stopa #1%
}%
\def\XINT_cuz_cnt_stopa #1\Z
@@ -398,7 +430,7 @@
}%
\def\XINT_cuz_cnt_stopb #1#2#3#4#5#6#7#8#9%
{%
- \xint_gob_til_r #2\XINT_cuz_cnt_stopc 1%
+ \xint_gob_til_R #2\XINT_cuz_cnt_stopc 1%
#3\XINT_cuz_cnt_stopc 2%
#4\XINT_cuz_cnt_stopc 3%
#5\XINT_cuz_cnt_stopc 4%
@@ -487,14 +519,15 @@
\def\xintFrac {\romannumeral0\xintfrac }%
\def\xintfrac #1%
{%
- \expandafter\XINT__frac_A\romannumeral0\XINT_infrac {#1}%
+ \expandafter\XINT_fracfrac_A\romannumeral0\XINT_infrac {#1}%
}%
-\def\XINT__frac_A #1{\XINT__frac_B #1\Z }%
-\def\XINT__frac_B #1#2\Z
+\def\XINT_fracfrac_A #1{\XINT_fracfrac_B #1\Z }%
+\catcode`^=7
+\def\XINT_fracfrac_B #1#2\Z
{%
- \xint_gob_til_zero #1\XINT__frac_C 0\XINT__frac_D {10^{#1#2}}%
+ \xint_gob_til_zero #1\XINT_fracfrac_C 0\XINT_fracfrac_D {10^{#1#2}}%
}%
-\def\XINT__frac_C #1#2#3#4#5%
+\def\XINT_fracfrac_C #1#2#3#4#5%
{%
\ifcase\XINT_isOne {#5}
\or \xint_afterfi {\expandafter\xint_firstoftwo_andstop\xint_gobble_ii }%
@@ -502,15 +535,15 @@
\space
\frac {#4}{#5}%
}%
-\def\XINT__frac_D #1#2#3%
+\def\XINT_fracfrac_D #1#2#3%
{%
\ifcase\XINT_isOne {#3}
- \or \XINT__frac_E
+ \or \XINT_fracfrac_E
\fi
\space
\frac {#2}{#3}#1%
}%
-\def\XINT__frac_E \fi #1#2#3#4{\fi \space #3\cdot }%
+\def\XINT_fracfrac_E \fi #1#2#3#4{\fi \space #3\cdot }%
\def\xintSignedFrac {\romannumeral0\xintsignedfrac }%
\def\xintsignedfrac #1%
{%
@@ -529,7 +562,7 @@
}%
\def\XINT_sgnfrac_P #1\Z #2%
{%
- \XINT__frac_A {#2}{#1}%
+ \XINT_fracfrac_A {#2}{#1}%
}%
\def\XINT_sgnfrac_N
{%
@@ -545,6 +578,7 @@
{%
\xint_gob_til_zero #1\XINT_fwover_C 0\XINT_fwover_D {10^{#1#2}}%
}%
+\catcode`^=11
\def\XINT_fwover_C #1#2#3#4#5%
{%
\ifcase\XINT_isOne {#5}
@@ -657,7 +691,7 @@
\fi
#2\Z {#3}%
}%
-\def\XINT_irr_denomisone #1\Z #2{ #1}%
+\def\XINT_irr_denomisone #1\Z #2{ #1/1}% changed in 1.08
\def\XINT_irr_negative #1\Z #2{\XINT_irr_D #1\Z #2\Z \xint_minus_andstop}%
\def\XINT_irr_nonneg #1\Z #2{\XINT_irr_D #1\Z #2\Z \space}%
\def\XINT_irr_D #1#2\Z #3#4\Z
@@ -672,7 +706,7 @@
}%
\def\XINT_irr_indeterminate #1#2#3#4#5{\xintError:NaN\space 0/0}%
\def\XINT_irr_divisionbyzero #1#2#3#4#5{\xintError:DivisionByZero #5#2/0}%
-\def\XINT_irr_zero #1#2#3#4#5{ 0}%
+\def\XINT_irr_zero #1#2#3#4#5{ 0/1}% changed in 1.08
\def\XINT_irr_loop_a #1#2%
{%
\expandafter\XINT_irr_loop_d
@@ -696,26 +730,14 @@
{%
\expandafter\XINT_irr_finish\expandafter {#2}{#1}%
}%
-\def\XINT_irr_finish #1#2#3%
-{%
- \ifcase\XINT_isOne {#2}
- \xint_afterfi {#3#1/#2}%
- \or
- \xint_afterfi {#3#1}%
- \fi
-}%
+\def\XINT_irr_finish #1#2#3{#3#1/#2}% changed in 1.08
\def\xintNum {\romannumeral0\xintnum }%
-\def\xintnum #1{\expandafter\XINT_intcheck\romannumeral0\xintirr {#1}/\W\Z }%
-\def\XINT_intcheck #1/#2#3\Z
-{%
- \xint_gob_til_w #2\xint_gobble_ii\W
- \xintError:NotAnInteger
- \space #1%
-}%
-\def\xintfFac {\romannumeral0\xintffac }%
-\def\xintffac #1%
+\def\xintnum #1{\expandafter\XINT_intcheck\romannumeral0\xintirr {#1}\Z }%
+\def\XINT_intcheck #1/#2\Z
{%
- \expandafter\XINT_fac_fork\expandafter{\the\numexpr \xintNum{#1}}%
+ \ifcase\XINT_isOne {#2}
+ \xintError:NotAnInteger
+ \fi\space #1%
}%
\def\xintJrr {\romannumeral0\xintjrr }%
\def\xintjrr #1%
@@ -735,7 +757,7 @@
\fi
#2\Z {#3}%
}%
-\def\XINT_jrr_denomisone #1\Z #2{ #1}%
+\def\XINT_jrr_denomisone #1\Z #2{ #1/1}% changed in 1.08
\def\XINT_jrr_negative #1\Z #2{\XINT_jrr_D #1\Z #2\Z \xint_minus_andstop }%
\def\XINT_jrr_nonneg #1\Z #2{\XINT_jrr_D #1\Z #2\Z \space}%
\def\XINT_jrr_D #1#2\Z #3#4\Z
@@ -750,7 +772,7 @@
}%
\def\XINT_jrr_indeterminate #1#2#3#4#5#6#7{\xintError:NaN\space 0/0}%
\def\XINT_jrr_divisionbyzero #1#2#3#4#5#6#7{\xintError:DivisionByZero #7#2/0}%
-\def\XINT_jrr_zero #1#2#3#4#5#6#7{ 0}%
+\def\XINT_jrr_zero #1#2#3#4#5#6#7{ 0/1}% changed in 1.08
\def\XINT_jrr_loop_a #1#2%
{%
\expandafter\XINT_jrr_loop_b
@@ -923,7 +945,7 @@
}%
\def\XINT_round_Daa #1%
{%
- \xint_gob_til_z #1\XINT_round_Daz\Z \XINT_round_Da #1%
+ \xint_gob_til_Z #1\XINT_round_Daz\Z \XINT_round_Da #1%
}%
\def\XINT_round_Daz\Z \XINT_round_Da \Z { 0\Z }%
\def\XINT_round_Da #1\Z
@@ -936,7 +958,7 @@
}%
\def\XINT_round_Dba #1%
{%
- \xint_gob_til_z #1\XINT_round_Dbz\Z \XINT_round_Db #1%
+ \xint_gob_til_Z #1\XINT_round_Dbz\Z \XINT_round_Db #1%
}%
\def\XINT_round_Dbz\Z \XINT_round_Db \Z { 1\Z }%
\def\XINT_round_Db #1\Z
@@ -951,233 +973,261 @@
\def\xintfloat #1{\XINT_float_chkopt #1\Z }%
\def\XINT_float_chkopt #1%
{%
- \ifx #1[\expandafter\XINT_float_opt
+ \ifx [#1\expandafter\XINT_float_opt
\else\expandafter\XINT_float_noopt
\fi #1%
}%
\def\XINT_float_noopt #1\Z
{%
- \XINT_float_a \XINT_digits {#1}%
-}%
-\def\XINT_float_opt [\Z #1]%
-{%
- \expandafter\XINT_float_a\expandafter {\the\numexpr #1}%
+ \expandafter\XINT_float_a\expandafter\XINT_digits
+ \romannumeral0\XINT_infrac {#1}\XINT_float_Q
}%
-\def\XINT_float_a #1#2%
+\def\XINT_float_opt [\Z #1]#2%
{%
- \expandafter\XINT_float_b \romannumeral0\XINT_infrac {#2}{#1}%
+ \expandafter\XINT_float_a\expandafter
+ {\the\numexpr #1\expandafter}%
+ \romannumeral0\XINT_infrac {#2}\XINT_float_Q
}%
-\def\XINT_float_b #1#2#3%
+\def\XINT_float_a #1#2#3% #1=P, #2=n, #3=A, #4=B
{%
- \XINT_float_fork #2\Z {#3}{#1}%
+ \XINT_float_fork #3\Z {#1}{#2}% #1 = precision, #2=n
}%
\def\XINT_float_fork #1%
{%
\xint_UDzerominusfork
#1-\dummy \XINT_float_zero
- 0#1\dummy \XINT_float_N
- 0-\dummy {\XINT_float_P #1}%
+ 0#1\dummy \XINT_float_J
+ 0-\dummy {\XINT_float_K #1}%
\krof
}%
-\def\XINT_float_zero \Z #1#2#3{ 0.e0}%
-\def\XINT_float_N {\expandafter\xint_minus_andstop\romannumeral0\XINT_float_P }%
-\def\XINT_float_P #1\Z #2#3#4%
-{%
- \ifcase \romannumeral0\XINT_fgeq_A 011{#3}{#1}{#2}
- \expandafter\XINT_float_lessthanone_a
- \or\expandafter\XINT_float_atleastone_b
- \fi {#3}{#1}{#2}{#3+#4}{#1}{#2}%
-}%
-\def\XINT_float_atleastone_b
+\def\XINT_float_zero #1\Z #2#3#4#5{ 0.e0}%
+\def\XINT_float_J {\expandafter\xint_minus_andstop\romannumeral0\XINT_float_K }%
+\def\XINT_float_K #1\Z #2% #1=A, #2=P, #3=n, #4=B
{%
- \expandafter\XINT_float_atleastone_c\romannumeral0\XINT_trunc_B
+ \expandafter\XINT_float_L\expandafter
+ {\the\numexpr\xintLength{#1}\expandafter}\expandafter
+ {\the\numexpr #2+\xint_c_ii}{#1}{#2}%
}%
-\def\XINT_float_atleastone_c #1\Z #2%
+\def\XINT_float_L #1#2%
{%
- \expandafter\XINT_float_c\expandafter
- {\romannumeral0\xintisub {\xintLength{#1}}{1}}%
-}%
-\def\XINT_float_lessthanone_a #1%
-{%
- \expandafter\XINT_float_lessthanone_b\expandafter
- {\the\numexpr -#1}%
+ \ifnum #1>#2
+ \expandafter\XINT_float_Ma
+ \else
+ \expandafter\XINT_float_Mc
+ \fi {#1}{#2}%
+}%
+\def\XINT_float_Ma #1#2#3%
+{%
+ \expandafter\XINT_float_Mb\expandafter
+ {\the\numexpr #1-#2\expandafter}\expandafter
+ {\expandafter\xint_firstoftwo
+ \romannumeral0\XINT_split_fromleft_loop {#2}{}#3\W\W\W\W\W\W\W\W\Z
+ }{#2}%
+}%
+\def\XINT_float_Mb #1#2#3#4#5#6% #2=A', #3=P+2, #4=P, #5=n, #6=B
+{%
+ \expandafter\XINT_float_N\expandafter
+ {\the\numexpr\xintLength{#6}\expandafter}\expandafter
+ {\the\numexpr #3\expandafter}\expandafter
+ {\the\numexpr #1+#5}%
+ {#6}{#3}{#2}{#4}%
+}% long de B, P+2, n', B, |A'|=P+2, A', P
+\def\XINT_float_Mc #1#2#3#4#5#6%
+{%
+ \expandafter\XINT_float_N\expandafter
+ {\romannumeral0\XINT_length{#6}}{#2}{#5}{#6}{#1}{#3}{#4}%
+}% long de B, P+2, n, B, |A|, A, P
+\def\XINT_float_N #1#2%
+{%
+ \ifnum #1>#2
+ \expandafter\XINT_float_O
+ \else
+ \expandafter\XINT_float_P
+ \fi {#1}{#2}%
+}%
+\def\XINT_float_O #1#2#3#4%
+{%
+ \expandafter\XINT_float_P\expandafter
+ {\the\numexpr #2\expandafter}\expandafter
+ {\the\numexpr #2\expandafter}\expandafter
+ {\the\numexpr #3-#1+#2\expandafter}\expandafter
+ {\expandafter\xint_firstoftwo
+ \romannumeral0\XINT_split_fromleft_loop {#2}{}#4\W\W\W\W\W\W\W\W\Z
+ }%
+}% |B|,P+2,n,B,|A|,A,P
+\def\XINT_float_P #1#2#3#4#5#6#7#8%
+{%
+ \expandafter #8\expandafter {\the\numexpr #1-#5+#2-\xint_c_i}%
+ {#6}{#4}{#7}{#3}%
+}% |B|-|A|+P+1,A,B,P,n
+\def\XINT_float_Q #1%
+{%
+ \ifnum #1<\xint_c_
+ \expandafter\XINT_float_Ri
+ \else
+ \expandafter\XINT_float_Rii
+ \fi {#1}%
}%
-\def\XINT_float_lessthanone_b #1#2#3%
+\def\XINT_float_Ri #1#2#3%
{%
- \expandafter\XINT_float_lessthanone_c
- \romannumeral0\XINT_trunc_B {#1}{#3}{#2}%
+ \expandafter\XINT_float_Sa
+ \romannumeral0\xintiquo {#2}%
+ {\romannumeral-`0\XINT_dsx_addzerosnofuss {-#1}{#3}}\Z {#1}%
}%
-\def\XINT_float_lessthanone_c #1\Z #2%
+\def\XINT_float_Rii #1#2#3%
{%
- \expandafter\XINT_float_c\expandafter
- {\expandafter-\romannumeral0\xintilen {\xintiSub {#1}{1}}}%
+ \expandafter\XINT_float_Sa
+ \romannumeral0\xintiquo
+ {\romannumeral-`0\XINT_dsx_addzerosnofuss {#1}{#2}}{#3}\Z {#1}%
}%
-\def\XINT_float_c #1#2#3#4%
+\def\XINT_float_Sa #1%
{%
- \expandafter\XINT_float_d\expandafter
- {\the\numexpr #2-#1}{#3}{#4}e#1%
+ \if #19%
+ \xint_afterfi {\XINT_float_Sb\XINT_float_Wb }%
+ \else
+ \xint_afterfi {\XINT_float_Sb\XINT_float_Wa }%
+ \fi #1%
}%
-\def\XINT_float_d
+\def\XINT_float_Sb #1#2\Z #3#4%
{%
- \expandafter\XINT_float_round_B\romannumeral0\XINT_trunc_B
+ \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}%
}%
-\def\XINT_float_round_B #1#2\Z #3%
+\def\XINT_float_T #1#2#3%
{%
- \ifnum #1=9
- \xint_afterfi
- {\romannumeral0\XINT_rord_main {}#1#2\XINT_float_round_S}%
+ \ifnum #2>#1
+ \xint_afterfi{\XINT_float_U\XINT_float_Xb}%
\else
- \xint_afterfi
- {\romannumeral0\XINT_rord_main {}#1#2\XINT_float_round_D}%
+ \xint_afterfi{\XINT_float_U\XINT_float_Xa #3}%
\fi
- \xint_relax
- \xint_undef\xint_undef\xint_undef\xint_undef
- \xint_undef\xint_undef\xint_undef\xint_undef
- \xint_relax
- \Z
}%
-\def\XINT_float_round_D #1%
+\def\XINT_float_U #1#2%
{%
- \ifnum #1<5
- \expandafter\XINT_float_round_Da
+ \ifnum #2<\xint_c_v
+ \expandafter\XINT_float_Va
\else
- \expandafter\XINT_float_round_Db
- \fi
+ \expandafter\XINT_float_Vb
+ \fi #1%
}%
-\def\XINT_float_round_Da #1\Z
+\def\XINT_float_Va #1#2\Z #3%
{%
- \expandafter\XINT_float_round_f
- \romannumeral0\XINT_rord_main {}#1%
+ \expandafter#1%
+ \romannumeral0\expandafter\XINT_float_Wa
+ \romannumeral0\XINT_rord_main {}#2%
\xint_relax
\xint_undef\xint_undef\xint_undef\xint_undef
\xint_undef\xint_undef\xint_undef\xint_undef
- \xint_relax
-}%
-\def\XINT_float_round_Db #1\Z
-{%
- \expandafter\XINT_float_round_f
- \romannumeral0\XINT_addm_A 0{}1000\W\X\Y\Z #1000\W\X\Y\Z
-}%
-\def\XINT_float_round_f #1{ #1.}%
-\def\XINT_float_round_S #1%
-{%
- \ifnum #1<5
- \expandafter\XINT_float_round_Da
- \else
- \expandafter\XINT_float_round_Sb
- \fi
+ \xint_relax \Z
}%
-\def\XINT_float_round_Sb #1\Z
+\def\XINT_float_Vb #1#2\Z #3%
{%
- \expandafter\XINT_float_round_g
- \romannumeral0\XINT_addm_A 0{}1000\W\X\Y\Z #1000\W\X\Y\Z
+ \expandafter #1%
+ \romannumeral0\expandafter #3%
+ \romannumeral0\XINT_addm_A 0{}1000\W\X\Y\Z #2000\W\X\Y\Z \Z
}%
-\def\XINT_float_round_g #1%
+\def\XINT_float_Wa #1{ #1.}%
+\def\XINT_float_Wb #1#2%
+ {\if #11\xint_afterfi{ 10.}\else\xint_afterfi{ #1.#2}\fi }%
+\def\XINT_float_Xa #1\Z #2#3#4%
{%
- \ifnum #1=1 \expandafter\XINT_float_round_h\fi
- \space #1.%
+ \expandafter\XINT_float_Y\expandafter
+ {\the\numexpr #3+#4-#2}{#1}%
}%
-\def\XINT_float_round_h\space 1.0{ 10.}%
-\def\XINT_inFloat [#1]%
+\def\XINT_float_Xb #1\Z #2#3#4%
{%
- \expandafter\XINT_infloat\expandafter {\the\numexpr #1}%
+ \expandafter\XINT_float_Y\expandafter
+ {\the\numexpr #3+#4+\xint_c_i-#2}{#1}%
}%
-\def\XINT_infloat #1#2%
+\def\XINT_float_Y #1#2{ #2e#1}%
+\def\XINT_inFloat [#1]#2%
{%
- \expandafter\XINT_infloat_a \romannumeral0\XINT_infrac {#2}{#1}%
+ \expandafter\XINT_infloat_a\expandafter
+ {\the\numexpr #1\expandafter}%
+ \romannumeral0\XINT_infrac {#2}\XINT_infloat_Q
}%
-\def\XINT_infloat_a #1#2#3%
+\def\XINT_infloat_a #1#2#3% #1=P, #2=n, #3=A, #4=B
{%
- \XINT_infloat_fork #2\Z {#3}{#1}%
+ \XINT_infloat_fork #3\Z {#1}{#2}% #1 = precision, #2=n
}%
\def\XINT_infloat_fork #1%
{%
\xint_UDzerominusfork
#1-\dummy \XINT_infloat_zero
- 0#1\dummy \XINT_infloat_N
- 0-\dummy {\XINT_infloat_P #1}%
+ 0#1\dummy \XINT_infloat_J
+ 0-\dummy {\XINT_float_K #1}%
\krof
}%
-\def\XINT_infloat_zero\Z #1#2#3{0[0]}%
-\def\XINT_infloat_N {\expandafter-\romannumeral-`0\XINT_infloat_P }%
-\def\XINT_infloat_P #1\Z #2#3#4%
-{%
- \ifcase \romannumeral0\XINT_fgeq_A 011{#3}{#1}{#2}
- \expandafter\XINT_infloat_lessthanone_a
- \or\expandafter\XINT_infloat_atleastone_b
- \fi {#3}{#1}{#2}{#3+#4}{#1}{#2}{#4}%
-}%
-\def\XINT_infloat_atleastone_b
-{%
- \expandafter\XINT_infloat_atleastone_c\romannumeral0\XINT_trunc_B
-}%
-\def\XINT_infloat_atleastone_c #1\Z #2%
-{%
- \expandafter\XINT_infloat_c\expandafter
- {\romannumeral0\xintisub {\xintLength{#1}}{1}}%
-}%
-\def\XINT_infloat_lessthanone_a #1%
-{%
- \expandafter\XINT_infloat_lessthanone_b\expandafter
- {\the\numexpr -#1}%
-}%
-\def\XINT_infloat_lessthanone_b #1#2#3%
+\def\XINT_infloat_zero #1\Z #2#3#4#5{0[0]}%
+\def\XINT_infloat_J {\expandafter-\romannumeral-`0\XINT_float_K }%
+\def\XINT_infloat_Q #1%
{%
- \expandafter\XINT_infloat_lessthanone_c
- \romannumeral0\XINT_trunc_B {#1}{#3}{#2}%
+ \ifnum #1<\xint_c_
+ \expandafter\XINT_infloat_Ri
+ \else
+ \expandafter\XINT_infloat_Rii
+ \fi {#1}%
}%
-\def\XINT_infloat_lessthanone_c #1\Z #2%
+\def\XINT_infloat_Ri #1#2#3%
{%
- \expandafter\XINT_infloat_c\expandafter
- {\expandafter-\romannumeral0\xintilen {\xintiSub {#1}{1}}}%
+ \expandafter\XINT_infloat_S\expandafter
+ {\romannumeral0\xintiquo {#2}%
+ {\romannumeral-`0\XINT_dsx_addzerosnofuss {-#1}{#3}}}{#1}%
}%
-\def\XINT_infloat_c #1#2#3#4%
+\def\XINT_infloat_Rii #1#2#3%
{%
- \expandafter\XINT_infloat_d\expandafter
- {\the\numexpr #2-#1}{#3}{#4}{#1}%
+ \expandafter\XINT_infloat_S\expandafter
+ {\romannumeral0\xintiquo
+ {\romannumeral-`0\XINT_dsx_addzerosnofuss {#1}{#2}}{#3}}{#1}%
}%
-\def\XINT_infloat_d
+\def\XINT_infloat_S #1#2#3%
{%
- \expandafter\XINT_infloat_round_B\romannumeral0\XINT_trunc_B
+ \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
+ {#2}%
}%
-\def\XINT_infloat_round_B #1\Z #2%
+\def\XINT_infloat_T #1#2#3%
{%
- \expandafter\XINT_infloat_round_D
- \romannumeral0\XINT_rord_main {}#1%
- \xint_relax
- \xint_undef\xint_undef\xint_undef\xint_undef
- \xint_undef\xint_undef\xint_undef\xint_undef
- \xint_relax
- \Z
+ \ifnum #2>#1
+ \xint_afterfi{\XINT_infloat_U\XINT_infloat_Wb}%
+ \else
+ \xint_afterfi{\XINT_infloat_U\XINT_infloat_Wa #3}%
+ \fi
}%
-\def\XINT_infloat_round_D #1%
+\def\XINT_infloat_U #1#2%
{%
- \ifnum #1<5
- \expandafter\XINT_infloat_round_Da
+ \ifnum #2<\xint_c_v
+ \expandafter\XINT_infloat_Va
\else
- \expandafter\XINT_infloat_round_Db
- \fi
+ \expandafter\XINT_infloat_Vb
+ \fi #1%
}%
-\def\XINT_infloat_round_Da #1\Z
+\def\XINT_infloat_Va #1#2\Z
{%
- \expandafter\XINT_infloat_round_f
- \romannumeral0\XINT_rord_main {}#1%
+ \expandafter#1%
+ \romannumeral0\XINT_rord_main {}#2%
\xint_relax
\xint_undef\xint_undef\xint_undef\xint_undef
\xint_undef\xint_undef\xint_undef\xint_undef
\xint_relax \Z
}%
-\def\XINT_infloat_round_Db #1\Z
+\def\XINT_infloat_Vb #1#2\Z
+{%
+ \expandafter #1%
+ \romannumeral0\XINT_addm_A 0{}1000\W\X\Y\Z #2000\W\X\Y\Z \Z
+}%
+\def\XINT_infloat_Wa #1\Z #2#3%
{%
- \expandafter\XINT_infloat_round_f
- \romannumeral0\XINT_addm_A 0{}1000\W\X\Y\Z #1000\W\X\Y\Z \Z
+ \expandafter\XINT_infloat_X\expandafter
+ {\the\numexpr #3+\xint_c_i-#2}{#1}%
}%
-\def\XINT_infloat_round_f #1\Z #2#3%
+\def\XINT_infloat_Wb #1\Z #2#3%
{%
- \expandafter\XINT_infloat_round_g\expandafter
- {\the\numexpr #2-#3+1}{#1}%
+ \expandafter\XINT_infloat_X\expandafter
+ {\the\numexpr #3+\xint_c_ii-#2}{#1}%
}%
-\def\XINT_infloat_round_g #1#2{#2[#1]}%
+\def\XINT_infloat_X #1#2{ #2[#1]}%
\def\xintAdd {\romannumeral0\xintadd }%
\def\xintadd #1%
{%
@@ -1288,17 +1338,8 @@
{%
\expandafter\xint_fpow\expandafter {\romannumeral0\XINT_infrac {#1}}%
}%
-\def\xintfPow {\romannumeral0\xintfpow }%
-\def\xintfpow #1%
-{%
- \expandafter\xint_ffpow\expandafter {\romannumeral0\XINT_infrac {#1}}%
-}%
\def\xint_fpow #1#2%
{%
- \expandafter\XINT_fpow_fork\the\numexpr #2\relax\Z #1%
-}%
-\def\xint_ffpow #1#2%
-{%
\expandafter\XINT_fpow_fork\the\numexpr \xintNum{#2}\relax\Z #1%
}%
\def\XINT_fpow_fork #1#2\Z
@@ -1333,6 +1374,11 @@
\expandafter\XINT_fpow_pos_B\expandafter {#3}{#1}{#2}%
}%
\def\XINT_fpow_pos_B #1#2{\XINT_outfrac {#2}{#1}}%
+\def\xintFac {\romannumeral0\xintfac }%
+\def\xintfac #1%
+{%
+ \expandafter\XINT_fac_fork\expandafter{\the\numexpr \xintNum{#1}}%
+}%
\def\xintPrd {\romannumeral0\xintprd }%
\def\xintprd #1{\xintprdexpr #1\relax }%
\def\xintPrdExpr {\romannumeral0\xintprdexpr }%
@@ -1372,111 +1418,201 @@
\expandafter{#3}{#1}{#2}%
}%
\def\XINT_fdiv_C #1#2{\XINT_outfrac {#2}{#1}}%
-\def\xintCmp {\romannumeral0\xintcmp }%
-\def\xintcmp #1%
+\def\xintGeq {\romannumeral0\xintgeq }%
+\def\xintgeq #1%
{%
- \expandafter\xint_fcmp\expandafter {\romannumeral0\XINT_infrac {#1}}%
+ \expandafter\xint_fgeq\expandafter {\romannumeral0\xintabs {#1}}%
}%
-\def\xint_fcmp #1#2{\expandafter\XINT_fcmp_A\romannumeral0\XINT_infrac {#2}#1}%
-\def\XINT_fcmp_A #1#2#3#4%
+\def\xint_fgeq #1#2%
{%
- \ifnum #4 > #1
- \xint_afterfi {\XINT_fcmp_B {#1}}%
- \else
- \xint_afterfi {\XINT_fcmp_B {#4}}%
- \fi
- {#1}{#4}{#2}{#3}%
+ \expandafter\XINT_fgeq_A \romannumeral0\xintabs {#2}#1%
}%
-\def\XINT_fcmp_B #1#2#3#4#5#6#7%
+\def\XINT_fgeq_A #1%
{%
- \xinticmp
- {\romannumeral0\xintimul {\xintDSH {\the\numexpr -#3+#1\relax}{#6}}{#5}}%
- {\romannumeral0\xintimul {#7}{\xintDSH {\the\numexpr -#2+#1\relax}{#4}}}%
+ \xint_gob_til_zero #1\XINT_fgeq_Zii 0%
+ \XINT_fgeq_B #1%
}%
-\def\xintGeq {\romannumeral0\xintgeq }%
-\def\xintgeq #1%
+\def\XINT_fgeq_Zii 0\XINT_fgeq_B #1[#2]#3[#4]{ 1}%
+\def\XINT_fgeq_B #1/#2[#3]#4#5/#6[#7]%
{%
- \expandafter\xint_fgeq\expandafter {\romannumeral0\XINT_infrac {#1}}%
+ \xint_gob_til_zero #4\XINT_fgeq_Zi 0%
+ \expandafter\XINT_fgeq_C\expandafter
+ {\the\numexpr #7-#3\expandafter}\expandafter
+ {\romannumeral0\xintimul {#4#5}{#2}}%
+ {\romannumeral0\xintimul {#6}{#1}}%
}%
-\def\xint_fgeq #1#2%
+\def\XINT_fgeq_Zi 0#1#2#3#4#5#6#7{ 0}%
+\def\XINT_fgeq_C #1#2#3%
{%
- \expandafter\XINT_fgeq_A \romannumeral0\XINT_infrac {#2}#1%
+ \expandafter\XINT_fgeq_D\expandafter
+ {#3}{#1}{#2}%
}%
-\def\XINT_fgeq_A #1#2#3#4%
+\def\XINT_fgeq_D #1#2#3%
{%
- \ifnum #4 > #1
- \xint_afterfi {\XINT_fgeq_B {#1}}%
- \else
- \xint_afterfi {\XINT_fgeq_B {#4}}%
- \fi
- {#1}{#4}{#2}{#3}%
+ \xintSgnFork
+ {\xintiSgn{\the\numexpr #2+\xintLength{#3}-\xintLength{#1}\relax}}%
+ { 0}{\XINT_fgeq_E #2\Z {#3}{#1}}{ 1}%
}%
-\def\XINT_fgeq_B #1#2#3#4#5#6#7%
+\def\XINT_fgeq_E #1%
{%
- \expandafter\XINT_fgeq_C\expandafter
- {\romannumeral0\xintimul {\xintDSH {\the\numexpr -#3+#1\relax}{#6}}{#5}}%
- {\romannumeral0\xintimul {#7}{\xintDSH {\the\numexpr -#2+#1\relax}{#4}}}%
+ \xint_UDsignfork
+ #1\dummy \XINT_fgeq_Fd
+ -\dummy {\XINT_fgeq_Fn #1}%
+ \krof
}%
-\def\XINT_fgeq_C #1#2%
+\def\XINT_fgeq_Fd #1\Z #2#3%
{%
- \expandafter\XINT_geq_fork #2\Z #1\Z
+ \expandafter\XINT_fgeq_Fe\expandafter
+ {\romannumeral0\XINT_dsx_addzerosnofuss {#1}{#3}}{#2}%
+}%
+\def\XINT_fgeq_Fe #1#2{\XINT_geq_pre {#2}{#1}}%
+\def\XINT_fgeq_Fn #1\Z #2#3%
+{%
+ \expandafter\XINT_geq_pre\expandafter
+ {\romannumeral0\XINT_dsx_addzerosnofuss {#1}{#2}}{#3}%
}%
\def\xintMax {\romannumeral0\xintmax }%
\def\xintmax #1%
{%
- \expandafter\xint_fmax\expandafter {\romannumeral0\XINT_infrac {#1}}%
+ \expandafter\xint_fmax\expandafter {\romannumeral0\xintraw {#1}}%
}%
-\def\xint_fmax #1#2{\expandafter\XINT_outfrac
- \romannumeral0\expandafter\XINT_fmax_A
- \romannumeral0\XINT_infrac {#2}#1}%
-\def\XINT_fmax_A #1#2#3#4#5#6%
+\def\xint_fmax #1#2%
{%
- \ifnum #4 > #1
- \xint_afterfi {\XINT_fmax_B {#1}}%
- \else
- \xint_afterfi {\XINT_fmax_B {#4}}%
- \fi
- {#1}{#4}{#2}{#3}{#5}{#6}{{#4}{#5}{#6}}{{#1}{#2}{#3}}%
+ \expandafter\XINT_fmax_A\romannumeral0\xintraw {#2}#1%
}%
-\def\XINT_fmax_B #1#2#3#4#5#6#7%
+\def\XINT_fmax_A #1#2/#3[#4]#5#6/#7[#8]%
{%
- \expandafter\XINT_fmax_C\expandafter
- {\romannumeral0\xintimul {\xintDSH {\the\numexpr -#3+#1\relax}{#6}}{#5}}%
- {\romannumeral0\xintimul {#7}{\xintDSH {\the\numexpr -#2+#1\relax}{#4}}}%
+ \xint_UDsignsfork
+ #1#5\dummy \XINT_fmax_minusminus
+ -#5\dummy \XINT_fmax_firstneg
+ #1-\dummy \XINT_fmax_secondneg
+ --\dummy \XINT_fmax_nonneg_a
+ \krof
+ #1#5{#2/#3[#4]}{#6/#7[#8]}%
}%
-\def\XINT_fmax_C #1#2%
+\def\XINT_fmax_minusminus --%
+ {\expandafter\xint_minus_andstop\romannumeral0\XINT_fmin_nonneg_b }%
+\def\XINT_fmax_firstneg #1-#2#3{ #1#2}%
+\def\XINT_fmax_secondneg -#1#2#3{ #1#3}%
+\def\XINT_fmax_nonneg_a #1#2#3#4%
{%
- \expandafter\XINT_max_fork #2\Z #1\Z
+ \XINT_fmax_nonneg_b {#1#3}{#2#4}%
+}%
+\def\XINT_fmax_nonneg_b #1#2%
+{%
+ \ifcase\romannumeral0\XINT_fgeq_A #1#2
+ \xint_afterfi{ #1}%
+ \or \xint_afterfi{ #2}%
+ \fi
}%
\def\xintMin {\romannumeral0\xintmin }%
\def\xintmin #1%
{%
- \expandafter\xint_fmin\expandafter {\romannumeral0\XINT_infrac {#1}}%
+ \expandafter\xint_fmin\expandafter {\romannumeral0\xintraw {#1}}%
}%
\def\xint_fmin #1#2%
{%
- \expandafter\XINT_outfrac
- \romannumeral0\expandafter\XINT_fmin_A
- \romannumeral0\XINT_infrac {#2}#1%
+ \expandafter\XINT_fmin_A\romannumeral0\xintraw {#2}#1%
}%
-\def\XINT_fmin_A #1#2#3#4#5#6%
+\def\XINT_fmin_A #1#2/#3[#4]#5#6/#7[#8]%
{%
- \ifnum #4 > #1
- \xint_afterfi {\XINT_fmin_B {#1}}%
- \else
- \xint_afterfi {\XINT_fmin_B {#4}}%
+ \xint_UDsignsfork
+ #1#5\dummy \XINT_fmin_minusminus
+ -#5\dummy \XINT_fmin_firstneg
+ #1-\dummy \XINT_fmin_secondneg
+ --\dummy \XINT_fmin_nonneg_a
+ \krof
+ #1#5{#2/#3[#4]}{#6/#7[#8]}%
+}%
+\def\XINT_fmin_minusminus --%
+ {\expandafter\xint_minus_andstop\romannumeral0\XINT_fmax_nonneg_b }%
+\def\XINT_fmin_firstneg #1-#2#3{ -#3}%
+\def\XINT_fmin_secondneg -#1#2#3{ -#2}%
+\def\XINT_fmin_nonneg_a #1#2#3#4%
+{%
+ \XINT_fmin_nonneg_b {#1#3}{#2#4}%
+}%
+\def\XINT_fmin_nonneg_b #1#2%
+{%
+ \ifcase\romannumeral0\XINT_fgeq_A #1#2
+ \xint_afterfi{ #2}%
+ \or \xint_afterfi{ #1}%
\fi
- {#1}{#4}{#2}{#3}{#5}{#6}{{#4}{#5}{#6}}{{#1}{#2}{#3}}%
}%
-\def\XINT_fmin_B #1#2#3#4#5#6#7%
+\def\xintCmp {\romannumeral0\xintcmp }%
+\def\xintcmp #1%
{%
- \expandafter\XINT_fmin_C\expandafter
- {\romannumeral0\xintimul {\xintDSH {\the\numexpr -#3+#1\relax}{#6}}{#5}}%
- {\romannumeral0\xintimul {#7}{\xintDSH {\the\numexpr -#2+#1\relax}{#4}}}%
+ \expandafter\xint_fcmp\expandafter {\romannumeral0\xintraw {#1}}%
+}%
+\def\xint_fcmp #1#2%
+{%
+ \expandafter\XINT_fcmp_A\romannumeral0\xintraw {#2}#1%
+}%
+\def\XINT_fcmp_A #1#2/#3[#4]#5#6/#7[#8]%
+{%
+ \xint_UDsignsfork
+ #1#5\dummy \XINT_fcmp_minusminus
+ -#5\dummy \XINT_fcmp_firstneg
+ #1-\dummy \XINT_fcmp_secondneg
+ --\dummy \XINT_fcmp_nonneg_a
+ \krof
+ #1#5{#2/#3[#4]}{#6/#7[#8]}%
}%
-\def\XINT_fmin_C #1#2%
+\def\XINT_fcmp_minusminus --#1#2{\XINT_fcmp_B #2#1}%
+\def\XINT_fcmp_firstneg #1-#2#3{ -1}%
+\def\XINT_fcmp_secondneg -#1#2#3{ 1}%
+\def\XINT_fcmp_nonneg_a #1#2%
{%
- \expandafter\XINT_min_fork #2\Z #1\Z
+ \xint_UDzerosfork
+ #1#2\dummy \XINT_fcmp_zerozero
+ 0#2\dummy \XINT_fcmp_firstzero
+ #10\dummy \XINT_fcmp_secondzero
+ 00\dummy \XINT_fcmp_pos
+ \krof
+ #1#2%
+}%
+\def\XINT_fcmp_zerozero #1[#2]#3[#4]{ 0}%
+\def\XINT_fcmp_firstzero #1[#2]#3[#4]{ -1}%
+\def\XINT_fcmp_secondzero #1[#2]#3[#4]{ 1}%
+\def\XINT_fcmp_pos #1#2#3#4%
+{%
+ \XINT_fcmp_B #1#3#2#4%
+}%
+\def\XINT_fcmp_B #1/#2[#3]#4/#5[#6]%
+{%
+ \expandafter\XINT_fcmp_C\expandafter
+ {\the\numexpr #6-#3\expandafter}\expandafter
+ {\romannumeral0\xintimul {#4}{#2}}%
+ {\romannumeral0\xintimul {#5}{#1}}%
+}%
+\def\XINT_fcmp_C #1#2#3%
+{%
+ \expandafter\XINT_fcmp_D\expandafter
+ {#3}{#1}{#2}%
+}%
+\def\XINT_fcmp_D #1#2#3%
+{%
+ \xintSgnFork
+ {\xintiSgn{\the\numexpr #2+\xintLength{#3}-\xintLength{#1}\relax}}%
+ { -1}{\XINT_fcmp_E #2\Z {#3}{#1}}{ 1}%
+}%
+\def\XINT_fcmp_E #1%
+{%
+ \xint_UDsignfork
+ #1\dummy \XINT_fcmp_Fd
+ -\dummy {\XINT_fcmp_Fn #1}%
+ \krof
+}%
+\def\XINT_fcmp_Fd #1\Z #2#3%
+{%
+ \expandafter\XINT_fcmp_Fe\expandafter
+ {\romannumeral0\XINT_dsx_addzerosnofuss {#1}{#3}}{#2}%
+}%
+\def\XINT_fcmp_Fe #1#2{\XINT_cmp_pre {#2}{#1}}%
+\def\XINT_fcmp_Fn #1\Z #2#3%
+{%
+ \expandafter\XINT_cmp_pre\expandafter
+ {\romannumeral0\XINT_dsx_addzerosnofuss {#1}{#2}}{#3}%
}%
\def\xintAbs {\romannumeral0\xintabs }%
\def\xintabs #1%
@@ -1564,7 +1700,7 @@
\def\XINTinfloatadd #1{\XINT_fladd_chkopt \XINT_inFloat #1\Z }%
\def\XINT_fladd_chkopt #1#2%
{%
- \ifx #2[\expandafter\XINT_fladd_opt
+ \ifx [#2\expandafter\XINT_fladd_opt
\else\expandafter\XINT_fladd_noopt
\fi #1#2%
}%
@@ -1611,7 +1747,7 @@
\def\XINTinfloatsub #1{\XINT_flsub_chkopt \XINT_inFloat #1\Z }%
\def\XINT_flsub_chkopt #1#2%
{%
- \ifx #2[\expandafter\XINT_flsub_opt
+ \ifx [#2\expandafter\XINT_flsub_opt
\else\expandafter\XINT_flsub_noopt
\fi #1#2%
}%
@@ -1629,7 +1765,7 @@
\def\XINTinfloatmul #1{\XINT_flmul_chkopt \XINT_inFloat #1\Z }%
\def\XINT_flmul_chkopt #1#2%
{%
- \ifx #2[\expandafter\XINT_flmul_opt
+ \ifx [#2\expandafter\XINT_flmul_opt
\else\expandafter\XINT_flmul_noopt
\fi #1#2%
}%
@@ -1657,7 +1793,7 @@
\def\XINTinfloatdiv #1{\XINT_fldiv_chkopt \XINT_inFloat #1\Z }%
\def\XINT_fldiv_chkopt #1#2%
{%
- \ifx #2[\expandafter\XINT_fldiv_opt
+ \ifx [#2\expandafter\XINT_fldiv_opt
\else\expandafter\XINT_fldiv_noopt
\fi #1#2%
}%
@@ -1685,7 +1821,7 @@
\def\XINTinfloatpow #1{\XINT_flpow_chkopt \XINT_inFloat #1\Z }%
\def\XINT_flpow_chkopt #1#2%
{%
- \ifx #2[\expandafter\XINT_flpow_opt
+ \ifx [#2\expandafter\XINT_flpow_opt
\else\expandafter\XINT_flpow_noopt
\fi
#1#2%
@@ -1824,7 +1960,7 @@
\def\XINTinfloatpower #1{\XINT_flpower_chkopt \XINT_inFloat #1\Z }%
\def\XINT_flpower_chkopt #1#2%
{%
- \ifx #2[\expandafter\XINT_flpower_opt
+ \ifx [#2\expandafter\XINT_flpower_opt
\else\expandafter\XINT_flpower_noopt
\fi
#1#2%
@@ -1917,6 +2053,184 @@
{%
\XINT_flpower_loop {#1}{#2}{#3}%
}%
+\def\xintFloatSqrt {\romannumeral0\xintfloatsqrt }%
+\def\xintfloatsqrt #1{\XINT_flsqrt_chkopt \xintfloat #1\Z }%
+\def\XINTinFloatSqrt {\romannumeral-`0\XINTinfloatsqrt }%
+\def\XINTinfloatsqrt #1{\XINT_flsqrt_chkopt \XINT_inFloat #1\Z }%
+\def\XINT_flsqrt_chkopt #1#2%
+{%
+ \ifx [#2\expandafter\XINT_flsqrt_opt
+ \else\expandafter\XINT_flsqrt_noopt
+ \fi #1#2%
+}%
+\def\XINT_flsqrt_noopt #1#2\Z
+{%
+ #1[\XINT_digits]{\XINT_FL_sqrt \XINT_digits {#2}}%
+}%
+\def\XINT_flsqrt_opt #1[\Z #2]#3%
+{%
+ #1[#2]{\XINT_FL_sqrt {#2}{#3}}%
+}%
+\def\XINT_FL_sqrt #1%
+{%
+ \ifnum\numexpr #1<\xint_c_xviii
+ \xint_afterfi {\XINT_FL_sqrt_a\xint_c_xviii}%
+ \else
+ \xint_afterfi {\XINT_FL_sqrt_a {#1+\xint_c_i}}%
+ \fi
+}%
+\def\XINT_FL_sqrt_a #1#2%
+{%
+ \expandafter\XINT_FL_sqrt_checkifzeroorneg
+ \romannumeral-`0\XINT_inFloat [#1]{#2}%
+}%
+\def\XINT_FL_sqrt_checkifzeroorneg #1%
+{%
+ \xint_UDzerominusfork
+ #1-\dummy \XINT_FL_sqrt_iszero
+ 0#1\dummy \XINT_FL_sqrt_isneg
+ 0-\dummy {\XINT_FL_sqrt_b #1}%
+ \krof
+}%
+\def\XINT_FL_sqrt_iszero #1[#2]{0[0]}%
+\def\XINT_FL_sqrt_isneg #1[#2]{\xintError:RootOfNegative 0[0]}%
+\def\XINT_FL_sqrt_b #1[#2]%
+{%
+ \ifodd #2
+ \xint_afterfi{\XINT_FL_sqrt_c 01}%
+ \else
+ \xint_afterfi{\XINT_FL_sqrt_c {}0}%
+ \fi
+ {#1}{#2}%
+}%
+\def\XINT_FL_sqrt_c #1#2#3#4%
+{%
+ \expandafter\XINT_flsqrt\expandafter {\the\numexpr #4-#2}{#3#1}%
+}%
+\def\XINT_flsqrt #1#2%
+{%
+ \expandafter\XINT_sqrt_a
+ \expandafter{\romannumeral0\XINT_length {#2}}\XINT_flsqrt_big_d {#2}{#1}%
+}%
+\def\XINT_flsqrt_big_d #1\or #2\fi #3%
+{%
+ \fi
+ \ifodd #3
+ \xint_afterfi{\expandafter\XINT_flsqrt_big_eB}%
+ \else
+ \xint_afterfi{\expandafter\XINT_flsqrt_big_eA}%
+ \fi
+ \expandafter {\the\numexpr (#3-\xint_c_i)/\xint_c_ii }{#1}%
+}%
+\def\XINT_flsqrt_big_eA #1#2#3%
+{%
+ \XINT_flsqrt_big_eA_a #3\Z {#2}{#1}{#3}%
+}%
+\def\XINT_flsqrt_big_eA_a #1#2#3#4#5#6#7#8#9\Z
+{%
+ \XINT_flsqrt_big_eA_b {#1#2#3#4#5#6#7#8}%
+}%
+\def\XINT_flsqrt_big_eA_b #1#2%
+{%
+ \expandafter\XINT_flsqrt_big_f
+ \romannumeral0\XINT_flsqrt_small_e {#2001}{#1}%
+}%
+\def\XINT_flsqrt_big_eB #1#2#3%
+{%
+ \XINT_flsqrt_big_eB_a #3\Z {#2}{#1}{#3}%
+}%
+\def\XINT_flsqrt_big_eB_a #1#2#3#4#5#6#7#8#9%
+{%
+ \XINT_flsqrt_big_eB_b {#1#2#3#4#5#6#7#8#9}%
+}%
+\def\XINT_flsqrt_big_eB_b #1#2\Z #3%
+{%
+ \expandafter\XINT_flsqrt_big_f
+ \romannumeral0\XINT_flsqrt_small_e {#30001}{#1}%
+}%
+\def\XINT_flsqrt_small_e #1#2%
+{%
+ \expandafter\XINT_flsqrt_small_f\expandafter
+ {\the\numexpr #1*#1-#2-\xint_c_i}{#1}%
+}%
+\def\XINT_flsqrt_small_f #1#2%
+{%
+ \expandafter\XINT_flsqrt_small_g\expandafter
+ {\the\numexpr (#1+#2)/(2*#2)-\xint_c_i }{#1}{#2}%
+}%
+\def\XINT_flsqrt_small_g #1%
+{%
+ \ifnum #1>\xint_c_
+ \expandafter\XINT_flsqrt_small_h
+ \else
+ \expandafter\XINT_flsqrt_small_end
+ \fi
+ {#1}%
+}%
+\def\XINT_flsqrt_small_h #1#2#3%
+{%
+ \expandafter\XINT_flsqrt_small_f\expandafter
+ {\the\numexpr #2-\xint_c_ii*#1*#3+#1*#1\expandafter}\expandafter
+ {\the\numexpr #3-#1}%
+}%
+\def\XINT_flsqrt_small_end #1#2#3%
+{%
+ \expandafter\space\expandafter
+ {\the\numexpr \xint_c_i+#3*\xint_c_x^iv-
+ (#2*\xint_c_x^iv+#3)/(\xint_c_ii*#3)}%
+}%
+\def\XINT_flsqrt_big_f #1%
+{%
+ \expandafter\XINT_flsqrt_big_fa\expandafter
+ {\romannumeral0\xintisqr {#1}}{#1}%
+}%
+\def\XINT_flsqrt_big_fa #1#2#3#4%
+{%
+ \expandafter\XINT_flsqrt_big_fb\expandafter
+ {\romannumeral-`0\XINT_dsx_addzerosnofuss
+ {\numexpr #3-\xint_c_viii\relax}{#2}}%
+ {\romannumeral0\xintisub
+ {\XINT_dsx_addzerosnofuss
+ {\numexpr \xint_c_ii*(#3-\xint_c_viii)\relax}{#1}}{#4}}%
+ {#3}%
+}%
+\def\XINT_flsqrt_big_fb #1#2%
+{%
+ \expandafter\XINT_flsqrt_big_g\expandafter {#2}{#1}%
+}%
+\def\XINT_flsqrt_big_g #1#2%
+{%
+ \expandafter\XINT_flsqrt_big_j
+ \romannumeral0\xintidivision
+ {#1}{\romannumeral0\XINT_dbl_pos #2\R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W }{#2}%
+}%
+\def\XINT_flsqrt_big_j #1%
+{%
+ \ifcase\XINT_Sgn {#1}
+ \expandafter \XINT_flsqrt_big_end_a
+ \or \expandafter \XINT_flsqrt_big_k
+ \fi {#1}%
+}%
+\def\XINT_flsqrt_big_k #1#2#3%
+{%
+ \expandafter\XINT_flsqrt_big_l\expandafter
+ {\romannumeral0\XINT_sub_pre {#3}{#1}}%
+ {\romannumeral0\xintiadd {#2}{\romannumeral0\XINT_sqr {#1}}}%
+}%
+\def\XINT_flsqrt_big_l #1#2%
+{%
+ \expandafter\XINT_flsqrt_big_g\expandafter
+ {#2}{#1}%
+}%
+\def\XINT_flsqrt_big_end_a #1#2#3#4#5%
+{%
+ \expandafter\XINT_flsqrt_big_end_b\expandafter
+ {\the\numexpr -#4+#5/\xint_c_ii\expandafter}\expandafter
+ {\romannumeral0\xintisub
+ {\XINT_dsx_addzerosnofuss {#4}{#3}}%
+ {\xintHalf{\xintiQuo{\XINT_dsx_addzerosnofuss {#4}{#2}}{#3}}}}%
+}%
+\def\XINT_flsqrt_big_end_b #1#2{#2[#1]}%
\XINT_frac_restorecatcodes_endinput%
\endinput
%%
diff --git a/Master/texmf-dist/tex/generic/xint/xintgcd.sty b/Master/texmf-dist/tex/generic/xint/xintgcd.sty
index 702fa0c78a5..467e62a9925 100644
--- a/Master/texmf-dist/tex/generic/xint/xintgcd.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintgcd.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
%%
%%----------------------------------------------------------------
-%% The xint bundle (version 1.07a of May 26, 2013)
+%% The xint bundle (version 1.08b of June 14, 2013)
%% xintgcd: Euclidean algorithm with xint package
%% Copyright (C) 2013 by Jean-Francois Burnol
%%----------------------------------------------------------------
@@ -115,6 +115,7 @@
\edef\XINT_gcd_restorecatcodes_endinput
{%
\catcode36=\the\catcode36 % $
+ \catcode94=\the\catcode94 % ^
\catcode96=\the\catcode96 % `
\catcode47=\the\catcode47 % /
\catcode41=\the\catcode41 % )
@@ -137,7 +138,7 @@
\catcode61=\the\catcode61\relax % =
\noexpand\endinput
}%
- \XINT_setcatcodes
+ \XINT_setcatcodes % defined in xint.sty
\catcode36=3 % $
}%
\x
@@ -164,7 +165,7 @@
\fi
\expandafter\x\csname ver@xintgcd.sty\endcsname
\ProvidesPackage{xintgcd}%
- [2013/05/26 v1.07a Euclide algorithm with xint package (jfB)]%
+ [2013/06/14 v1.08b Euclide algorithm with xint package (jfB)]%
\def\xintGCD {\romannumeral0\xintgcd }%
\def\xintgcd #1%
{%
diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty
index f1b6d882e85..2a63f12eb29 100644
--- a/Master/texmf-dist/tex/generic/xint/xintseries.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintseries.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
%%
%%----------------------------------------------------------------
-%% The xint bundle (version 1.07a of May 26, 2013)
+%% The xint bundle (version 1.08b of June 14, 2013)
%% xintseries: Expandable partial sums with xint package
%% Copyright (C) 2013 by Jean-Francois Burnol
%%----------------------------------------------------------------
@@ -116,6 +116,7 @@
{%
\catcode93=\the\catcode93 % ]
\catcode91=\the\catcode91 % [
+ \catcode94=\the\catcode94 % ^
\catcode96=\the\catcode96 % `
\catcode47=\the\catcode47 % /
\catcode41=\the\catcode41 % )
@@ -138,7 +139,7 @@
\catcode61=\the\catcode61\relax % =
\noexpand\endinput
}%
- \XINT_setcatcodes
+ \XINT_setcatcodes % defined in xint.sty
\catcode91=12 % [
\catcode93=12 % ]
}%
@@ -164,17 +165,14 @@
\fi
\expandafter\x\csname ver@xintseries.sty\endcsname
\ProvidesPackage{xintseries}%
- [2013/05/26 v1.07a Expandable partial sums with xint package (jfB)]%
+ [2013/06/14 v1.08b Expandable partial sums with xint package (jfB)]%
\def\xintSeries {\romannumeral0\xintseries }%
\def\xintseries #1#2%
{%
- \expandafter\XINT_series_i\expandafter {\the\numexpr #2}{#1}%
+ \expandafter\XINT_series\expandafter
+ {\the\numexpr #1\expandafter}\expandafter{\the\numexpr #2}%
}%
-\def\XINT_series_i #1#2%
-{%
- \expandafter\XINT_series_ii\expandafter {\the\numexpr #2}{#1}%
-}%
-\def\XINT_series_ii #1#2#3%
+\def\XINT_series #1#2#3%
{%
\ifnum #2<#1
\xint_afterfi { 0/1[0]}%
@@ -197,13 +195,10 @@
\def\xintiSeries {\romannumeral0\xintiseries }%
\def\xintiseries #1#2%
{%
- \expandafter\XINT_iseries_i\expandafter {\the\numexpr #2}{#1}%
-}%
-\def\XINT_iseries_i #1#2%
-{%
- \expandafter\XINT_iseries_ii\expandafter {\the\numexpr #2}{#1}%
+ \expandafter\XINT_iseries\expandafter
+ {\the\numexpr #1\expandafter}\expandafter{\the\numexpr #2}%
}%
-\def\XINT_iseries_ii #1#2#3%
+\def\XINT_iseries #1#2#3%
{%
\ifnum #2<#1
\xint_afterfi { 0}%
@@ -226,13 +221,10 @@
\def\xintPowerSeries {\romannumeral0\xintpowerseries }%
\def\xintpowerseries #1#2%
{%
- \expandafter\XINT_powseries_i\expandafter {\the\numexpr #2}{#1}%
+ \expandafter\XINT_powseries\expandafter
+ {\the\numexpr #1\expandafter}\expandafter{\the\numexpr #2}%
}%
-\def\XINT_powseries_i #1#2%
-{%
- \expandafter\XINT_powseries_ii\expandafter {\the\numexpr #2}{#1}%
-}%
-\def\XINT_powseries_ii #1#2#3#4%
+\def\XINT_powseries #1#2#3#4%
{%
\ifnum #2<#1
\xint_afterfi { 0/1[0]}%
@@ -264,13 +256,10 @@
\def\xintPowerSeriesX {\romannumeral0\xintpowerseriesx }%
\def\xintpowerseriesx #1#2%
{%
- \expandafter\XINT_powseriesx_i\expandafter {\the\numexpr #2}{#1}%
-}%
-\def\XINT_powseriesx_i #1#2%
-{%
- \expandafter\XINT_powseriesx_ii\expandafter {\the\numexpr #2}{#1}%
+ \expandafter\XINT_powseriesx\expandafter
+ {\the\numexpr #1\expandafter}\expandafter{\the\numexpr #2}%
}%
-\def\XINT_powseriesx_ii #1#2#3#4%
+\def\XINT_powseriesx #1#2#3#4%
{%
\ifnum #2<#1
\xint_afterfi { 0/1[0]}%
@@ -288,13 +277,10 @@
\def\xintRationalSeries {\romannumeral0\xintratseries }%
\def\xintratseries #1#2%
{%
- \expandafter\XINT_ratseries_i\expandafter {\the\numexpr #2}{#1}%
+ \expandafter\XINT_ratseries\expandafter
+ {\the\numexpr #1\expandafter}\expandafter{\the\numexpr #2}%
}%
-\def\XINT_ratseries_i #1#2%
-{%
- \expandafter\XINT_ratseries_ii\expandafter {\the\numexpr #2}{#1}%
-}%
-\def\XINT_ratseries_ii #1#2#3#4%
+\def\XINT_ratseries #1#2#3#4%
{%
\ifnum #2<#1
\xint_afterfi { 0/1[0]}%
@@ -325,13 +311,10 @@
\def\xintRationalSeriesX {\romannumeral0\xintratseriesx }%
\def\xintratseriesx #1#2%
{%
- \expandafter\XINT_ratseriesx_i\expandafter {\the\numexpr #2}{#1}%
-}%
-\def\XINT_ratseriesx_i #1#2%
-{%
- \expandafter\XINT_ratseriesx_ii\expandafter {\the\numexpr #2}{#1}%
+ \expandafter\XINT_ratseriesx\expandafter
+ {\the\numexpr #1\expandafter}\expandafter{\the\numexpr #2}%
}%
-\def\XINT_ratseriesx_ii #1#2#3#4#5%
+\def\XINT_ratseriesx #1#2#3#4#5%
{%
\ifnum #2<#1
\xint_afterfi { 0/1[0]}%
@@ -349,13 +332,10 @@
\def\xintFxPtPowerSeries {\romannumeral0\xintfxptpowerseries }%
\def\xintfxptpowerseries #1#2%
{%
- \expandafter\XINT_fppowseries_i\expandafter {\the\numexpr #2}{#1}%
+ \expandafter\XINT_fppowseries\expandafter
+ {\the\numexpr #1\expandafter}\expandafter{\the\numexpr #2}%
}%
-\def\XINT_fppowseries_i #1#2%
-{%
- \expandafter\XINT_fppowseries_ii\expandafter {\the\numexpr #2}{#1}%
-}%
-\def\XINT_fppowseries_ii #1#2#3#4#5%
+\def\XINT_fppowseries #1#2#3#4#5%
{%
\ifnum #2<#1
\xint_afterfi { 0}%
@@ -371,7 +351,7 @@
{%
\ifnum #4>#2 \else\XINT_fppowseries_dont_i \fi
\expandafter\XINT_fppowseries_loop_i\expandafter
- {\the\numexpr #2+1\expandafter}\expandafter
+ {\the\numexpr #2+\xint_c_i\expandafter}\expandafter
{\romannumeral0\xintitrunc {#6}{\xintMul {#5{#2}}{#1}}}%
{#1}{#3}{#4}{#5}{#6}%
}%
@@ -388,7 +368,7 @@
\def\XINT_fppowseries_loop_ii #1#2#3#4#5#6#7%
{%
\expandafter\XINT_fppowseries_loop_i\expandafter
- {\the\numexpr #2+1\expandafter}\expandafter
+ {\the\numexpr #2+\xint_c_i\expandafter}\expandafter
{\romannumeral0\xintiadd {#4}{\xintiTrunc {#7}{\xintMul {#6{#2}}{#1}}}}%
{#1}{#3}{#5}{#6}{#7}%
}%
@@ -402,13 +382,10 @@
\def\xintFxPtPowerSeriesX {\romannumeral0\xintfxptpowerseriesx }%
\def\xintfxptpowerseriesx #1#2%
{%
- \expandafter\XINT_fppowseriesx_i\expandafter {\the\numexpr #2}{#1}%
+ \expandafter\XINT_fppowseriesx\expandafter
+ {\the\numexpr #1\expandafter}\expandafter{\the\numexpr #2}%
}%
-\def\XINT_fppowseriesx_i #1#2%
-{%
- \expandafter\XINT_fppowseriesx_ii\expandafter {\the\numexpr #2}{#1}%
-}%
-\def\XINT_fppowseriesx_ii #1#2#3#4#5%
+\def\XINT_fppowseriesx #1#2#3#4#5%
{%
\ifnum #2<#1
\xint_afterfi { 0}%
@@ -425,6 +402,109 @@
{\romannumeral0\xinttrunc {#5}{\xintPow {#1}{#2}}}%
{#2}{#1}{#3}{#4}{#5}%
}%
+\def\xintFloatPowerSeries {\romannumeral0\xintfloatpowerseries }%
+\def\xintfloatpowerseries #1{\XINT_flpowseries_chkopt #1\Z }%
+\def\XINT_flpowseries_chkopt #1%
+{%
+ \ifx [#1\expandafter\XINT_flpowseries_opt
+ \else\expandafter\XINT_flpowseries_noopt
+ \fi
+ #1%
+}%
+\def\XINT_flpowseries_noopt #1\Z #2%
+{%
+ \expandafter\XINT_flpowseries\expandafter
+ {\the\numexpr #1\expandafter}\expandafter
+ {\the\numexpr #2}\XINT_digits
+}%
+\def\XINT_flpowseries_opt [\Z #1]#2#3%
+{%
+ \expandafter\XINT_flpowseries\expandafter
+ {\the\numexpr #2\expandafter}\expandafter
+ {\the\numexpr #3\expandafter}{\the\numexpr #1}%
+}%
+\def\XINT_flpowseries #1#2#3#4#5%
+{%
+ \ifnum #2<#1
+ \xint_afterfi { 0.e0}%
+ \else
+ \xint_afterfi
+ {\expandafter\XINT_flpowseries_loop_pre\expandafter
+ {\romannumeral-`0\XINTinfloatpow [#3]{#5}{#1}}%
+ {#1}{#5}{#2}{#4}{#3}%
+ }%
+ \fi
+}%
+\def\XINT_flpowseries_loop_pre #1#2#3#4#5#6%
+{%
+ \ifnum #4>#2 \else\XINT_flpowseries_dont_i \fi
+ \expandafter\XINT_flpowseries_loop_i\expandafter
+ {\the\numexpr #2+\xint_c_i\expandafter}\expandafter
+ {\romannumeral-`0\XINTinfloatmul [#6]{#5{#2}}{#1}}%
+ {#1}{#3}{#4}{#5}{#6}%
+}%
+\def\XINT_flpowseries_dont_i \fi\expandafter\XINT_flpowseries_loop_i
+ {\fi \expandafter\XINT_flpowseries_dont_ii }%
+\def\XINT_flpowseries_dont_ii #1#2#3#4#5#6#7{\xintfloat [#7]{#2}}%
+\def\XINT_flpowseries_loop_i #1#2#3#4#5#6#7%
+{%
+ \ifnum #5>#1 \else \XINT_flpowseries_exit_i \fi
+ \expandafter\XINT_flpowseries_loop_ii\expandafter
+ {\romannumeral-`0\XINTinfloatmul [#7]{#3}{#4}}%
+ {#1}{#4}{#2}{#5}{#6}{#7}%
+}%
+\def\XINT_flpowseries_loop_ii #1#2#3#4#5#6#7%
+{%
+ \expandafter\XINT_flpowseries_loop_i\expandafter
+ {\the\numexpr #2+\xint_c_i\expandafter}\expandafter
+ {\romannumeral-`0\XINTinfloatadd [#7]{#4}%
+ {\XINTinfloatmul [#7]{#6{#2}}{#1}}}%
+ {#1}{#3}{#5}{#6}{#7}%
+}%
+\def\XINT_flpowseries_exit_i\fi\expandafter\XINT_flpowseries_loop_ii
+ {\fi \expandafter\XINT_flpowseries_exit_ii }%
+\def\XINT_flpowseries_exit_ii #1#2#3#4#5#6#7%
+{%
+ \xintfloatadd [#7]{#4}{\XINTinfloatmul [#7]{#6{#2}}{#1}}%
+}%
+\def\xintFloatPowerSeriesX {\romannumeral0\xintfloatpowerseriesx }%
+\def\xintfloatpowerseriesx #1{\XINT_flpowseriesx_chkopt #1\Z }%
+\def\XINT_flpowseriesx_chkopt #1%
+{%
+ \ifx [#1\expandafter\XINT_flpowseriesx_opt
+ \else\expandafter\XINT_flpowseriesx_noopt
+ \fi
+ #1%
+}%
+\def\XINT_flpowseriesx_noopt #1\Z #2%
+{%
+ \expandafter\XINT_flpowseriesx\expandafter
+ {\the\numexpr #1\expandafter}\expandafter
+ {\the\numexpr #2}\XINT_digits
+}%
+\def\XINT_flpowseriesx_opt [\Z #1]#2#3%
+{%
+ \expandafter\XINT_flpowseriesx\expandafter
+ {\the\numexpr #2\expandafter}\expandafter
+ {\the\numexpr #3\expandafter}{\the\numexpr #1}%
+}%
+\def\XINT_flpowseriesx #1#2#3#4#5%
+{%
+ \ifnum #2<#1
+ \xint_afterfi { 0.e0}%
+ \else
+ \xint_afterfi
+ {\expandafter \XINT_flpowseriesx_pre \expandafter
+ {\romannumeral-`0#5}{#1}{#2}{#4}{#3}%
+ }%
+ \fi
+}%
+\def\XINT_flpowseriesx_pre #1#2#3#4#5%
+{%
+ \expandafter\XINT_flpowseries_loop_pre\expandafter
+ {\romannumeral-`0\XINTinfloatpow [#5]{#1}{#2}}%
+ {#2}{#1}{#3}{#4}{#5}%
+}%
\XINT_series_restorecatcodes_endinput%
\endinput
%%