From 9a9c1b6e2502a6a9c90e739c411de26012b9db2c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 1 Aug 2017 21:38:49 +0000 Subject: xint (1aug17) git-svn-id: svn://tug.org/texlive/trunk@44934 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/generic/xint/xint.sty | 231 ++----- Master/texmf-dist/tex/generic/xint/xintbinhex.sty | 761 ++++++++++------------ Master/texmf-dist/tex/generic/xint/xintcfrac.sty | 4 +- Master/texmf-dist/tex/generic/xint/xintcore.sty | 24 +- Master/texmf-dist/tex/generic/xint/xintexpr.sty | 4 +- Master/texmf-dist/tex/generic/xint/xintfrac.sty | 32 +- Master/texmf-dist/tex/generic/xint/xintgcd.sty | 4 +- Master/texmf-dist/tex/generic/xint/xintkernel.sty | 4 +- Master/texmf-dist/tex/generic/xint/xintseries.sty | 4 +- Master/texmf-dist/tex/generic/xint/xinttools.sty | 4 +- 10 files changed, 454 insertions(+), 618 deletions(-) (limited to 'Master/texmf-dist/tex/generic/xint') diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty index de8669e6acb..4641adb163b 100644 --- a/Master/texmf-dist/tex/generic/xint/xint.sty +++ b/Master/texmf-dist/tex/generic/xint/xint.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.2l 2017/07/26 +%% The xint bundle 1.2m 2017/07/31 %% Copyright (C) 2013-2017 by Jean-Francois Burnol %% xint: Expandable operations on big integers %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty (loaded by xintcore.sty) \XINT_providespackage \ProvidesPackage{xint}% - [2017/07/26 1.2l Expandable operations on big integers (JFB)]% + [2017/07/31 1.2m Expandable operations on big integers (JFB)]% \long\def\xint_firstofthree #1#2#3{#1}% \long\def\xint_secondofthree #1#2#3{#2}% \long\def\xint_thirdofthree #1#2#3{#3}% @@ -389,8 +389,6 @@ {% \expandafter\XINT_geq_fork\expandafter #1\romannumeral`&&@#3\xint:#2\xint: }% -\let\XINT_geq_pre \xintiigeq % TEMPORAIRE (oui, mais depuis quand ?) -\let\XINT_Geq \xintGeq % TEMPORAIRE ATTENTION FAIT xintNum (et alors?) \def\XINT_geq #1#2\xint:#3% {% \expandafter\XINT_geq_fork\expandafter #1\romannumeral0\xintnum{#3}\xint:#2\xint: @@ -414,173 +412,63 @@ \def\XINT_geq_secondiszero #1\krof #20#3\xint:#4\xint:{ 1}% \def\XINT_geq_plusminus #1-{\XINT_geq_plusplus #1{}}% \def\XINT_geq_minusplus -#1{\XINT_geq_plusplus {}#1}% -\def\XINT_geq_minusminus --{\XINT_geq_plusplus {}{}}% -\def\XINT_geq_plusplus #1#2#3\xint:#4\xint:{\XINT_geq_pp #1#4\xint:#2#3\xint:}% -\def\XINT_geq_pp #1\xint: -{% - \expandafter\XINT_geq_pp_a - \romannumeral0\expandafter\XINT_sepandrev_andcount - \romannumeral0\XINT_zeroes_forviii #1\R\R\R\R\R\R\R\R{10}0000001\W - #1\XINT_rsepbyviii_end_A 2345678% - \XINT_rsepbyviii_end_B 2345678\relax\xint_c_ii\xint_c_i - \R\xint:\xint_c_xii \R\xint:\xint_c_x \R\xint:\xint_c_viii \R\xint:\xint_c_vi - \R\xint:\xint_c_iv \R\xint:\xint_c_ii \R\xint:\xint_c_\W - \X -}% -\def\XINT_geq_pp_a #1\xint:#2\X #3\xint: -{% - \expandafter\XINT_geq_checklengths - \the\numexpr #1\expandafter\xint:% - \romannumeral0\expandafter\XINT_sepandrev_andcount - \romannumeral0\XINT_zeroes_forviii #3\R\R\R\R\R\R\R\R{10}0000001\W - #3\XINT_rsepbyviii_end_A 2345678% - \XINT_rsepbyviii_end_B 2345678\relax\xint_c_ii\xint_c_i - \R\xint:\xint_c_xii \R\xint:\xint_c_x \R\xint:\xint_c_viii \R\xint:\xint_c_vi - \R\xint:\xint_c_iv \R\xint:\xint_c_ii \R\xint:\xint_c_\W - \Z!\Z!\Z!\Z!\Z!\W #2\Z!\Z!\Z!\Z!\Z!\W -}% -\def\XINT_geq_checklengths #1\xint:#2\xint: -{% - \ifnum #1=#2 - \expandafter\xint_firstoftwo - \else - \expandafter\xint_secondoftwo - \fi - \XINT_geq_aa {\XINT_geq_distinctlengths {#1}{#2}}% -}% -\def\XINT_geq_distinctlengths #1#2#3\W #4\W -{% - \ifnum #1>#2 - \expandafter\xint_firstoftwo - \else - \expandafter\xint_secondoftwo - \fi - { 1}{ 0}% -}% -\def\XINT_geq_aa {\expandafter\XINT_geq_w\the\numexpr\XINT_geq_a \xint_c_i }% -\def\XINT_geq_a #1!#2!#3!#4!#5\W #6!#7!#8!#9!% -{% - \XINT_geq_b #1!#6!#2!#7!#3!#8!#4!#9!#5\W -}% -\def\XINT_geq_b #1#2#3!#4!% -{% - \xint_gob_til_Z #2\XINT_geq_bi \Z - \expandafter\XINT_geq_c\the\numexpr#1+1#4-#3-\xint_c_i\xint:% -}% -\def\XINT_geq_c 1#1#2\xint:% -{% - 1#2\expandafter!\the\numexpr\XINT_geq_d #1% -}% -\def\XINT_geq_d #1#2#3!#4!% -{% - \xint_gob_til_Z #2\XINT_geq_di \Z - \expandafter\XINT_geq_e\the\numexpr#1+1#4-#3-\xint_c_i\xint:% -}% -\def\XINT_geq_e 1#1#2\xint:% -{% - 1#2\expandafter!\the\numexpr\XINT_geq_f #1% -}% -\def\XINT_geq_f #1#2#3!#4!% -{% - \xint_gob_til_Z #2\XINT_geq_fi \Z - \expandafter\XINT_geq_g\the\numexpr#1+1#4-#3-\xint_c_i\xint:% -}% -\def\XINT_geq_g 1#1#2\xint:% -{% - 1#2\expandafter!\the\numexpr\XINT_geq_h #1% -}% -\def\XINT_geq_h #1#2#3!#4!% -{% - \xint_gob_til_Z #2\XINT_geq_hi \Z - \expandafter\XINT_geq_i\the\numexpr#1+1#4-#3-\xint_c_i\xint:% -}% -\def\XINT_geq_i 1#1#2\xint:% -{% - 1#2\expandafter!\the\numexpr\XINT_geq_a #1% -}% -\def\XINT_geq_bi\Z - \expandafter\XINT_geq_c\the\numexpr#1+1#2-#3\xint:#4!#5!#6!#7!#8!#9!\Z !\W -{% - \XINT_geq_k #1#2!#5!#7!#9!% -}% -\def\XINT_geq_di\Z - \expandafter\XINT_geq_e\the\numexpr#1+1#2-#3\xint:#4!#5!#6!#7!#8\W -{% - \XINT_geq_k #1#2!#5!#7!% -}% -\def\XINT_geq_fi\Z - \expandafter\XINT_geq_g\the\numexpr#1+1#2-#3\xint:#4!#5!#6\W -{% - \XINT_geq_k #1#2!#5!% -}% -\def\XINT_geq_hi\Z - \expandafter\XINT_geq_i\the\numexpr#1+1#2-#3\xint:#4\W -{% - \XINT_geq_k #1#2!% -}% -\def\XINT_geq_k #1#2\W -{% - \xint_UDzerofork - #1{-1\relax { 0}}% - 0{-1\relax { 1}}% - \krof -}% -\def\XINT_geq_w #1-1#2{#2}% +\def\XINT_geq_minusminus --{\XINT_geq_plusplus {}{}}% +\def\XINT_geq_plusplus + {\expandafter\XINT_geq_finish\romannumeral0\XINT_cmp_plusplus}% +\def\XINT_geq_finish #1{\if-#1\expandafter\XINT_geq_no + \else\expandafter\XINT_geq_yes\fi}% +\def\XINT_geq_no 1{ 0}% +\def\XINT_geq_yes { 1}% \def\xintiMax {\romannumeral0\xintimax }% \def\xintimax #1% {% - \expandafter\xint_max\expandafter {\romannumeral0\xintnum{#1}}% + \expandafter\xint_max\romannumeral0\xintnum{#1}\xint: }% -\def\xint_max #1#2% +\def\xint_max #1\xint:#2% {% - \expandafter\XINT_max_pre\expandafter {\romannumeral0\xintnum{#2}}{#1}% + \expandafter\XINT_max_fork\romannumeral0\xintnum{#2}\xint:#1\xint: }% \def\xintiiMax {\romannumeral0\xintiimax }% \def\xintiimax #1% {% - \expandafter\xint_iimax\expandafter {\romannumeral`&&@#1}% + \expandafter\xint_iimax \romannumeral`&&@#1\xint: }% -\def\xint_iimax #1#2% +\def\xint_iimax #1\xint:#2% {% - \expandafter\XINT_max_pre\expandafter {\romannumeral`&&@#2}{#1}% + \expandafter\XINT_max_fork\romannumeral`&&@#2\xint:#1\xint: }% -\def\XINT_max_pre #1#2{\XINT_max_fork #1\Z #2\Z {#2}{#1}}% -\def\XINT_Max #1#2{\romannumeral0\XINT_max_fork #2\Z #1\Z {#1}{#2}}% -\def\XINT_max_fork #1#2\Z #3#4\Z +\def\XINT_max_fork #1#2\xint:#3#4\xint: {% \xint_UDsignsfork #1#3\XINT_max_minusminus % A < 0, B < 0 - #1-\XINT_max_minusplus % B < 0, A >= 0 - #3-\XINT_max_plusminus % A < 0, B >= 0 + #1-\XINT_max_plusminus % B < 0, A >= 0 + #3-\XINT_max_minusplus % A < 0, B >= 0 --{\xint_UDzerosfork #1#3\XINT_max_zerozero % A = B = 0 - #10\XINT_max_zeroplus % B = 0, A > 0 - #30\XINT_max_pluszero % A = 0, B > 0 + #10\XINT_max_pluszero % B = 0, A > 0 + #30\XINT_max_zeroplus % A = 0, B > 0 00\XINT_max_plusplus % A, B > 0 \krof }% \krof - {#2}{#4}#1#3% -}% -\def\XINT_max_zerozero #1#2#3#4{\xint_firstoftwo_thenstop }% -\def\XINT_max_zeroplus #1#2#3#4{\xint_firstoftwo_thenstop }% -\def\XINT_max_pluszero #1#2#3#4{\xint_secondoftwo_thenstop }% -\def\XINT_max_minusplus #1#2#3#4{\xint_firstoftwo_thenstop }% -\def\XINT_max_plusminus #1#2#3#4{\xint_secondoftwo_thenstop }% -\def\XINT_max_plusplus #1#2#3#4% -{% - \ifodd\XINT_Geq {#4#2}{#3#1} + #3#1#2\xint:#4\xint: \expandafter\xint_firstoftwo_thenstop \else \expandafter\xint_secondoftwo_thenstop \fi + {#3#4}{#1#2}% }% -\def\XINT_max_minusminus #1#2#3#4% +\def\XINT_max_zerozero #1\fi{\xint_firstoftwo_thenstop }% +\def\XINT_max_zeroplus #1\fi{\xint_secondoftwo_thenstop }% +\def\XINT_max_pluszero #1\fi{\xint_firstoftwo_thenstop }% +\def\XINT_max_minusplus #1\fi{\xint_secondoftwo_thenstop }% +\def\XINT_max_plusminus #1\fi{\xint_firstoftwo_thenstop }% +\def\XINT_max_plusplus {% - \ifodd\XINT_Geq {#1}{#2} - \expandafter\xint_firstoftwo_thenstop - \else - \expandafter\xint_secondoftwo_thenstop - \fi + \if1\romannumeral0\XINT_geq_plusplus +}% +\def\XINT_max_minusminus --% +{% + \unless\if1\romannumeral0\XINT_geq_plusplus{}{}% }% \def\xintiMaxof {\romannumeral0\xintimaxof }% \def\xintimaxof #1{\expandafter\XINT_imaxof_a\romannumeral`&&@#1\xint:}% @@ -606,58 +494,53 @@ \def\xintiMin {\romannumeral0\xintimin }% \def\xintimin #1% {% - \expandafter\xint_min\expandafter {\romannumeral0\xintnum{#1}}% + \expandafter\xint_min\romannumeral0\xintnum{#1}\xint: }% -\def\xint_min #1#2% +\def\xint_min #1\xint:#2% {% - \expandafter\XINT_min_pre\expandafter {\romannumeral0\xintnum{#2}}{#1}% + \expandafter\XINT_min_fork\romannumeral0\xintnum{#2}\xint:#1\xint: }% \def\xintiiMin {\romannumeral0\xintiimin }% \def\xintiimin #1% {% - \expandafter\xint_iimin\expandafter {\romannumeral`&&@#1}% + \expandafter\xint_iimin \romannumeral`&&@#1\xint: }% -\def\xint_iimin #1#2% +\def\xint_iimin #1\xint:#2% {% - \expandafter\XINT_min_pre\expandafter {\romannumeral`&&@#2}{#1}% + \expandafter\XINT_min_fork\romannumeral`&&@#2\xint:#1\xint: }% -\def\XINT_min_pre #1#2{\XINT_min_fork #1\Z #2\Z {#2}{#1}}% -\def\XINT_Min #1#2{\romannumeral0\XINT_min_fork #2\Z #1\Z {#1}{#2}}% -\def\XINT_min_fork #1#2\Z #3#4\Z +\def\XINT_min_fork #1#2\xint:#3#4\xint: {% \xint_UDsignsfork #1#3\XINT_min_minusminus % A < 0, B < 0 - #1-\XINT_min_minusplus % B < 0, A >= 0 - #3-\XINT_min_plusminus % A < 0, B >= 0 + #1-\XINT_min_plusminus % B < 0, A >= 0 + #3-\XINT_min_minusplus % A < 0, B >= 0 --{\xint_UDzerosfork #1#3\XINT_min_zerozero % A = B = 0 - #10\XINT_min_zeroplus % B = 0, A > 0 - #30\XINT_min_pluszero % A = 0, B > 0 + #10\XINT_min_pluszero % B = 0, A > 0 + #30\XINT_min_zeroplus % A = 0, B > 0 00\XINT_min_plusplus % A, B > 0 \krof }% \krof - {#2}{#4}#1#3% -}% -\def\XINT_min_zerozero #1#2#3#4{\xint_firstoftwo_thenstop }% -\def\XINT_min_zeroplus #1#2#3#4{\xint_secondoftwo_thenstop }% -\def\XINT_min_pluszero #1#2#3#4{\xint_firstoftwo_thenstop }% -\def\XINT_min_minusplus #1#2#3#4{\xint_secondoftwo_thenstop }% -\def\XINT_min_plusminus #1#2#3#4{\xint_firstoftwo_thenstop }% -\def\XINT_min_plusplus #1#2#3#4% -{% - \ifodd\XINT_Geq {#4#2}{#3#1} + #3#1#2\xint:#4\xint: \expandafter\xint_secondoftwo_thenstop \else \expandafter\xint_firstoftwo_thenstop \fi + {#3#4}{#1#2}% }% -\def\XINT_min_minusminus #1#2#3#4% +\def\XINT_min_zerozero #1\fi{\xint_firstoftwo_thenstop }% +\def\XINT_min_zeroplus #1\fi{\xint_firstoftwo_thenstop }% +\def\XINT_min_pluszero #1\fi{\xint_secondoftwo_thenstop }% +\def\XINT_min_minusplus #1\fi{\xint_firstoftwo_thenstop }% +\def\XINT_min_plusminus #1\fi{\xint_secondoftwo_thenstop }% +\def\XINT_min_plusplus {% - \ifodd\XINT_Geq {#1}{#2} - \expandafter\xint_secondoftwo_thenstop - \else - \expandafter\xint_firstoftwo_thenstop - \fi + \if1\romannumeral0\XINT_geq_plusplus +}% +\def\XINT_min_minusminus --% +{% + \unless\if1\romannumeral0\XINT_geq_plusplus{}{}% }% \def\xintiMinof {\romannumeral0\xintiminof }% \def\xintiminof #1{\expandafter\XINT_iminof_a\romannumeral`&&@#1\xint:}% diff --git a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty index bdbc76c5089..7cf6463d960 100644 --- a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty +++ b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.2l 2017/07/26 +%% The xint bundle 1.2m 2017/07/31 %% Copyright (C) 2013-2017 by Jean-Francois Burnol %% xintbinhex: Expandable binary and hexadecimal conversions %% --------------------------------------------------------------- @@ -70,71 +70,47 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintbinhex}% - [2017/07/26 1.2l Expandable binary and hexadecimal conversions (JFB)]% -\def\xint_cleanupzeros_andstop#1{% -\def\xint_cleanupzeros_andstop ##1##2##3##4% -{% - \expandafter#1\the\numexpr ##1##2##3##4\relax -}}\xint_cleanupzeros_andstop{ }% + [2017/07/31 1.2m Expandable binary and hexadecimal conversions (JFB)]% \newcount\xint_c_ii^xv \xint_c_ii^xv 32768 \newcount\xint_c_ii^xvi \xint_c_ii^xvi 65536 \newcount\xint_c_x^v \xint_c_x^v 100000 \def\XINT_tmpa #1{\ifx\relax#1\else \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}% + 8\or 9\or A\or B\or C\or D\or E\or F\else\space\fi}% \expandafter\XINT_tmpa\fi }% -\XINT_tmpa {0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}\relax +\XINT_tmpa {-1}{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}\relax \def\XINT_tmpa #1{\ifx\relax#1\else \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}% + 1000\or 1001\or 1010\or 1011\or 1100\or 1101\or 1110\or 1111\else\space\fi}% \expandafter\XINT_tmpa\fi }% -\XINT_tmpa {0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}\relax +\XINT_tmpa {-1}{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}\relax \let\XINT_tmpa\relax -\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_0000\endcsname {0}% +\expandafter\def\csname XINT_sbth_0001\endcsname {1}% +\expandafter\def\csname XINT_sbth_0010\endcsname {2}% +\expandafter\def\csname XINT_sbth_0011\endcsname {3}% +\expandafter\def\csname XINT_sbth_0100\endcsname {4}% +\expandafter\def\csname XINT_sbth_0101\endcsname {5}% +\expandafter\def\csname XINT_sbth_0110\endcsname {6}% +\expandafter\def\csname XINT_sbth_0111\endcsname {7}% +\expandafter\def\csname XINT_sbth_1000\endcsname {8}% +\expandafter\def\csname XINT_sbth_1001\endcsname {9}% +\expandafter\def\csname XINT_sbth_1010\endcsname {10}% +\expandafter\def\csname XINT_sbth_1011\endcsname {11}% +\expandafter\def\csname XINT_sbth_1100\endcsname {12}% +\expandafter\def\csname XINT_sbth_1101\endcsname {13}% +\expandafter\def\csname XINT_sbth_1110\endcsname {14}% +\expandafter\def\csname XINT_sbth_1111\endcsname {15}% \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}% +\let\XINT_sbth_none \empty \expandafter\def\csname XINT_shtb_0\endcsname {0000}% \expandafter\def\csname XINT_shtb_1\endcsname {0001}% \expandafter\def\csname XINT_shtb_2\endcsname {0010}% @@ -151,516 +127,471 @@ \def\XINT_shtb_D {1101}% \def\XINT_shtb_E {1110}% \def\XINT_shtb_F {1111}% -\def\XINT_shtb_G {}% -\def\XINT_smallhex #1% +\let\XINT_shtb_none \empty +\def\XINT_smallhex #1!% {% - \expandafter\XINT_smallhex_a\expandafter - {\the\numexpr (#1+\xint_c_viii)/\xint_c_xvi-\xint_c_i}{#1}% + \expandafter\XINT_smallhex_a + \the\numexpr (#1+\xint_c_viii)/\xint_c_xvi-\xint_c_i\xint:#1\xint: }% -\def\XINT_smallhex_a #1#2% +\def\XINT_smallhex_a #1\xint:#2\xint: {% \csname XINT_sdth_#1\expandafter\expandafter\expandafter\endcsname - \csname XINT_sdth_\the\numexpr #2-\xint_c_xvi*#1\endcsname + \csname XINT_sdth_\the\numexpr #2-\xint_c_xvi*#1\relax\expandafter\endcsname + \romannumeral`&&@% }% -\def\XINT_smallbin #1% +\def\XINT_smallbin #1!% {% - \expandafter\XINT_smallbin_a\expandafter - {\the\numexpr (#1+\xint_c_viii)/\xint_c_xvi-\xint_c_i}{#1}% + \expandafter\XINT_smallbin_a + \the\numexpr (#1+\xint_c_viii)/\xint_c_xvi-\xint_c_i\xint:#1\xint: }% -\def\XINT_smallbin_a #1#2% +\def\XINT_smallbin_a #1\xint:#2\xint: {% \csname XINT_sdtb_#1\expandafter\expandafter\expandafter\endcsname - \csname XINT_sdtb_\the\numexpr #2-\xint_c_xvi*#1\endcsname + \csname XINT_sdtb_\the\numexpr #2-\xint_c_xvi*#1\relax\expandafter\endcsname + \romannumeral`&&@% }% -\def\XINT_OQ #1#2#3#4#5#6#7#8#9% +\def\xintDecToHex {\romannumeral0\xintdectohex }% +\def\xintdectohex #1% {% - \xint_gob_til_R #9\XINT_OQ_end_a\R\XINT_OQ {#9#8#7#6#5#4#3#2#1}% + \expandafter\XINT_dth_checkin\romannumeral`&&@#1\xint: }% -\def\XINT_OQ_end_a\R\XINT_OQ #1#2\Z +\def\XINT_dth_checkin #1% {% - \XINT_OQ_end_b #1\Z + \xint_UDsignfork + #1\XINT_dth_neg + -{\XINT_dth_main #1}% + \krof }% -\def\XINT_OQ_end_b #1#2#3#4#5#6#7#8% +\def\XINT_dth_neg {\expandafter-\romannumeral0\XINT_dth_main}% +\def\XINT_dth_main #1\xint: {% - \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% + \expandafter\XINT_dth_start + \romannumeral0\XINT_zeroes_foriv + #1\R{0\R}{00\R}{000\R}\R{0\R}{00\R}{000\R}\R\W + #1\xint_bye\xint_bye\XINT_dthb_final_a!2!3!4!5!6!7!8!9!\W }% -\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\xintDecToHex {\romannumeral0\xintdectohex }% -\def\xintdectohex #1% - {\expandafter\XINT_dth_checkin\romannumeral`&&@#1\W\W\W\W \T}% -\def\XINT_dth_checkin #1% +\def\XINT_dth_start #1#2#3#4#5% {% - \xint_UDsignfork - #1\XINT_dth_N - -{\XINT_dth_P #1}% - \krof + \xint_bye#5\XINT_dth_small\xint_bye + \XINT_dth_start_a #1#2#3#4#5% }% -\def\XINT_dth_N {\expandafter-\romannumeral0\XINT_dth_P }% -\def\XINT_dth_P {\expandafter\XINT_dth_III\romannumeral`&&@\XINT_dtbh_I {0.}}% -\def\xintDecToBin {\romannumeral0\xintdectobin }% -\def\xintdectobin #1% - {\expandafter\XINT_dtb_checkin\romannumeral`&&@#1\W\W\W\W \T }% -\def\XINT_dtb_checkin #1% +\def\XINT_dth_start_a #1#2#3#4#5% {% - \xint_UDsignfork - #1\XINT_dtb_N - -{\XINT_dtb_P #1}% - \krof + \expandafter\XINT_dth_A\the\numexpr\XINT_dth_a + #1#2#3#4\XINT_dth_nextfour!2!3!4!5!6!7!8!9!\Z #5% }% -\def\XINT_dtb_N {\expandafter-\romannumeral0\XINT_dtb_P }% -\def\XINT_dtb_P {\expandafter\XINT_dtb_III\romannumeral`&&@\XINT_dtbh_I {0.}}% -\def\XINT_dtbh_I #1#2#3#4#5% +\def\XINT_dth_small\xint_bye\XINT_dth_start_a #1\xint_bye #2\W {% - \xint_gob_til_W #5\XINT_dtbh_II_a\W\XINT_dtbh_I_a {}{#2#3#4#5}#1\Z.% + \expandafter\XINT_dth_B_finish + \romannumeral`&&@\XINT_tofourhex#1!\space }% -\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% +\def\XINT_dth_a #1!#2!#3!#4!#5!#6!#7!#8!#9!% {% - \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% + \expandafter\XINT_dth_update + \the\numexpr #1\expandafter\XINT_dth_update + \the\numexpr #2\expandafter\XINT_dth_update + \the\numexpr #3\expandafter\XINT_dth_update + \the\numexpr #4\expandafter\XINT_dth_update + \the\numexpr #5\expandafter\XINT_dth_update + \the\numexpr #6\expandafter\XINT_dth_update + \the\numexpr #7\expandafter\XINT_dth_update + \the\numexpr #8\expandafter\XINT_dth_update + \the\numexpr #9\XINT_dth_a }% -\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.% +\def\XINT_dth_nextfour #1\Z #2#3#4#5% {% - \xint_gob_til_Z #3\XINT_dtbh_I_z\Z - \expandafter\XINT_dtbh_I_b\the\numexpr #2+#30000.{#1}% + #2#3#4#5!\relax\XINT_dth_nextfour!2!3!4!5!6!7!8!9!\Z }% -\def\XINT_dtbh_I_b #1.% +\def\XINT_dth_update #1!% {% - \expandafter\XINT_dtbh_I_c\the\numexpr - (#1+\xint_c_ii^xv)/\xint_c_ii^xvi-\xint_c_i.#1.% + \expandafter\XINT_dth_update_a + \the\numexpr (#1+\xint_c_ii^xv)/\xint_c_ii^xvi-\xint_c_i\xint: + #1\xint:% }% -\def\XINT_dtbh_I_c #1.#2.% +\def\XINT_dth_update_a #1\xint:#2\xint: {% - \expandafter\XINT_dtbh_I_d\expandafter - {\the\numexpr #2-\xint_c_ii^xvi*#1}{#1}% + 0000+#1\expandafter!\expandafter!\the\numexpr#2-#1*\xint_c_ii^xvi }% -\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.% +\def\XINT_dth_A #1!!% {% - \ifnum #1=\xint_c_ \expandafter\XINT_dtbh_I_end_zb\fi - \XINT_dtbh_I_end_za {#1}% + \ifnum #1>\xint_c_ \xint_dothis{\XINT_dth_again #1!}\fi + \xint_orthat{\XINT_dth_again}% }% -\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.% +\def\XINT_dth_again #1\Z #2% {% - \xint_gob_til_Z #4\XINT_dtbh_II_z\Z - \expandafter\XINT_dtbh_II_e\the\numexpr #2+#4#3.{#1}{#3}% + \xint_bye #2\XINT_dth_B_a\xint_bye + \expandafter\XINT_dth_A\the\numexpr\XINT_dth_a #1\Z #2% }% -\def\XINT_dtbh_II_e #1.% +\def\XINT_dth_B_a\xint_bye + \expandafter\XINT_dth_A\the\numexpr\XINT_dth_a #1\XINT_dth_nextfour #2\Z {% - \expandafter\XINT_dtbh_II_f\the\numexpr - (#1+\xint_c_ii^xv)/\xint_c_ii^xvi-\xint_c_i.#1.% + \expandafter\XINT_dth_B_finish\romannumeral`&&@\XINT_dth_B_c #1!% }% -\def\XINT_dtbh_II_f #1.#2.% +\def\XINT_dth_B_c #1!#2!#3!#4!#5!#6!#7!#8!#9!% {% - \expandafter\XINT_dtbh_II_g\expandafter - {\the\numexpr #2-\xint_c_ii^xvi*#1}{#1}% + \XINT_tofourhex#1!% + \XINT_tofourhex#2!% + \XINT_tofourhex#3!% + \XINT_tofourhex#4!% + \XINT_tofourhex#5!% + \XINT_tofourhex#6!% + \XINT_tofourhex#7!% + \XINT_tofourhex#8!% + \XINT_tofourhex#9!% + \XINT_dth_B_c }% -\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.% +\def\XINT_tofourhex #1!% {% - \ifnum #1=\xint_c_ \expandafter\XINT_dtbh_II_end_zb\fi - \XINT_dtbh_II_end_za {#1}% + \expandafter\XINT_tofourhex_a + \the\numexpr (#1+\xint_c_ii^vii)/\xint_c_ii^viii-\xint_c_i\xint: #1\xint: }% -\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.% +\def\XINT_tofourhex_a #1\xint: #2\xint: {% - \xint_gob_til_Z #2\XINT_dth_end\Z - \expandafter\XINT_dth_III\expandafter - {\romannumeral`&&@\XINT_dth_small #2.#1}% + \expandafter\XINT_tofourhex_b + \the\numexpr #2-\xint_c_ii^viii*#1\xint:#1\xint: }% -\def\XINT_dth_small #1.% +\def\XINT_tofourhex_b #1\xint: #2\xint: {% - \expandafter\XINT_smallhex\expandafter - {\the\numexpr (#1+\xint_c_ii^vii)/\xint_c_ii^viii-\xint_c_i\expandafter}% - \romannumeral`&&@\expandafter\XINT_smallhex\expandafter - {\the\numexpr - #1-((#1+\xint_c_ii^vii)/\xint_c_ii^viii-\xint_c_i)*\xint_c_ii^viii}% + \XINT_smallhex #2!% + \XINT_smallhex #1!% }% -\def\XINT_dth_end\Z\expandafter\XINT_dth_III\expandafter #1#2\T +\def\XINT_dthb_final_a #1\W{1)\relax \xint:\XINT_dthb_final_b\xint:\W}% +\def\XINT_dthb_final_b #1\W{1\relax \xint:\XINT_dthb_final_c\xint:\W}% +\def\XINT_dthb_final_c #1\W{-1)\relax \XINT_dthb_final_d\xint:\xint:\W}% +\def\XINT_dthb_final_d #1\W{\endcsname}% +\def\XINT_dth_B_finish #1#2#3% {% - \XINT_dth_end_b #1% + \unless\if#10\xint_dothis{ #1#2#3}\fi + \unless\if#20\xint_dothis{ #2#3}\fi + \unless\if#30\xint_dothis{ #3}\fi + \xint_orthat{ }% }% -\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% +\def\xintDecToBin {\romannumeral0\xintdectobin }% +\def\xintdectobin #1% {% - \xint_gob_til_zero #1\XINT_dth_end_e 0\space #1% + \expandafter\XINT_dtb_checkin\romannumeral`&&@#1\xint: }% -\def\XINT_dth_end_e 0\space 0#1% +\def\XINT_dtb_checkin #1% {% - \xint_gob_til_zero #1\XINT_dth_end_f 0\space #1% + \xint_UDsignfork + #1\XINT_dtb_neg + -{\XINT_dtb_main #1}% + \krof }% -\def\XINT_dth_end_f 0\space 0{ }% -\def\XINT_dtb_III #1#2.% +\def\XINT_dtb_neg {\expandafter-\romannumeral0\XINT_dtb_main}% +\def\XINT_dtb_main #1\xint: {% - \xint_gob_til_Z #2\XINT_dtb_end\Z - \expandafter\XINT_dtb_III\expandafter - {\romannumeral`&&@\XINT_dtb_small #2.#1}% + \expandafter\XINT_dtb_start + \romannumeral0\XINT_zeroes_foriv + #1\R{0\R}{00\R}{000\R}\R{0\R}{00\R}{000\R}\R\W + #1\xint_bye\xint_bye\XINT_dthb_final_a!2!3!4!5!6!7!8!9!\W }% -\def\XINT_dtb_small #1.% +\def\XINT_dtb_start #1#2#3#4#5% {% - \expandafter\XINT_smallbin\expandafter - {\the\numexpr (#1+\xint_c_ii^vii)/\xint_c_ii^viii-\xint_c_i\expandafter}% - \romannumeral`&&@\expandafter\XINT_smallbin\expandafter - {\the\numexpr - #1-((#1+\xint_c_ii^vii)/\xint_c_ii^viii-\xint_c_i)*\xint_c_ii^viii}% + \xint_bye#5\XINT_dtb_small\xint_bye + \XINT_dtb_start_a #1#2#3#4#5% }% -\def\XINT_dtb_end\Z\expandafter\XINT_dtb_III\expandafter #1#2\T +\def\XINT_dtb_start_a #1#2#3#4#5% {% - \XINT_dtb_end_b #1% + \expandafter\XINT_dtb_A\the\numexpr\XINT_dtb_a + #1#2#3#4\XINT_dtb_nextfour!2!3!4!5!6!7!8!9!\Z #5% }% -\def\XINT_dtb_end_b #1.{\XINT_dtb_end_c }% -\def\XINT_dtb_end_c #1#2#3#4#5#6#7#8% +\def\XINT_dtb_small\xint_bye\XINT_dtb_start_a #1\xint_bye #2\W {% - \expandafter\XINT_dtb_end_d\the\numexpr #1#2#3#4#5#6#7#8\relax + \expandafter\XINT_dtb_B_finish + \romannumeral`&&@\XINT_tosixteenbits#1!\space }% -\def\XINT_dtb_end_d#1{% -\def\XINT_dtb_end_d ##1##2##3##4##5##6##7##8##9% +\def\XINT_dtb_a #1!#2!#3!#4!#5!#6!#7!#8!#9!% {% - \expandafter#1\the\numexpr ##1##2##3##4##5##6##7##8##9\relax -}}\XINT_dtb_end_d{ }% -\def\xintHexToDec {\romannumeral0\xinthextodec }% -\def\xinthextodec #1% - {\expandafter\XINT_htd_checkin\romannumeral`&&@#1\W\W\W\W \T }% -\def\XINT_htd_checkin #1% + \expandafter\XINT_dtb_update + \the\numexpr #1\expandafter\XINT_dtb_update + \the\numexpr #2\expandafter\XINT_dtb_update + \the\numexpr #3\expandafter\XINT_dtb_update + \the\numexpr #4\expandafter\XINT_dtb_update + \the\numexpr #5\expandafter\XINT_dtb_update + \the\numexpr #6\expandafter\XINT_dtb_update + \the\numexpr #7\expandafter\XINT_dtb_update + \the\numexpr #8\expandafter\XINT_dtb_update + \the\numexpr #9\XINT_dtb_a +}% +\def\XINT_dtb_nextfour #1\Z #2#3#4#5% {% - \xint_UDsignfork - #1\XINT_htd_neg - -{\XINT_htd_I {0000}#1}% - \krof + #2#3#4#5!\relax\XINT_dtb_nextfour!2!3!4!5!6!7!8!9!\Z }% -\def\XINT_htd_neg {\expandafter-\romannumeral0\XINT_htd_I {0000}}% -\def\XINT_htd_I #1#2#3#4#5% +\def\XINT_dtb_update #1!% {% - \xint_gob_til_W #5\XINT_htd_II_a\W - \XINT_htd_I_a {}{"#2#3#4#5}#1\Z\Z\Z\Z + \expandafter\XINT_dtb_update_a + \the\numexpr (#1+\xint_c_ii^xv)/\xint_c_ii^xvi-\xint_c_i\xint: + #1\xint:% }% -\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% +\def\XINT_dtb_update_a #1\xint:#2\xint: {% - \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% + 0000+#1\expandafter!\expandafter!\the\numexpr#2-#1*\xint_c_ii^xvi }% -\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 +\def\XINT_dtb_A #1!!% {% - \expandafter\xint_cleanupzeros_andstop - \romannumeral0\XINT_rord_main {}#1% - \xint: - \xint_bye\xint_bye\xint_bye\xint_bye - \xint_bye\xint_bye\xint_bye\xint_bye - \xint: + \ifnum #1>\xint_c_ \xint_dothis{\XINT_dtb_again #1!}\fi + \xint_orthat{\XINT_dtb_again}% }% -\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% +\def\XINT_dtb_again #1\Z #2% {% - \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}% + \xint_bye #2\XINT_dtb_B_a\xint_bye + \expandafter\XINT_dtb_A\the\numexpr\XINT_dtb_a #1\Z #2% }% -\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 +\def\XINT_dtb_B_a\xint_bye + \expandafter\XINT_dtb_A\the\numexpr\XINT_dtb_a #1\XINT_dtb_nextfour #2\Z {% - \expandafter\XINT_htd_I_end_b\the\numexpr \xint_c_x^v+#1\relax + \expandafter\XINT_dtb_B_finish\romannumeral`&&@\XINT_dtb_B_c #1!% }% -\def\XINT_htd_I_end_b 1#1#2#3#4#5% +\def\XINT_dtb_B_c #1!#2!#3!#4!#5!#6!#7!#8!#9!% {% - \xint_gob_til_zero #1\XINT_htd_I_end_bz0% - \XINT_htd_I_end_c #1#2#3#4#5% + \XINT_tosixteenbits#1!% + \XINT_tosixteenbits#2!% + \XINT_tosixteenbits#3!% + \XINT_tosixteenbits#4!% + \XINT_tosixteenbits#5!% + \XINT_tosixteenbits#6!% + \XINT_tosixteenbits#7!% + \XINT_tosixteenbits#8!% + \XINT_tosixteenbits#9!% + \XINT_dtb_B_c }% -\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% +\def\XINT_tosixteenbits #1!% {% - \xint_gob_til_zeros_iv #1#2#3#4\XINT_htd_I_end_bzz 0000% - \XINT_htd_I_end_D {#4#3#2#1}% + \expandafter\XINT_tosixteenbits_a + \the\numexpr (#1+\xint_c_ii^vii)/\xint_c_ii^viii-\xint_c_i\xint: #1\xint: }% -\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% +\def\XINT_tosixteenbits_a #1\xint: #2\xint: {% - \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}% + \expandafter\XINT_tosixteenbits_b + \the\numexpr #2-\xint_c_ii^viii*#1\xint:#1\xint: }% -\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 +\def\XINT_tosixteenbits_b #1\xint: #2\xint: {% - \XINT_htd_II_end_b #1#3% + \XINT_smallbin #2!% + \XINT_smallbin #1!% }% -\def\XINT_htd_II_end_b#1{% -\def\XINT_htd_II_end_b ##1##2##3##4##5##6##7##8% +\def\XINT_dtb_B_finish #1#2#3#4#5#6#7#8% {% - \expandafter#1\the\numexpr ##1##2##3##4##5##6##7##8\relax -}}\XINT_htd_II_end_b{ }% -\def\xintBinToDec {\romannumeral0\xintbintodec }% -\def\xintbintodec #1{\expandafter\XINT_btd_checkin - \romannumeral`&&@#1\W\W\W\W\W\W\W\W \T }% -\def\XINT_btd_checkin #1% + \expandafter\XINT_dtb_B_finish_a\the\numexpr #1#2#3#4#5#6#7#8\relax +}% +\def\XINT_dtb_B_finish_a #1{% +\def\XINT_dtb_B_finish_a ##1##2##3##4##5##6##7##8##9% +{% + \expandafter#1\the\numexpr ##1##2##3##4##5##6##7##8##9\relax +}}\XINT_dtb_B_finish_a { }% +\def\xintHexToDec {\romannumeral0\xinthextodec }% +\def\xinthextodec #1% +{% + \expandafter\XINT_htd_checkin\romannumeral`&&@#1\xint: +}% +\def\XINT_htd_checkin #1% {% \xint_UDsignfork - #1\XINT_btd_neg - -{\XINT_btd_I {000000}#1}% + #1\XINT_htd_neg + -{\XINT_htd_main #1}% \krof }% -\def\XINT_btd_neg {\expandafter-\romannumeral0\XINT_btd_I {000000}}% -\def\XINT_btd_I #1#2#3#4#5#6#7#8#9% +\def\XINT_htd_neg {\expandafter-\romannumeral0\XINT_htd_main}% +\def\XINT_htd_main #1\xint: {% - \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 + \expandafter\XINT_htd_startb + \the\numexpr\expandafter\XINT_htd_starta + \romannumeral0\XINT_zeroes_foriv + #1\R{0\R}{00\R}{000\R}\R{0\R}{00\R}{000\R}\R\W + #1\xint_bye!2!3!4!5!6!7!8!9!\xint_bye\relax }% -\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% +\def\XINT_htd_starta #1#2#3#4{"#1#2#3#4+100000!}% +\def\XINT_htd_startb 1#1% {% - \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% + \if#10\expandafter\XINT_htd_startba\else + \expandafter\XINT_htd_startbb + \fi 1#1% }% -\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 +\def\XINT_htd_startba 10#1!{\XINT_htd_again #1% + \xint_bye!2!3!4!5!6!7!8!9!\xint_bye\XINT_htd_nextfour}% +\def\XINT_htd_startbb 1#1#2!{\XINT_htd_again #1!#2% + \xint_bye!2!3!4!5!6!7!8!9!\xint_bye\XINT_htd_nextfour}% +\def\XINT_htd_again #1\XINT_htd_nextfour #2% {% - \expandafter\XINT_btd_II_c_end - \romannumeral0\XINT_rord_main {}#2% - \xint: - \xint_bye\xint_bye\xint_bye\xint_bye - \xint_bye\xint_bye\xint_bye\xint_bye - \xint: + \xint_bye #2\XINT_htd_end_a\xint_bye + \expandafter\XINT_htd_A\the\numexpr + \XINT_htd_a #1\XINT_htd_nextfour #2% }% -\def\XINT_btd_II_c_end#1{% -\def\XINT_btd_II_c_end ##1##2##3##4##5##6% +\def\XINT_htd_a #1!#2!#3!#4!#5!#6!#7!#8!#9!% {% - \expandafter#1\the\numexpr ##1##2##3##4##5##6\relax -}}\XINT_btd_II_c_end{ }% -\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 + #1\expandafter\XINT_htd_update + \the\numexpr #2\expandafter\XINT_htd_update + \the\numexpr #3\expandafter\XINT_htd_update + \the\numexpr #4\expandafter\XINT_htd_update + \the\numexpr #5\expandafter\XINT_htd_update + \the\numexpr #6\expandafter\XINT_htd_update + \the\numexpr #7\expandafter\XINT_htd_update + \the\numexpr #8\expandafter\XINT_htd_update + \the\numexpr #9\expandafter\XINT_htd_update + \the\numexpr \XINT_htd_a +}% +\def\XINT_htd_nextfour #1#2#3#4% {% - \XINT_btd_II_d {}{\csname XINT_sbtd_#2#3#4#5\endcsname*\xint_c_ii+% - #6}{\xint_c_ii^v }% + *\xint_c_ii^xvi+"#1#2#3#4+\xint_c_x^ix\relax\xint_bye!% + 2!3!4!5!6!7!8!9!\xint_bye\XINT_htd_nextfour }% -\def\XINT_btd_II_cvi #1\XINT_btd_II_cvii #2#3#4#5#6#7\W\W +\def\XINT_htd_update 1#1#2#3#4#5#6!% {% - \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 }% + *\xint_c_ii^xvi+#1#2#3#4#5+\xint_c_x^ix!#6!% }% -\def\XINT_btd_II_cvii #1#2#3#4#5#6#7\W +\def\XINT_htd_A 1#1% {% - \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 }% + \if#10\expandafter\XINT_htd_Aa\else + \expandafter\XINT_htd_Ab + \fi 1#1% }% -\def\XINT_btd_II_d #1#2#3#4#5#6#7#8#9% +\def\XINT_htd_Aa 10#1#2#3#4#5!{\XINT_htd_again #1#2#3#4!#5!}% +\def\XINT_htd_Ab 1#1#2#3#4#5#6!{\XINT_htd_again #1!#2#3#4#5!#6!}% +\def\XINT_htd_end_a\xint_bye + \expandafter\XINT_htd_A\the\numexpr \XINT_htd_a #1\XINT_htd_nextfour {% - \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}% + \expandafter\XINT_htd_end_b\the\numexpr0\XINT_unsepb_loop #1% }% -\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 +\def\XINT_htd_end_b #1{% +\def\XINT_htd_end_b ##1##2##3##4##5% + {\expandafter#1\the\numexpr ##1##2##3##4##5\relax}% +}\XINT_htd_end_b{ }% +\def\xintBinToDec {\romannumeral0\xintbintodec }% +\def\xintbintodec #1% {% - \XINT_btd_II_end_b #1#3% + \expandafter\XINT_btd_checkin\romannumeral`&&@#1\xint: }% -\def\XINT_btd_II_end_b#1{% -\def\XINT_btd_II_end_b ##1##2##3##4##5##6##7##8##9% +\def\XINT_btd_checkin #1% {% - \expandafter#1\the\numexpr ##1##2##3##4##5##6##7##8##9\relax -}}\XINT_btd_II_end_b{ }% -\def\XINT_btd_I_a #1#2#3#4#5#6#7#8% + \xint_UDsignfork + #1\XINT_btd_N + -{\XINT_btd_main #1}% + \krof +}% +\def\XINT_btd_N {\expandafter-\romannumeral0\XINT_btd_main }% +\def\XINT_btd_main #1\xint: {% - \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}% + \expandafter\XINT_btd_htd + \csname\expandafter\XINT_btd_tohex + \romannumeral0\XINT_zeroes_foriv + #1\R{0\R}{00\R}{000\R}\R{0\R}{00\R}{000\R}\R\W + #1\XINT_btd_tohex_endcsname2345678\W }% -\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 +\def\XINT_btd_tohex #1#2#3#4#5#6#7#8% {% - \expandafter\XINT_btd_I_end_b\the\numexpr 1000+#1\relax + XINT_sbth_#1#2#3#4\expandafter\endcsname + \csname XINT_sbth_#5#6#7#8\expandafter\endcsname + \csname\XINT_btd_tohex }% -\def\XINT_btd_I_end_b 1#1#2#3% +\def\XINT_btd_tohex_endcsname#1\W{none\endcsname}% +\def\XINT_btd_htd #1\XINT_sbth_none {% - \xint_gob_til_zeros_iii #1#2#3\XINT_btd_I_end_bz 000% - \XINT_btd_I_end_c #1#2#3% + \expandafter\XINT_htd_startb + \the\numexpr\expandafter\XINT_htd_starta + \romannumeral0\XINT_zeroes_foriv + #1\R{0\R}{00\R}{000\R}\R{0\R}{00\R}{000\R}\R\W + #1\xint_bye!2!3!4!5!6!7!8!9!\xint_bye\relax }% -\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_cleanup - \the\numexpr\expandafter\XINT_num_loop - \romannumeral`&&@#1\xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:\Z - \R\R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W\W + \expandafter\XINT_bth_checkin\romannumeral`&&@#1\xint: }% \def\XINT_bth_checkin #1% {% \xint_UDsignfork #1\XINT_bth_N - -{\XINT_bth_P #1}% + -{\XINT_bth_main #1}% \krof }% -\def\XINT_bth_N {\expandafter-\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% +\def\XINT_bth_N {\expandafter-\romannumeral0\XINT_bth_main }% +\def\XINT_bth_main #1{% +\def\XINT_bth_main ##1\xint: {% - \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% + \expandafter\expandafter\expandafter#1% + \csname\expandafter\XINT_bth_tohex + \romannumeral0\XINT_zeroes_foriv + ##1\R{0\R}{00\R}{000\R}\R{0\R}{00\R}{000\R}\R\W + ##1\XINT_bth_tohex_endcsname2345678\W +}}\XINT_bth_main{ }% +\def\XINT_bth_tohex #1#2#3#4#5#6#7#8% {% - \xint_gob_til_zero #3\XINT_bth_end_z 0\space #3% + XINT_sbth_#1#2#3#4\expandafter\expandafter\expandafter\endcsname + \csname XINT_sbth_#5#6#7#8\expandafter\expandafter\expandafter\endcsname + \csname\XINT_bth_tohex }% -\def\XINT_bth_end_z0\space 0{ }% +\def\XINT_bth_tohex_endcsname#1\W{none\endcsname}% \def\xintHexToBin {\romannumeral0\xinthextobin }% \def\xinthextobin #1% {% - \expandafter\XINT_htb_checkin\romannumeral`&&@#1GGGGGGGG\T + \expandafter\XINT_htb_checkin\romannumeral`&&@#1% + \xint_bye 23456789\xint_bye none\endcsname\relax }% \def\XINT_htb_checkin #1% {% \xint_UDsignfork #1\XINT_htb_N - -{\XINT_htb_P #1}% + -{\XINT_htb_main #1}% \krof }% -\def\XINT_htb_N {\expandafter-\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 -{% - \expandafter\XINT_num_cleanup - \the\numexpr\expandafter\XINT_num_loop #2#1% - \xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:\Z -}% +\def\XINT_htb_N {\expandafter-\romannumeral0\XINT_htb_main }% +\def\XINT_htb_main {\expandafter\XINT_htb_cuz\the\numexpr\XINT_htb_loop}% +\def\XINT_htb_loop #1#2#3#4#5#6#7#8#9% +{% + 1\csname XINT_shtb_#1\endcsname + \csname XINT_shtb_#2\endcsname + \expandafter\XINT_unsep_clean + \the\numexpr1\csname XINT_shtb_#3\endcsname + \csname XINT_shtb_#4\endcsname + \expandafter\XINT_unsep_clean + \the\numexpr1\csname XINT_shtb_#5\endcsname + \csname XINT_shtb_#6\endcsname + \expandafter\XINT_unsep_clean + \the\numexpr1\csname XINT_shtb_#7\endcsname + \csname XINT_shtb_#8\endcsname + \expandafter\XINT_unsep_clean + \the\numexpr1\csname XINT_shtb_#9\endcsname + \XINT_htb_loop_a +}% +\def\XINT_htb_loop_a #1#2#3#4#5#6#7#8#9% +{% + \csname XINT_shtb_#1\endcsname + \expandafter\XINT_unsep_clean + \the\numexpr1\csname XINT_shtb_#2\endcsname + \csname XINT_shtb_#3\endcsname + \expandafter\XINT_unsep_clean + \the\numexpr1\csname XINT_shtb_#4\endcsname + \csname XINT_shtb_#5\endcsname + \expandafter\XINT_unsep_clean + \the\numexpr1\csname XINT_shtb_#6\endcsname + \csname XINT_shtb_#7\endcsname + \expandafter\XINT_unsep_clean + \the\numexpr1\csname XINT_shtb_#8\endcsname + \csname XINT_shtb_#9\endcsname + \expandafter\XINT_unsep_clean + \the\numexpr\XINT_htb_loop +}% +\def\XINT_htb_cuz #1{% +\def\XINT_htb_cuz 1##1##2##3##4% + {\expandafter#1\the\numexpr##1##2##3##4\relax}% +}\XINT_htb_cuz { }% \def\xintCHexToBin {\romannumeral0\xintchextobin }% \def\xintchextobin #1% {% \expandafter\XINT_chtb_checkin\romannumeral`&&@#1% - \R\R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W\W + \xint_bye 23456789\xint_bye none\endcsname\relax }% \def\XINT_chtb_checkin #1% {% \xint_UDsignfork #1\XINT_chtb_N - -{\XINT_chtb_P #1}% + -{\XINT_chtb_main #1}% \krof }% -\def\XINT_chtb_N {\expandafter-\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:\xint:\xint:\xint:\xint:\xint:\xint:\xint:\xint:\Z -}% -\def\XINT_chtb_end_b #1\W#2\W#3\W#4\W#5\W#6\W#7\W#8\W\endcsname -{% - \expandafter\XINT_num_cleanup - \the\numexpr\expandafter\XINT_num_loop -}% +\def\XINT_chtb_N {\expandafter-\romannumeral0\XINT_chtb_main }% +\def\XINT_chtb_main + {\expandafter\xint_gobble_thenstop\the\numexpr\XINT_htb_loop}% \XINT_restorecatcodes_endinput% \endinput %% diff --git a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty index 244f3fa5cff..de079d94c89 100644 --- a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty +++ b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.2l 2017/07/26 +%% The xint bundle 1.2m 2017/07/31 %% Copyright (C) 2013-2017 by Jean-Francois Burnol %% xintcfrac: Expandable continued fractions with xint package %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintcfrac}% - [2017/07/26 1.2l Expandable continued fractions with xint package (JFB)]% + [2017/07/31 1.2m Expandable continued fractions with xint package (JFB)]% \def\xintCFrac {\romannumeral0\xintcfrac }% \def\xintcfrac #1% {% diff --git a/Master/texmf-dist/tex/generic/xint/xintcore.sty b/Master/texmf-dist/tex/generic/xint/xintcore.sty index 96b159fb997..5c2950f160c 100644 --- a/Master/texmf-dist/tex/generic/xint/xintcore.sty +++ b/Master/texmf-dist/tex/generic/xint/xintcore.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.2l 2017/07/26 +%% The xint bundle 1.2m 2017/07/31 %% Copyright (C) 2013-2017 by Jean-Francois Burnol %% xintcore: Expandable arithmetic on big integers %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintcore}% - [2017/07/26 1.2l Expandable arithmetic on big integers (JFB)]% + [2017/07/31 1.2m Expandable arithmetic on big integers (JFB)]% \csname XINT_Clamped_istrapped\endcsname \csname XINT_ConversionSyntax_istrapped\endcsname \csname XINT_DivisionByZero_istrapped\endcsname @@ -446,6 +446,19 @@ \the\numexpr #9\XINT_unsep_loop }% \def\XINT_unsep_clean 1{\relax}% +\def\XINT_unsepb_loop #1!#2!#3!#4!#5!#6!#7!#8!#9!% +{% + \expandafter\XINT_unsep_clean + \the\numexpr 1#1\expandafter\XINT_unsep_clean + \the\numexpr 1#2\expandafter\XINT_unsep_clean + \the\numexpr 1#3\expandafter\XINT_unsep_clean + \the\numexpr 1#4\expandafter\XINT_unsep_clean + \the\numexpr 1#5\expandafter\XINT_unsep_clean + \the\numexpr 1#6\expandafter\XINT_unsep_clean + \the\numexpr 1#7\expandafter\XINT_unsep_clean + \the\numexpr 1#8\expandafter\XINT_unsep_clean + \the\numexpr 1#9\XINT_unsepb_loop +}% \def\XINT_unsep_cuzsmall {% \expandafter\XINT_unsep_cuzsmall_x\the\numexpr0\XINT_unsep_loop @@ -489,6 +502,13 @@ {% \expandafter#1\xint_gob_til_one ##2##3##4##5##6##7##8% }}\XINT_zeroes_forviii_end{ }% +\def\XINT_zeroes_foriv #1#2#3#4#5#6#7#8% +{% + \xint_gob_til_R #8\XINT_zeroes_foriv_end\R\XINT_zeroes_foriv +}% +\def\XINT_zeroes_foriv_end\R\XINT_zeroes_foriv #1#2\W + {\XINT_zeroes_foriv_done #1}% +\def\XINT_zeroes_foriv_done #1\R{ #1}% \def\XINT_sepbyviii_Z #1#2#3#4#5#6#7#8% {% 1#1#2#3#4#5#6#7#8\expandafter!\the\numexpr\XINT_sepbyviii_Z diff --git a/Master/texmf-dist/tex/generic/xint/xintexpr.sty b/Master/texmf-dist/tex/generic/xint/xintexpr.sty index 8b8abe637c1..469337572ba 100644 --- a/Master/texmf-dist/tex/generic/xint/xintexpr.sty +++ b/Master/texmf-dist/tex/generic/xint/xintexpr.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.2l 2017/07/26 +%% The xint bundle 1.2m 2017/07/31 %% Copyright (C) 2013-2017 by Jean-Francois Burnol %% xintexpr: Expandable expression parser %% --------------------------------------------------------------- @@ -81,7 +81,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintexpr}% - [2017/07/26 1.2l Expandable expression parser (JFB)]% + [2017/07/31 1.2m Expandable expression parser (JFB)]% \catcode`! 11 \let\XINT_Cmp \xintiiCmp \def\xint_gob_til_! #1!{}% ! with catcode 11 diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty index d5fbc30c454..60c14bb01d0 100644 --- a/Master/texmf-dist/tex/generic/xint/xintfrac.sty +++ b/Master/texmf-dist/tex/generic/xint/xintfrac.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.2l 2017/07/26 +%% The xint bundle 1.2m 2017/07/31 %% Copyright (C) 2013-2017 by Jean-Francois Burnol %% xintfrac: Expandable operations on fractions %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintfrac}% - [2017/07/26 1.2l Expandable operations on fractions (JFB)]% + [2017/07/31 1.2m Expandable operations on fractions (JFB)]% \def\XINT_cntSgnFork #1% {% \ifcase #1\expandafter\xint_secondofthree @@ -1479,15 +1479,16 @@ }% \def\XINT_fgeq_Fd #1\Z #2#3% {% - \expandafter\XINT_fgeq_Fe\expandafter - {\romannumeral0\XINT_dsx_addzeros {#1}#3;}{#2}% + \expandafter\XINT_fgeq_Fe + \romannumeral0\XINT_dsx_addzeros {#1}#3;\xint:#2\xint: }% -\def\XINT_fgeq_Fe #1#2{\XINT_geq_pre {#2}{#1}}% +\def\XINT_fgeq_Fe #1\xint:#2#3\xint:{\XINT_geq_plusplus #2#1\xint:#3\xint:}% \def\XINT_fgeq_Fn #1\Z #2#3% {% - \expandafter\XINT_geq_pre\expandafter - {\romannumeral0\XINT_dsx_addzeros {#1}#2;}{#3}% + \expandafter\XINT_fgeq_Fo + \romannumeral0\XINT_dsx_addzeros {#1}#2;\xint:#3\xint: }% +\def\XINT_fgeq_Fo #1#2\xint:#3\xint:{\XINT_geq_plusplus #1#3\xint:#2\xint:}% \def\xintMax {\romannumeral0\xintmax }% \def\xintmax #1% {% @@ -1608,9 +1609,9 @@ \krof #1#2% }% -\def\XINT_fcmp_zerozero #1#2#3#4{ 0}% 1.08b had some [ and ] here!!! -\def\XINT_fcmp_firstzero #1#2#3#4{ -1}% incredibly I never saw that until -\def\XINT_fcmp_secondzero #1#2#3#4{ 1}% preparing 1.09a. +\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% @@ -1642,15 +1643,16 @@ }% \def\XINT_fcmp_Fd #1\Z #2#3% {% - \expandafter\XINT_fcmp_Fe\expandafter - {\romannumeral0\XINT_dsx_addzeros {#1}#3;}{#2}% + \expandafter\XINT_fcmp_Fe + \romannumeral0\XINT_dsx_addzeros {#1}#3;\xint:#2\xint: }% -\def\XINT_fcmp_Fe #1#2{\xintiicmp {#2}{#1}}% +\def\XINT_fcmp_Fe #1\xint:#2#3\xint:{\XINT_cmp_plusplus #2#1\xint:#3\xint:}% \def\XINT_fcmp_Fn #1\Z #2#3% {% - \expandafter\xintiicmp\expandafter - {\romannumeral0\XINT_dsx_addzeros {#1}#2;}{#3}% + \expandafter\XINT_fcmp_Fo + \romannumeral0\XINT_dsx_addzeros {#1}#2;\xint:#3\xint: }% +\def\XINT_fcmp_Fo #1#2\xint:#3\xint:{\XINT_cmp_plusplus #1#3\xint:#2\xint:}% \def\xintAbs {\romannumeral0\xintabs }% \def\xintabs #1{\expandafter\XINT_abs\romannumeral0\xintraw {#1}}% \def\xintOpp {\romannumeral0\xintopp }% diff --git a/Master/texmf-dist/tex/generic/xint/xintgcd.sty b/Master/texmf-dist/tex/generic/xint/xintgcd.sty index d38d188a8c8..37b396cb7ca 100644 --- a/Master/texmf-dist/tex/generic/xint/xintgcd.sty +++ b/Master/texmf-dist/tex/generic/xint/xintgcd.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.2l 2017/07/26 +%% The xint bundle 1.2m 2017/07/31 %% Copyright (C) 2013-2017 by Jean-Francois Burnol %% xintgcd: Euclidean algorithm with xint package %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintgcd}% - [2017/07/26 1.2l Euclide algorithm with xint package (JFB)]% + [2017/07/31 1.2m Euclide algorithm with xint package (JFB)]% \def\xintGCD {\romannumeral0\xintgcd }% \def\xintgcd #1% {% diff --git a/Master/texmf-dist/tex/generic/xint/xintkernel.sty b/Master/texmf-dist/tex/generic/xint/xintkernel.sty index 92af7369012..8c9b9371df6 100644 --- a/Master/texmf-dist/tex/generic/xint/xintkernel.sty +++ b/Master/texmf-dist/tex/generic/xint/xintkernel.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.2l 2017/07/26 +%% The xint bundle 1.2m 2017/07/31 %% Copyright (C) 2013-2017 by Jean-Francois Burnol %% xintkernel: Paraphernalia for the xint packages %% --------------------------------------------------------------- @@ -156,7 +156,7 @@ \fi \XINT_providespackage \ProvidesPackage {xintkernel}% - [2017/07/26 1.2l Paraphernalia for the xint packages (JFB)]% + [2017/07/31 1.2m Paraphernalia for the xint packages (JFB)]% \chardef\xint_c_ 0 \chardef\xint_c_i 1 \chardef\xint_c_ii 2 diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty index 16bfec971a4..d6f66718cee 100644 --- a/Master/texmf-dist/tex/generic/xint/xintseries.sty +++ b/Master/texmf-dist/tex/generic/xint/xintseries.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.2l 2017/07/26 +%% The xint bundle 1.2m 2017/07/31 %% Copyright (C) 2013-2017 by Jean-Francois Burnol %% xintseries: Expandable partial sums with xint package %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintseries}% - [2017/07/26 1.2l Expandable partial sums with xint package (JFB)]% + [2017/07/31 1.2m Expandable partial sums with xint package (JFB)]% \def\xintSeries {\romannumeral0\xintseries }% \def\xintseries #1#2% {% diff --git a/Master/texmf-dist/tex/generic/xint/xinttools.sty b/Master/texmf-dist/tex/generic/xint/xinttools.sty index b23ed5ac1e7..ed3e2606850 100644 --- a/Master/texmf-dist/tex/generic/xint/xinttools.sty +++ b/Master/texmf-dist/tex/generic/xint/xinttools.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.2l 2017/07/26 +%% The xint bundle 1.2m 2017/07/31 %% Copyright (C) 2013-2017 by Jean-Francois Burnol %% xinttools: Expandable and non-expandable utilities %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xinttools}% - [2017/07/26 1.2l Expandable and non-expandable utilities (JFB)]% + [2017/07/31 1.2m Expandable and non-expandable utilities (JFB)]% \newtoks\XINT_toks \xint_firstofone{\let\XINT_sptoken= } %<- space here! \def\xintgodef {\global\xintodef }% -- cgit v1.2.3