summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xint
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/xint')
-rw-r--r--Master/texmf-dist/tex/generic/xint/xint.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintbinhex.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcfrac.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcore.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintexpr.sty25
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintfrac.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintgcd.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintkernel.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintlog.sty677
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintseries.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xinttools.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xinttrig.sty130
12 files changed, 272 insertions, 596 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty
index a0c06cb0417..524b2891bfb 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.4e 2021/05/05
+%% The xint bundle 1.4f 2021/05/10
%% Copyright (C) 2013-2021 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}%
- [2021/05/05 v1.4e Expandable operations on big integers (JFB)]%
+ [2021/05/10 v1.4f 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}%
diff --git a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty
index 7482824c7ec..392eabd0adf 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.4e 2021/05/05
+%% The xint bundle 1.4f 2021/05/10
%% Copyright (C) 2013-2021 by Jean-Francois Burnol
%% xintbinhex: Expandable binary and hexadecimal conversions
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintbinhex}%
- [2021/05/05 v1.4e Expandable binary and hexadecimal conversions (JFB)]%
+ [2021/05/10 v1.4f 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
\def\XINT_tmpa #1{\ifx\relax#1\else
diff --git a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
index dc8b8838729..a41f9d4092c 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.4e 2021/05/05
+%% The xint bundle 1.4f 2021/05/10
%% Copyright (C) 2013-2021 by Jean-Francois Burnol
%% xintcfrac: Expandable continued fractions with xint package
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintcfrac}%
- [2021/05/05 v1.4e Expandable continued fractions with xint package (JFB)]%
+ [2021/05/10 v1.4f 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 b1e52e326fd..0eedc381203 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.4e 2021/05/05
+%% The xint bundle 1.4f 2021/05/10
%% Copyright (C) 2013-2021 by Jean-Francois Burnol
%% xintcore: Expandable arithmetic on big integers
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintcore}%
- [2021/05/05 v1.4e Expandable arithmetic on big integers (JFB)]%
+ [2021/05/10 v1.4f Expandable arithmetic on big integers (JFB)]%
\csname XINT_Clamped_istrapped\endcsname
\csname XINT_ConversionSyntax_istrapped\endcsname
\csname XINT_DivisionByZero_istrapped\endcsname
diff --git a/Master/texmf-dist/tex/generic/xint/xintexpr.sty b/Master/texmf-dist/tex/generic/xint/xintexpr.sty
index baf227ba966..80c3dad219e 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.4e 2021/05/05
+%% The xint bundle 1.4f 2021/05/10
%% Copyright (C) 2013-2021 by Jean-Francois Burnol
%% xintexpr: Expandable expression parser
%% ---------------------------------------------------------------
@@ -82,7 +82,7 @@
\XINTsetupcatcodes%
\XINT_providespackage
\ProvidesPackage{xintexpr}%
- [2021/05/05 v1.4e Expandable expression parser (JFB)]%
+ [2021/05/10 v1.4f Expandable expression parser (JFB)]%
\catcode`! 11
\let\XINT_Cmp \xintiiCmp
\def\XINTfstop{\noexpand\XINTfstop}%
@@ -103,6 +103,7 @@
\let\XINTdigits\XINT_digits
\xintreloadscilibs
}%
+\def\XINTdigitsormax{\ifnum\XINTdigits>\xint_c_ii^vi\xint_c_ii^vi\else\XINTdigits\fi}%
\def\XINT:expr:toblistwith#1#2%
{%
{\expandafter\XINT:expr:toblist_checkempty
@@ -282,7 +283,7 @@
\expanded
\XINT:NEhook:x:mapwithin\XINT:expr:mapwithin{\XINTiRound_braced{#1}}%
}%
-\def\XINTiRound_braced#1#2{{\xintiRound{#1}{#2}[\the\numexpr-#1]}}%
+\def\XINTiRound_braced#1#2{{\xintiRound{#1}{#2}[\the\numexpr\ifnum#1<\xint_c_i0\else-#1\fi]}}%
\def\xintfloatexpro #1%
{%
\ifx [#1\expandafter\XINT_flexpr_withopt\else\expandafter\XINT_flexpr_noopt
@@ -3028,13 +3029,20 @@
}}%
}%
\let\XINT_flexpr_func_float\XINT_expr_func_float
-\def\XINT_expr_func_float_ #1#2#3%
+\def\XINT_expr_func_float_dgt #1#2#3%
{%
\expandafter #1\expandafter #2\expandafter{%
\romannumeral`&&@\XINT:NEhook:f:one:from:one
{\romannumeral`&&@\XINTinFloatdigits#3}}%
}%
-\let\XINT_flexpr_func_float_\XINT_expr_func_float_
+\let\XINT_flexpr_func_float_dgt\XINT_expr_func_float_dgt
+\def\XINT_expr_func_float_dgtormax #1#2#3%
+{%
+ \expandafter #1\expandafter #2\expandafter{%
+ \romannumeral`&&@\XINT:NEhook:f:one:from:one
+ {\romannumeral`&&@\XINTinFloatdigitsormax#3}}%
+}%
+\let\XINT_flexpr_func_float_dgtormax\XINT_expr_func_float_dgtormax
\def\XINT_expr_func_sfloat #1#2#3%
{%
\expandafter #1\expandafter #2\expandafter{\expandafter{%
@@ -3043,6 +3051,13 @@
}}%
}%
\let\XINT_flexpr_func_sfloat\XINT_expr_func_sfloat
+\def\XINT_expr_func_sfloat_dgtormax #1#2#3%
+{%
+ \expandafter #1\expandafter #2\expandafter{%
+ \romannumeral`&&@\XINT:NEhook:f:one:from:one
+ {\romannumeral`&&@\XINTinFloatSdigitsormax#3}}%
+}%
+\let\XINT_flexpr_func_sfloat_dgtormax\XINT_expr_func_sfloat_dgtormax
\expandafter\def\csname XINT_expr_func_ilog10\endcsname #1#2#3%
{%
\expandafter #1\expandafter #2\expandafter{\expandafter{%
diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty
index 9da94186939..5b72d9741ef 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.4e 2021/05/05
+%% The xint bundle 1.4f 2021/05/10
%% Copyright (C) 2013-2021 by Jean-Francois Burnol
%% xintfrac: Expandable operations on fractions
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintfrac}%
- [2021/05/05 v1.4e Expandable operations on fractions (JFB)]%
+ [2021/05/10 v1.4f Expandable operations on fractions (JFB)]%
\def\XINT_cntSgnFork #1%
{%
\ifcase #1\expandafter\xint_secondofthree
diff --git a/Master/texmf-dist/tex/generic/xint/xintgcd.sty b/Master/texmf-dist/tex/generic/xint/xintgcd.sty
index 83821ea8815..a7dbe96cc44 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.4e 2021/05/05
+%% The xint bundle 1.4f 2021/05/10
%% Copyright (C) 2013-2021 by Jean-Francois Burnol
%% xintgcd: Euclidean algorithm with xint package
%% ---------------------------------------------------------------
@@ -77,7 +77,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintgcd}%
- [2021/05/05 v1.4e Euclide algorithm with xint package (JFB)]%
+ [2021/05/10 v1.4f Euclide algorithm with xint package (JFB)]%
\def\xintBezout {\romannumeral0\xintbezout }%
\def\xintbezout #1%
{%
diff --git a/Master/texmf-dist/tex/generic/xint/xintkernel.sty b/Master/texmf-dist/tex/generic/xint/xintkernel.sty
index 19fcfed741d..def82ede68f 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.4e 2021/05/05
+%% The xint bundle 1.4f 2021/05/10
%% Copyright (C) 2013-2021 by Jean-Francois Burnol
%% xintkernel: Paraphernalia for the xint packages
%% ---------------------------------------------------------------
@@ -159,7 +159,7 @@
\fi
\XINT_providespackage
\ProvidesPackage {xintkernel}%
- [2021/05/05 v1.4e Paraphernalia for the xint packages (JFB)]%
+ [2021/05/10 v1.4f 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/xintlog.sty b/Master/texmf-dist/tex/generic/xint/xintlog.sty
index e20e40bebcc..8bfcaa86ef6 100644
--- a/Master/texmf-dist/tex/generic/xint/xintlog.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintlog.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle 1.4e 2021/05/05
+%% The xint bundle 1.4f 2021/05/10
%% Copyright (C) 2013-2021 by Jean-Francois Burnol
%% xintlog: Logarithms and exponentials for xintexpr
%% ---------------------------------------------------------------
@@ -68,10 +68,10 @@
\expandafter\xint_secondoftwo
\fi
{\immediate\write-1{Reloading xintlog library using Digits=\xinttheDigits.}}%
-{\expandafter\gdef\csname xintlibver@log\endcsname{2021/05/05 v1.4e}%
+{\expandafter\gdef\csname xintlibver@log\endcsname{2021/05/10 v1.4f}%
\XINT_providespackage
\ProvidesPackage{xintlog}%
-[2021/05/05 v1.4e Logarithms and exponentials for xintexpr (JFB)]%
+[2021/05/10 v1.4f Logarithms and exponentials for xintexpr (JFB)]%
}%
\def\xintreloadxintlog{\input xintlog.sty }%
\xintexprSafeCatcodes\catcode`_ 11
@@ -150,28 +150,30 @@
\def\XINT_scipow_Biszero#1]#2#3{ 1[0]}%
\def\XINT_scipow_b #1#2/#3[#4]#5%
{%
- \unless\if1\XINT_is_One#3XY\xint_dothis\XINT_scipow_c\fi
- \ifnum#4<\xint_c_mone\xint_dothis\XINT_scipow_c\fi
- \ifnum#4=\xint_c_mone
- \if5\xintLDg{#1#2} %
+ \unless\if1\XINT_is_One#3XY\xint_dothis\XINT_scipow_c\fi
+ \ifnum#4<\xint_c_mone\xint_dothis\XINT_scipow_c\fi
+ \ifnum#4=\xint_c_mone
+ \if5\xintLDg{#1#2} %
\xint_afterfi{\xint_dothis\XINT_scipow_halfint}\else
\xint_afterfi{\xint_dothis\XINT_scipow_c}%
+ \fi
\fi
- \fi
- \xint_orthat#5#1#2/#3[#4]%
+ \xint_orthat#5#1#2/#3[#4]%
}%
\def\XINT_scipow_int #1/1[#2]#3%
{%
- \expandafter\XINT_flpower_checkB_a
- \romannumeral0\XINT_dsx_addzeros{#2}#1;.\XINTdigits.{#3}{\XINTinfloatS[\XINTdigits]}%
+ \expandafter\XINT_flpower_checkB_a
+ \romannumeral0\XINT_dsx_addzeros{#2}#1;.\XINTdigits.{#3}{\XINTinfloatS[\XINTdigits]}%
}%
\def\XINT_scipow_halfint#1/1[#2]#3%
{%
- \expandafter\XINT_flpower_checkB_a
- \romannumeral0\xintdsr{\xintDouble{#1}}.\XINTdigits.{#3}\XINT_flpowerh_finish
+ \expandafter\XINT_flpower_checkB_a
+ \romannumeral0\xintdsr{\xintDouble{#1}}.\XINTdigits.{#3}\XINT_flpowerh_finish
}%
\def\XINT_flpowerh_finish #1%
- {\XINTinfloatS[\XINTdigits]{\XINTinFloatSqrt[\XINTdigits+\xint_c_iii]{#1}}}%
+{%
+ \XINTinfloatS[\XINTdigits]{\XINTinFloatSqrt[\XINTdigits+\xint_c_iii]{#1}}%
+}%
\def\XINT_tmpa#1.{%
\def\XINT_scipow_c ##1[##2]##3%
{%
@@ -198,48 +200,50 @@
}%
\def\XINT_scipow_Aisneg #1#2\xint:#3\xint:
{%
- \XINT_signalcondition{InvalidOperation}{Fractional power of negative argument}{}{0[0]}
+ \XINT_signalcondition{InvalidOperation}{Fractional power of negative argument}{}{0[0]}%
}%
\ifnum\XINTdigits<9
- \def\XINTinfloatscipow#1#2%
+ \def\XINT_tmpa#1.#2.#3.{%
+ \def\XINT_scipow_c ##1[##2]##3%
{%
- \expandafter\XINT_scipow_a\romannumeral0\xintraw{#2}\relax{#1}%
- }%
- \def\XINT_scipow_b #1[#2]#3#4%
- {%
- \expandafter\XINT_scipow_d\romannumeral0\XINTinfloat[9]{#4}\xint:#1[#2]\xint:
+ \expandafter\XINT_scipow_d
+ \romannumeral0\expandafter\XINT_scipow_c_i
+ \romannumeral0\XINTinfloat[#1]{##3}\xint:##1[##2]\xint:
}%
+ \def\XINT_scipow_c_i##1[##2]{ ##1#3[##2-#2]}%
+ }\expandafter\XINT_tmpa\the\numexpr\XINTdigits\expandafter.%
+ \the\numexpr9-\XINTdigits\expandafter.%
+ \romannumeral\xintreplicate{9-\XINTdigits}0.%
\def\XINT_scipow_Aispos #1\xint:#2\xint:
{%
\poormanpoweroften{\xintMul{#2}{\romannumeral0\expandafter\PML@logbaseten#1}}%
}%
- \def\XINT_scipow_Aisneg #1#2\xint:#3\xint:
- {%
- \ifcase\xintFloatIntType{#3}%
- \or\expandafter-\romannumeral0%
- \else
- \expandafter\XINT_scipow_AnegBfrac
- \fi
- \poormanpoweroften{\xintMul{#3}{\romannumeral0\expandafter\PML@logbaseten#2}}%
- }%
\fi
\def\xintPow{\romannumeral0\xintpow}%
\def\xintpow#1#2%
{%
\expandafter\XINT_scipow_a\romannumeral0\xintrez{#2}\XINT_pow_int{#1}%
}%
-\def\XINT_pow_int #1/1[#2]%#3
+\def\XINT_pow_int #1/1[#2]%
{%
\expandafter\XINT_pow_int_a\romannumeral0\XINT_dsx_addzeros{#2}#1;.%
}%
-\def\XINT_pow_int_a #1#2.#3%
+\def\XINT_pow_int_a #1#2.%
{%
\ifnum\if-#1\xintLength{#2}\else\xintLength{#1#2}\fi>\xint_c_iv
- \expandafter\XINT_pow_tosci
- \fi
- \expandafter\XINT_pow_int_b\romannumeral0\xintraw{#3}\xint:#1#2\xint:
+ \expandafter\XINT_pow_bigint
+ \else\expandafter\XINT_pow_int_b
+ \fi #1#2.%
+}%
+\def\XINT_pow_bigint #1.#2%
+{%
+ \XINT_flpower_checkB_a#1.\XINTdigits.{#2}{\XINTinfloatS[\XINTdigits]}%
+}%
+\def\XINT_pow_int_b #1.#2%
+{%
+ \expandafter\XINT_pow_int_c\romannumeral0\xintraw{#2}\xint:#1\xint:
}%
-\def\XINT_pow_int_b#1#2/#3[#4]\xint:#5\xint:
+\def\XINT_pow_int_c#1#2/#3[#4]\xint:#5\xint:
{%
\if0\ifnum\numexpr\xint_c_x^iv/%
(\xintLength{#1#2}\if-#1-\xint_c_i\fi)<\XINT_Abs#5 %
@@ -247,50 +251,14 @@
\ifnum\numexpr\xint_c_x^iv/\xintLength{#3}<\XINT_Abs#5 %
1\else
0\fi\fi
- \expandafter\XINT_fpow_fork\else\expandafter\XINT_pow_tosci_i
+ \expandafter\XINT_fpow_fork\else\expandafter\XINT_pow_bigint_i
\fi
#5\Z{#4}{#1#2}{#3}%
}%
-\def\XINT_tmpa#1.{%
-\def\XINT_pow_tosci##1\xintraw%##2%\xint:##3\xint:
-{%
- \expandafter\XINT_scipow_d\romannumeral0\XINTinfloatS[#1]%
-}%
-\def\XINT_pow_tosci_i##1\Z##2##3##4%
+\def\XINT_pow_bigint_i#1\Z#2#3#4%
{%
- \expandafter\XINT_scipow_d\romannumeral0\expandafter\XINT_infloatS_clean
- \romannumeral0\XINT_infloat_a#1.{##2}{##3}{##4}\xint:##1\xint:
+ \XINT_flpower_checkB_a#1.\XINTdigits.{#3/#4[#2]}{\XINTinfloatS[\XINTdigits]}%
}%
-}\expandafter\XINT_tmpa\the\numexpr\XINTdigits.%
-\ifnum\XINTdigits<9
- \def\xintpow#1#2%
- {%
- \expandafter\XINT_poorpow_a\romannumeral0\xintrez{#2}\relax{#1}%
- }%
- \def\XINT_poorpow_a #1%
- {%
- \xint_gob_til_zero#1\XINT_scipow_Biszero0\XINT_poorpow_b#1%
- }%
- \def\XINT_poorpow_b #1#2/#3[#4]#5%
- {%
- \unless\if1\XINT_is_One#3XY\xint_dothis\XINT_poorpow_c\fi
- \ifnum#4<\xint_c_\xint_dothis\XINT_poorpow_c\fi
- \xint_orthat\XINT_pow_int#1#2/#3[#4]%
- }%
- \def\XINT_poorpow_c #1[#2]#3%
- {%
- \expandafter\XINT_scipow_d\romannumeral0\XINTinfloat[9]{#3}\xint:#1[#2]\xint:
- }%
- \def\XINT_pow_tosci#1\xintraw%#2%\xint:#3\xint:
- {%
- \expandafter\XINT_scipow_d\romannumeral0\XINTinfloat[9]%
- }%
- \def\XINT_pow_tosci_i#1\Z#2#3#4%
- {%
- \expandafter\XINT_scipow_d\romannumeral0\expandafter\XINT_infloat_clean
- \romannumeral0\XINT_infloat_a9.{#2}{#3}{#4}\xint:#1\xint:
- }%
-\fi
\ifnum\XINTdigits<9
\expandafter\def\csname XINT_expr_func_log10\endcsname#1#2#3%
{%
@@ -392,8 +360,8 @@
\expandafter\let\csname XINT_c_5_0_inv_x\endcsname\XINT_tmpa
\expandafter\let\csname XINT_c_6_0_inv_x\endcsname\XINT_tmpa
\def\XINT_tmpa#1#2#3#4;%
- {\expandafter\edef\csname XINT_c_#1_#2\endcsname{\XINTinFloat[\XINTdigits+5]{#3#4[-79]}}%
- \expandafter\edef\csname XINT_c_#1_#2_x\endcsname{\XINTinFloat[\XINTdigits+10]{#3#4[-79]}}%
+ {\expandafter\edef\csname XINT_c_#1_#2\endcsname{\XINTinFloat[\XINTdigitsormax+5]{#3#4[-79]}}%
+ \expandafter\edef\csname XINT_c_#1_#2_x\endcsname{\XINTinFloat[\XINTdigitsormax+10]{#3#4[-79]}}%
}%
\XINT_tmpa 1 1 12589254117941672104239541063958006060936174094669310691079230195266476157825020;%
\XINT_tmpa 1 2 15848931924611134852021013733915070132694421338250390683162968123166568636684540;%
@@ -450,8 +418,8 @@
\XINT_tmpa 6 8 10000184208504057336610176132939223090407041937631374389422968832433217547184883;%
\XINT_tmpa 6 9 10000207234805653031739097001771331138303016031686764989867510425362339583809842;%
\def\XINT_tmpa#1#2#3#4;%
- {\expandafter\edef\csname XINT_c_#1_#2_inv\endcsname{\XINTinFloat[\XINTdigits+5]{#3#4[-80]}}%
- \expandafter\edef\csname XINT_c_#1_#2_inv_x\endcsname{\XINTinFloat[\XINTdigits+10]{#3#4[-80]}}%
+ {\expandafter\edef\csname XINT_c_#1_#2_inv\endcsname{\XINTinFloat[\XINTdigitsormax+5]{#3#4[-80]}}%
+ \expandafter\edef\csname XINT_c_#1_#2_inv_x\endcsname{\XINTinFloat[\XINTdigitsormax+10]{#3#4[-80]}}%
}%
\XINT_tmpa 1 1 79432823472428150206591828283638793258896063175548433209232392931695569719148754;%
\XINT_tmpa 1 2 63095734448019324943436013662234386467294525718822872452772952883349494329768681;%
@@ -508,13 +476,13 @@
\XINT_tmpa 6 8 99998157948891574541919478156202215623119146605983303201215215949834619332550929;%
\XINT_tmpa 6 9 99997927694888844379020974874260864289829523807763942234420930258187873904191138;%
\edef\XINT_c_logten
- {\XINTinFloat[\XINTdigits+4]
+ {\XINTinFloat[\XINTdigitsormax+4]
{23025850929940456840179914546843642076011014886287729760333279009675726096773525[-79]}}%
\edef\XINT_c_oneoverlogten
- {\XINTinFloat[\XINTdigits+4]
+ {\XINTinFloat[\XINTdigitsormax+4]
{43429448190325182765112891891660508229439700580366656611445378316586464920887077[-80]}}%
\edef\XINT_c_oneoverlogten_xx
- {\XINTinFloat[\XINTdigits+14]
+ {\XINTinFloat[\XINTdigitsormax+14]
{43429448190325182765112891891660508229439700580366656611445378316586464920887077[-80]}}%
\def\XINTinFloatExp{\romannumeral0\XINTinfloatexp}%
\def\XINT_tmpa#1.{%
@@ -523,7 +491,7 @@
\XINTinfloatpowten
{\xintMul{\XINT_c_oneoverlogten_xx}{\XINTinFloatS[#1]{##1}}}%
}%
-}\expandafter\XINT_tmpa\the\numexpr\XINTdigits+14.%
+}\expandafter\XINT_tmpa\the\numexpr\XINTdigitsormax+14.%
\def\XINTinFloatPowTen{\romannumeral0\XINTinfloatpowten}%
\def\XINT_tmpa#1.{%
\def\XINTinfloatpowten##1%
@@ -531,7 +499,7 @@
\expandafter\XINT_powten_fork
\romannumeral0\xintiround{#1}{##1}[-#1]%
}%
-}\expandafter\XINT_tmpa\the\numexpr\XINTdigits+4.%
+}\expandafter\XINT_tmpa\the\numexpr\XINTdigitsormax+4.%
\def\XINT_powten_fork#1%
{%
\xint_UDzerominusfork
@@ -545,11 +513,11 @@
{%
\expandafter\XINT_powten_pos_a\romannumeral0\xintround{6}{#1[#2]}#1[#2]%
}%
-\def\XINT_tmpa #1.#2.{%
+\def\XINT_tmpa #1.#2.#3.{%
\def\XINT_powten_pos_a ##1.##2##3##4##5##6##7##8[##9]%
{%
\expandafter\XINT_infloate
- \romannumeral0\XINTinfloat[\XINTdigits]{%
+ \romannumeral0\XINTinfloat[#3]{%
\xintMul{\csname XINT_c_1_##2\endcsname}{%
\XINTinFloat[#1]{%
\xintMul{\csname XINT_c_2_##3\endcsname}{%
@@ -571,17 +539,18 @@
}%
}}}}}}}}}}}}{##1}%
}}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits+5\expandafter.%
- \the\numexpr\XINTdigits-1.%
+ \the\numexpr\XINTdigitsormax+5\expandafter.%
+ \the\numexpr\XINTdigitsormax-1\expandafter.%
+ \the\numexpr\XINTdigitsormax.%
\def\XINT_powten_neg#1[#2]%
{%
\expandafter\XINT_powten_neg_a\romannumeral0\xintround{6}{#1[#2]}#1[#2]%
}%
-\def\XINT_tmpa #1.#2.{%
+\def\XINT_tmpa #1.#2.#3.{%
\def\XINT_powten_neg_a -##1.##2##3##4##5##6##7##8[##9]%
{%
\expandafter\XINT_infloate
- \romannumeral0\XINTinfloat[\XINTdigits]{%
+ \romannumeral0\XINTinfloat[#3]{%
\xintMul{\csname XINT_c_1_##2_inv\endcsname}{%
\XINTinFloat[#1]{%
\xintMul{\csname XINT_c_2_##3_inv\endcsname}{%
@@ -603,8 +572,9 @@
}%
}}}}}}}}}}}}{-##1}%
}}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits+5\expandafter.%
- \the\numexpr\XINTdigits-1.%
+ \the\numexpr\XINTdigitsormax+5\expandafter.%
+ \the\numexpr\XINTdigitsormax-1\expandafter.%
+ \the\numexpr\XINTdigitsormax.%
\def\XINT_tmpa#1.#2.{%
\def\XINT_Exp_series_a_ii##1\xint:
{%
@@ -622,8 +592,8 @@
}%
}%
\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-6\expandafter.%
- \the\numexpr\XINTdigits-1.%
+ \the\numexpr\XINTdigitsormax-6\expandafter.%
+ \the\numexpr\XINTdigitsormax-1.%
\ifnum\XINTdigits>15
\def\XINT_tmpa#1.#2.#3.#4.{%
\def\XINT_Exp_series_a_ii##1\xint:
@@ -647,8 +617,8 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-13\expandafter.%
- \the\numexpr\XINTdigits-6.%
+ \the\numexpr\XINTdigitsormax-13\expandafter.%
+ \the\numexpr\XINTdigitsormax-6.%
{5[-1]}.%
{1[0]}.%
\fi
@@ -675,9 +645,9 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-19\expandafter.%
- \the\numexpr\XINTdigits-13\expandafter.%
- \romannumeral0\XINTinfloat[\XINTdigits-13]{1/6[0]}.%
+ \the\numexpr\XINTdigitsormax-19\expandafter.%
+ \the\numexpr\XINTdigitsormax-13\expandafter.%
+ \romannumeral0\XINTinfloat[\XINTdigitsormax-13]{1/6[0]}.%
{5[-1]}.%
\fi
\ifnum\XINTdigits>28
@@ -715,10 +685,10 @@
\csname XINT_Exp_series_c_\romannumeral\numexpr#1-2\expandafter\endcsname
\csname XINT_Exp_series_c_\romannumeral\numexpr#1-3\endcsname
\expandafter\XINT_tmpc
- \the\numexpr\XINTdigits-#2\expandafter.%
- \the\numexpr\XINTdigits-#3\expandafter.\expanded{%
- \XINTinFloat[\XINTdigits-#3]{1/#6[0]}.%
- \XINTinFloat[\XINTdigits-#4]{1/#7[0]}.%
+ \the\numexpr\XINTdigitsormax-#2\expandafter.%
+ \the\numexpr\XINTdigitsormax-#3\expandafter.\expanded{%
+ \XINTinFloat[\XINTdigitsormax-#3]{1/#6[0]}.%
+ \XINTinFloat[\XINTdigitsormax-#4]{1/#7[0]}.%
}%
}%
\XINT_tmpa 5 26 19 13 120 24 6 %<-- keep space
@@ -732,7 +702,7 @@
\def\XINTinfloatlog
{%
\expandafter\XINT_log_out
- \romannumeral0\expandafter\XINT_logten_a
+ \romannumeral0\expandafter\XINT_logtenxdg_a
\romannumeral0\XINTinfloat[#1]%{##1}
}%
\def\XINT_log_out ##1\xint:##2\xint:
@@ -744,7 +714,7 @@
\def\XINTinfloatlogten
{%
\expandafter\XINT_logten_out
- \romannumeral0\expandafter\XINT_logten_a
+ \romannumeral0\expandafter\XINT_logtenxdg_a
\romannumeral0\XINTinfloat[#1]%{##1}
}%
\def\XINT_logten_out ##1\xint:##2\xint:
@@ -752,75 +722,67 @@
\XINTinfloat[#1]%
{\xintAdd{##1}{\xintMul{\XINT_c_oneoverlogten}{##2}}}%
}%
-}\expandafter\XINT_tmpa\the\numexpr\XINTdigits.%
+}\expandafter\XINT_tmpa\the\numexpr\XINTdigitsormax.%
\def\XINTinFloatLogTen_xdgout%#1[#2]
{%
- \romannumeral0\expandafter\XINT_logten_xdgout\romannumeral0\XINT_logten_a
+ \romannumeral0\expandafter\XINT_logten_xdgout\romannumeral0\XINT_logtenxdg_a
}%
\def\XINT_logten_xdgout #1\xint:#2\xint:
{%
\xintadd{#1}{\xintMul{\XINT_c_oneoverlogten_xx}{#2}}%
}%
-\def\XINT_logten_a#1[#2]%
+\def\XINT_logtenxdg_a#1[#2]%
{%
- \expandafter\XINT_logten_b
+ \expandafter\XINT_logtenxdg_b
\romannumeral0\XINTinfloat[9]{#1[#2]}#1[#2]%
}%
-\def\XINT_logten_b#1[#2]%
+\def\XINT_logtenxdg_b#1[#2]%
{%
- \expandafter\XINT_logten_c
+ \expandafter\XINT_logtenxdg_c
\romannumeral0\xintround{6}%
{\xintiiAdd{\xintDSx{-9}{\the\numexpr#2+8\relax}}%
{\the\numexpr\PML@#1.\relax}%
[-9]}%
\xint:
}%
-\def\XINT_logten_c #1#2%
+\def\XINT_logtenxdg_c #1#2%
{%
\xint_gob_til_xint:#2\XINT_logten_IV\xint:
- \XINT_logten_d #1#2%
+ \XINT_logtenxdg_d #1#2%
}%
-\def\XINT_logten_IV\xint:\XINT_logten_d0{\XINT_logten_f_III}%
-\def\XINT_logten_d #1.#2\xint:
+\def\XINT_logten_IV\xint:\XINT_logtenxdg_d0{\XINT_logten_f_III}%
+\def\XINT_logtenxdg_d #1.#2\xint:
{%
\ifcase
\ifnum#1=\xint_c_
- \ifnum #2>100000 \xint_c_i\else
- \ifnum #2>\xint_c_ \xint_c_ii\else \xint_c_iii\fi\fi
+ \ifnum #2=\xint_c_ \xint_c_iii\else \xint_c_ii\fi
\else
- \ifnum#2>\xint_c_ \xint_c_i\else \xint_c_\fi
+ \ifnum#2>\xint_c_ \xint_c_ii\else \xint_c_\fi
\fi
\expandafter\XINT_logten_f_Isp
- \or\expandafter\XINT_logten_f_I
- \or\expandafter\XINT_logten_f_II
+ \or% never
+ \or\expandafter\XINT_logten_f_IorII
\else\expandafter\XINT_logten_f_III
\fi
#1.#2\xint:
}%
-\def\XINT_logten_f_I#1%
-{%
- \xint_UDsignfork
- #1\XINT_logten_f_I_neg
- -\XINT_logten_f_I_pos
- \krof #1%
-}%
-\def\XINT_logten_f_II#1%
+\def\XINT_logten_f_IorII#1%
{%
\xint_UDsignfork
- #1\XINT_logten_f_II_neg
- -\XINT_logten_f_II_pos
+ #1\XINT_logten_f_IorII_neg
+ -\XINT_logten_f_IorII_pos
\krof #1%
}%
\def\XINT_tmpa#1.{%
\def\XINT_logten_f_Isp##1.000000\xint:##2[##3]%
{%
{##1[0]}\xint:
- {\expandafter\XINT_LogTen_serI_a_i
+ {\expandafter\XINT_LogTen_serII_a_ii
\romannumeral0\XINTinfloatS[#1]{\xintAdd{##2[##3-##1]}{-1[0]}}%
\xint:
}\xint:
}%
-}\expandafter\XINT_tmpa\the\numexpr\XINTdigits-2.%
+}\expandafter\XINT_tmpa\the\numexpr\XINTdigitsormax.%
\def\XINT_tmpa#1.{%
\def\XINT_logten_f_III##1\xint:##2[##3]%
{%
@@ -829,359 +791,56 @@
\romannumeral0\XINTinfloatS[#1]{\xintAdd{##2[##3]}{-1[0]}}%
\xint:
}\xint:
-}}\expandafter\XINT_tmpa\the\numexpr\XINTdigits+4.%
+}}\expandafter\XINT_tmpa\the\numexpr\XINTdigitsormax+4.%
\def\XINT_tmpa#1.#2.{%
-\def\XINT_logten_f_I_pos##1.##2##3##4##5##6##7\xint:##8[##9]%
+\def\XINT_logten_f_IorII_pos##1.##2##3##4##5##6##7\xint:##8[##9]%
{%
{\the\numexpr##1##2##3##4##5##6##7[-6]}\xint:
- {\expandafter\XINT_LogTen_serI_a_i
+ {\expandafter\XINT_LogTen_serII_a_ii
\romannumeral0\XINTinfloat[#2]%
{\xintAdd{-1[0]}%
- {\xintMul{\csname XINT_c_1_##2_inv\endcsname}{%
+ {\xintMul{\csname XINT_c_1_##2_inv_x\endcsname}{%
\XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_2_##3_inv\endcsname}{%
+ \xintMul{\csname XINT_c_2_##3_inv_x\endcsname}{%
\XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_3_##4_inv\endcsname}{%
+ \xintMul{\csname XINT_c_3_##4_inv_x\endcsname}{%
\XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_4_##5_inv\endcsname}{%
+ \xintMul{\csname XINT_c_4_##5_inv_x\endcsname}{%
\XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_5_##6_inv\endcsname}{%
+ \xintMul{\csname XINT_c_5_##6_inv_x\endcsname}{%
\XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_6_##7_inv\endcsname}
+ \xintMul{\csname XINT_c_6_##7_inv_x\endcsname}
{##8[##9-##1]}%
}}}}}}}}}}%
}%
}\xint:
}\xint:
}%
-\def\XINT_logten_f_I_neg##1.##2##3##4##5##6##7\xint:##8[##9]%
+\def\XINT_logten_f_IorII_neg##1.##2##3##4##5##6##7\xint:##8[##9]%
{%
{\the\numexpr##1##2##3##4##5##6##7[-6]}\xint:
- {\expandafter\XINT_LogTen_serI_a_i
- \romannumeral0\XINTinfloat[#2]%
- {\xintAdd{-1[0]}%
- {\xintMul{\csname XINT_c_1_##2\endcsname}{%
- \XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_2_##3\endcsname}{%
- \XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_3_##4\endcsname}{%
- \XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_4_##5\endcsname}{%
- \XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_5_##6\endcsname}{%
- \XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_6_##7\endcsname}
- {##8[##9-##1]}%
- }}}}}}}}}}%
- }%
- }\xint:
- }\xint:
-}%
-}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits+5\expandafter.\the\numexpr\XINTdigits-1.%
-\def\XINT_tmpa#1.#2.{%
-\def\XINT_logten_f_II_pos0.##1##2##3##4##5##6\xint:##7[##8]%
-{%
- {\the\numexpr##1##2##3##4##5##6[-6]}\xint:
{\expandafter\XINT_LogTen_serII_a_ii
\romannumeral0\XINTinfloat[#2]%
{\xintAdd{-1[0]}%
- {\xintMul{\csname XINT_c_1_##1_inv_x\endcsname}{%
+ {\xintMul{\csname XINT_c_1_##2_x\endcsname}{%
\XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_2_##2_inv_x\endcsname}{%
+ \xintMul{\csname XINT_c_2_##3_x\endcsname}{%
\XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_3_##3_inv_x\endcsname}{%
+ \xintMul{\csname XINT_c_3_##4_x\endcsname}{%
\XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_4_##4_inv_x\endcsname}{%
+ \xintMul{\csname XINT_c_4_##5_x\endcsname}{%
\XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_5_##5_inv_x\endcsname}{%
+ \xintMul{\csname XINT_c_5_##6_x\endcsname}{%
\XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_6_##6_inv_x\endcsname}
- {##7[##8]}%
- }}}}}}}}}}%
- }%
- }\xint:
- }\xint:
-}%
-\def\XINT_logten_f_II_neg-0.##1##2##3##4##5##6\xint:##7[##8]%
-{%
- {\the\numexpr-##1##2##3##4##5##6[-6]}\xint:
- {\expandafter\XINT_LogTen_serII_a_ii
- \romannumeral0\XINTinfloat[#2]%
- {\xintAdd{-1[0]}%
- {\xintMul{\csname XINT_c_1_##1_x\endcsname}{%
- \XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_2_##2_x\endcsname}{%
- \XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_3_##3_x\endcsname}{%
- \XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_4_##4_x\endcsname}{%
- \XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_5_##5_x\endcsname}{%
- \XINTinFloat[#1]{%
- \xintMul{\csname XINT_c_6_##6_x\endcsname}
- {##7[##8]}%
+ \xintMul{\csname XINT_c_6_##7_x\endcsname}
+ {##8[##9-##1]}%
}}}}}}}}}}%
}%
}\xint:
}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits+10\expandafter.\the\numexpr\XINTdigits+4.%
-\def\XINT_LogTen_serI_a_i#1\xint:{#1}%
-\ifnum\XINTdigits>9
-\def\XINT_tmpa#1.#2.{%
-\def\XINT_LogTen_serI_a_i##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_a_ii
- \romannumeral0\XINTinfloatS[#2]{##1}\xint:
-}%
-\def\XINT_LogTen_serI_a_ii##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_b
- \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_b##1[##2]\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_
- \romannumeral0\xintadd{1}{\xintiiOpp\xintHalf{##10}[##2-1]}\xint:
-}%
-\def\XINT_LogTen_serI_c_##1\xint:##2\xint:
-{%
- \XINTinFloat[#2]{\xintMul{##1}{##2}}%
-}%
-}%
-\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-7\expandafter.%
- \the\numexpr\XINTdigits-1.%
-\fi
-\ifnum\XINTdigits>15
-\def\XINT_tmpa#1.#2.#3.#4.{%
-\def\XINT_LogTen_serI_a_ii##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_a_iii
- \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_a_iii##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_b
- \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_b##1[##2]\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_i
- \romannumeral0\xintadd{#3}{##1/3[##2]}\xint:
-}%
-\def\XINT_LogTen_serI_c_i##1\xint:##2\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_
- \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
-}%
-}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-13\expandafter.%
- \the\numexpr\XINTdigits-7.%
- {-5[-1]}.%
- {1[0]}.%
-\fi
-\ifnum\XINTdigits>21
-\def\XINT_tmpa#1.#2.#3.#4.{%
-\def\XINT_LogTen_serI_a_iii##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_a_iv
- \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_a_iv##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_b
- \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_b##1[##2]\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_ii
- \romannumeral0\xintadd{#3}{\xintiiMul{-25}{##1}[##2-2]}\xint:
-}%
-\def\XINT_LogTen_serI_c_ii##1\xint:##2\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_i
- \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
-}%
-}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-19\expandafter.%
- \the\numexpr\XINTdigits-13\expandafter.%
- \romannumeral0\XINTinfloat[\XINTdigits-13]{1/3[0]}.%
- {-5[-1]}.%
-\fi
-\ifnum\XINTdigits>27
-\def\XINT_tmpa#1.#2.#3.#4.{%
-\def\XINT_LogTen_serI_a_iv##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_a_v
- \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_a_v##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_b
- \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_b##1[##2]\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_iii
- \romannumeral0\xintadd{#3}{\xintDouble{##1}[##2-1]}\xint:
-}%
-\def\XINT_LogTen_serI_c_iii##1\xint:##2\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_ii
- \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
-}%
-}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-25\expandafter.%
- \the\numexpr\XINTdigits-19\expandafter.\expanded{%
- {-25[-2]}.%
- \XINTinFloat[\XINTdigits-13]{1/3[0]}.%
- }%
-\fi
-\ifnum\XINTdigits>33
-\def\XINT_tmpa#1.#2.#3.#4.{%
-\def\XINT_LogTen_serI_a_v##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_a_vi
- \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_a_vi##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_b
- \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_b##1[##2]\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_iv
- \romannumeral0\xintadd{#3}{\xintiiOpp##1/6[##2]}\xint:
-}%
-\def\XINT_LogTen_serI_c_iv##1\xint:##2\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_iii
- \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
-}%
-}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-31\expandafter.%
- \the\numexpr\XINTdigits-25.%
- {2[-1]}.%
- {-25[-2]}.%
-\fi
-\ifnum\XINTdigits>39
-\def\XINT_tmpa#1.#2.#3.#4.{%
-\def\XINT_LogTen_serI_a_vi##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_a_vii
- \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_a_vii##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_b
- \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_b##1[##2]\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_v
- \romannumeral0\xintadd{#3}{##1/7[##2]}\xint:
-}%
-\def\XINT_LogTen_serI_c_v##1\xint:##2\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_iv
- \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
-}%
-}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-37\expandafter.%
- \the\numexpr\XINTdigits-31\expandafter.%
- \romannumeral0\XINTinfloatS[\XINTdigits-31]{-1/6[0]}.%
- {2[-1]}.%
-\fi
-\ifnum\XINTdigits>45
-\def\XINT_tmpa#1.#2.#3.#4.{%
-\def\XINT_LogTen_serI_a_vii##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_a_viii
- \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_a_viii##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_b
- \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_b##1[##2]\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_vi
- \romannumeral0\xintadd{#3}{\xintiiMul{-125}{##1}[##2-3]}\xint:
-}%
-\def\XINT_LogTen_serI_c_vi##1\xint:##2\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_v
- \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
-}%
-}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-43\expandafter.%
- \the\numexpr\XINTdigits-37\expandafter.\expanded{%
- \XINTinFloat[\XINTdigits-37]{1/7[0]}.%
- \XINTinFloat[\XINTdigits-31]{-1/6[0]}.%
- }%
-\fi
-\ifnum\XINTdigits>51
-\def\XINT_tmpa#1.#2.#3.#4.{%
-\def\XINT_LogTen_serI_a_viii##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_a_ix
- \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_a_ix##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_b
- \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_b##1[##2]\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_vii
- \romannumeral0\xintadd{#3}{##1/9[##2]}\xint:
-}%
-\def\XINT_LogTen_serI_c_vii##1\xint:##2\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_vi
- \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
-}%
-}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-49\expandafter.%
- \the\numexpr\XINTdigits-43\expandafter.\expanded{%
- {-125[-3]}.%
- \XINTinFloat[\XINTdigits-37]{1/7[0]}.%
- }%
-\fi
-\ifnum\XINTdigits>57
-\def\XINT_tmpa#1.#2.#3.#4.{%
-\def\XINT_LogTen_serI_a_ix##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_a_x
- \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_a_x##1\xint:
-{%
- \expandafter\XINT_LogTen_serI_b
- \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint:
-}%
-\def\XINT_LogTen_serI_b##1[##2]\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_viii
- \romannumeral0\xintadd{#3}{\xintiiOpp##1[##2-1]}\xint:
-}%
-\def\XINT_LogTen_serI_c_viii##1\xint:##2\xint:
-{%
- \expandafter\XINT_LogTen_serI_c_vii
- \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
-}%
-}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-55\expandafter.%
- \the\numexpr\XINTdigits-49\expandafter.%
- \romannumeral0\XINTinfloat[\XINTdigits-49]{1/9[0]}.%
- {-125[-3]}.%
-\fi
+ \the\numexpr\XINTdigitsormax+10\expandafter.\the\numexpr\XINTdigitsormax+4.%
\def\XINT_tmpa#1.#2.{%
\def\XINT_LogTen_serII_a_ii##1\xint:
{%
@@ -1199,8 +858,8 @@
}%
}%
\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-2\expandafter.%
- \the\numexpr\XINTdigits+4.%
+ \the\numexpr\XINTdigitsormax-2\expandafter.%
+ \the\numexpr\XINTdigitsormax+4.%
\ifnum\XINTdigits>10
\def\XINT_tmpa#1.#2.#3.#4.{%
\def\XINT_LogTen_serII_a_ii##1\xint:
@@ -1224,8 +883,8 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-8\expandafter.%
- \the\numexpr\XINTdigits-2.%
+ \the\numexpr\XINTdigitsormax-8\expandafter.%
+ \the\numexpr\XINTdigitsormax-2.%
{-5[-1]}.%
{1[0]}.%
\fi
@@ -1252,9 +911,9 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-14\expandafter.%
- \the\numexpr\XINTdigits-8\expandafter.%
- \romannumeral0\XINTinfloat[\XINTdigits-8]{1/3[0]}.%
+ \the\numexpr\XINTdigitsormax-14\expandafter.%
+ \the\numexpr\XINTdigitsormax-8\expandafter.%
+ \romannumeral0\XINTinfloat[\XINTdigitsormax-8]{1/3[0]}.%
{-5[-1]}.%
\fi
\ifnum\XINTdigits>22
@@ -1280,10 +939,10 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-20\expandafter.%
- \the\numexpr\XINTdigits-14\expandafter.\expanded{%
+ \the\numexpr\XINTdigitsormax-20\expandafter.%
+ \the\numexpr\XINTdigitsormax-14\expandafter.\expanded{%
{-25[-2]}.%
- \XINTinFloat[\XINTdigits-8]{1/3[0]}.%
+ \XINTinFloat[\XINTdigitsormax-8]{1/3[0]}.%
}%
\fi
\ifnum\XINTdigits>28
@@ -1309,8 +968,8 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-26\expandafter.%
- \the\numexpr\XINTdigits-20.%
+ \the\numexpr\XINTdigitsormax-26\expandafter.%
+ \the\numexpr\XINTdigitsormax-20.%
{2[-1]}.%
{-25[-2]}.%
\fi
@@ -1337,9 +996,9 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-32\expandafter.%
- \the\numexpr\XINTdigits-26\expandafter.%
- \romannumeral0\XINTinfloatS[\XINTdigits-26]{-1/6[0]}.%
+ \the\numexpr\XINTdigitsormax-32\expandafter.%
+ \the\numexpr\XINTdigitsormax-26\expandafter.%
+ \romannumeral0\XINTinfloatS[\XINTdigitsormax-26]{-1/6[0]}.%
{2[-1]}.%
\fi
\ifnum\XINTdigits>40
@@ -1365,10 +1024,10 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-38\expandafter.%
- \the\numexpr\XINTdigits-32\expandafter.\expanded{%
- \XINTinFloat[\XINTdigits-32]{1/7[0]}.%
- \XINTinFloat[\XINTdigits-26]{-1/6[0]}.%
+ \the\numexpr\XINTdigitsormax-38\expandafter.%
+ \the\numexpr\XINTdigitsormax-32\expandafter.\expanded{%
+ \XINTinFloat[\XINTdigitsormax-32]{1/7[0]}.%
+ \XINTinFloat[\XINTdigitsormax-26]{-1/6[0]}.%
}%
\fi
\ifnum\XINTdigits>46
@@ -1394,10 +1053,10 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-44\expandafter.%
- \the\numexpr\XINTdigits-38\expandafter.\expanded{%
+ \the\numexpr\XINTdigitsormax-44\expandafter.%
+ \the\numexpr\XINTdigitsormax-38\expandafter.\expanded{%
{-125[-3]}.%
- \XINTinFloat[\XINTdigits-32]{1/7[0]}.%
+ \XINTinFloat[\XINTdigitsormax-32]{1/7[0]}.%
}%
\fi
\ifnum\XINTdigits>52
@@ -1423,9 +1082,9 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-50\expandafter.%
- \the\numexpr\XINTdigits-44\expandafter.%
- \romannumeral0\XINTinfloat[\XINTdigits-44]{1/9[0]}.%
+ \the\numexpr\XINTdigitsormax-50\expandafter.%
+ \the\numexpr\XINTdigitsormax-44\expandafter.%
+ \romannumeral0\XINTinfloat[\XINTdigitsormax-44]{1/9[0]}.%
{-125[-3]}.%
\fi
\ifnum\XINTdigits>58
@@ -1451,10 +1110,10 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-56\expandafter.%
- \the\numexpr\XINTdigits-50\expandafter.\expanded{%
+ \the\numexpr\XINTdigitsormax-56\expandafter.%
+ \the\numexpr\XINTdigitsormax-50\expandafter.\expanded{%
{-1[-1]}.%
- \XINTinFloat[\XINTdigits-44]{1/9[0]}.%
+ \XINTinFloat[\XINTdigitsormax-44]{1/9[0]}.%
}%
\fi
\def\XINT_tmpa#1.#2.{%
@@ -1474,8 +1133,8 @@
}%
}%
\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-1\expandafter.%
- \the\numexpr\XINTdigits+4.%
+ \the\numexpr\XINTdigitsormax-1\expandafter.%
+ \the\numexpr\XINTdigitsormax+4.%
\ifnum\XINTdigits>9
\def\XINT_tmpa#1.#2.#3.#4.{%
\def\XINT_LogTen_serIII_a_ii##1\xint:
@@ -1499,8 +1158,8 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-7\expandafter.%
- \the\numexpr\XINTdigits-1.%
+ \the\numexpr\XINTdigitsormax-7\expandafter.%
+ \the\numexpr\XINTdigitsormax-1.%
{-5[-1]}.%
{1[0]}.%
\fi
@@ -1527,9 +1186,9 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-13\expandafter.%
- \the\numexpr\XINTdigits-7\expandafter.%
- \romannumeral0\XINTinfloat[\XINTdigits-7]{1/3[0]}.%
+ \the\numexpr\XINTdigitsormax-13\expandafter.%
+ \the\numexpr\XINTdigitsormax-7\expandafter.%
+ \romannumeral0\XINTinfloat[\XINTdigitsormax-7]{1/3[0]}.%
{-5[-1]}.%
\fi
\ifnum\XINTdigits>21
@@ -1555,10 +1214,10 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-19\expandafter.%
- \the\numexpr\XINTdigits-13\expandafter.\expanded{%
+ \the\numexpr\XINTdigitsormax-19\expandafter.%
+ \the\numexpr\XINTdigitsormax-13\expandafter.\expanded{%
{-25[-2]}.%
- \XINTinFloat[\XINTdigits-7]{1/3[0]}.%
+ \XINTinFloat[\XINTdigitsormax-7]{1/3[0]}.%
}%
\fi
\ifnum\XINTdigits>27
@@ -1584,8 +1243,8 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-25\expandafter.%
- \the\numexpr\XINTdigits-19.%
+ \the\numexpr\XINTdigitsormax-25\expandafter.%
+ \the\numexpr\XINTdigitsormax-19.%
{2[-1]}.%
{-25[-2]}.%
\fi
@@ -1612,9 +1271,9 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-31\expandafter.%
- \the\numexpr\XINTdigits-25\expandafter.%
- \romannumeral0\XINTinfloatS[\XINTdigits-25]{-1/6[0]}.%
+ \the\numexpr\XINTdigitsormax-31\expandafter.%
+ \the\numexpr\XINTdigitsormax-25\expandafter.%
+ \romannumeral0\XINTinfloatS[\XINTdigitsormax-25]{-1/6[0]}.%
{2[-1]}.%
\fi
\ifnum\XINTdigits>39
@@ -1640,10 +1299,10 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-37\expandafter.%
- \the\numexpr\XINTdigits-31\expandafter.\expanded{%
- \XINTinFloat[\XINTdigits-31]{1/7[0]}.%
- \XINTinFloat[\XINTdigits-25]{-1/6[0]}.%
+ \the\numexpr\XINTdigitsormax-37\expandafter.%
+ \the\numexpr\XINTdigitsormax-31\expandafter.\expanded{%
+ \XINTinFloat[\XINTdigitsormax-31]{1/7[0]}.%
+ \XINTinFloat[\XINTdigitsormax-25]{-1/6[0]}.%
}%
\fi
\ifnum\XINTdigits>45
@@ -1669,10 +1328,10 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-43\expandafter.%
- \the\numexpr\XINTdigits-37\expandafter.\expanded{%
+ \the\numexpr\XINTdigitsormax-43\expandafter.%
+ \the\numexpr\XINTdigitsormax-37\expandafter.\expanded{%
{-125[-3]}.%
- \XINTinFloat[\XINTdigits-31]{1/7[0]}.%
+ \XINTinFloat[\XINTdigitsormax-31]{1/7[0]}.%
}%
\fi
\ifnum\XINTdigits>51
@@ -1698,9 +1357,9 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-49\expandafter.%
- \the\numexpr\XINTdigits-43\expandafter.%
- \romannumeral0\XINTinfloat[\XINTdigits-43]{1/9[0]}.%
+ \the\numexpr\XINTdigitsormax-49\expandafter.%
+ \the\numexpr\XINTdigitsormax-43\expandafter.%
+ \romannumeral0\XINTinfloat[\XINTdigitsormax-43]{1/9[0]}.%
{-125[-3]}.%
\fi
\ifnum\XINTdigits>57
@@ -1726,10 +1385,10 @@
\romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint:
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits-55\expandafter.%
- \the\numexpr\XINTdigits-49\expandafter.\expanded{%
+ \the\numexpr\XINTdigitsormax-55\expandafter.%
+ \the\numexpr\XINTdigitsormax-49\expandafter.\expanded{%
{-1[-1]}.%
- \XINTinFloat[\XINTdigits-43]{1/9[0]}.%
+ \XINTinFloat[\XINTdigitsormax-43]{1/9[0]}.%
}%
\fi
\XINTendxintloginput%
diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty
index 60b32512bf9..7570ffe4143 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.4e 2021/05/05
+%% The xint bundle 1.4f 2021/05/10
%% Copyright (C) 2013-2021 by Jean-Francois Burnol
%% xintseries: Expandable partial sums with xint package
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintseries}%
- [2021/05/05 v1.4e Expandable partial sums with xint package (JFB)]%
+ [2021/05/10 v1.4f 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 4d92f76819c..c3716556353 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.4e 2021/05/05
+%% The xint bundle 1.4f 2021/05/10
%% Copyright (C) 2013-2021 by Jean-Francois Burnol
%% xinttools: Expandable and non-expandable utilities
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xinttools}%
- [2021/05/05 v1.4e Expandable and non-expandable utilities (JFB)]%
+ [2021/05/10 v1.4f Expandable and non-expandable utilities (JFB)]%
\newtoks\XINT_toks
\xint_firstofone{\let\XINT_sptoken= } %<- space here!
\def\xintgodef {\global\xintodef }%
diff --git a/Master/texmf-dist/tex/generic/xint/xinttrig.sty b/Master/texmf-dist/tex/generic/xint/xinttrig.sty
index c10106cb894..0b23eaed1d7 100644
--- a/Master/texmf-dist/tex/generic/xint/xinttrig.sty
+++ b/Master/texmf-dist/tex/generic/xint/xinttrig.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle 1.4e 2021/05/05
+%% The xint bundle 1.4f 2021/05/10
%% Copyright (C) 2013-2021 by Jean-Francois Burnol
%% xinttrig: Trigonometry for the xintexpr package
%% ---------------------------------------------------------------
@@ -69,37 +69,37 @@
\expandafter\xint_secondoftwo
\fi
{\immediate\write-1{Reloading xinttrig library using Digits=\xinttheDigits.}}%
-{\expandafter\gdef\csname xintlibver@trig\endcsname{2021/05/05 v1.4e}%
+{\expandafter\gdef\csname xintlibver@trig\endcsname{2021/05/10 v1.4f}%
\XINT_providespackage
\ProvidesPackage{xinttrig}%
-[2021/05/05 v1.4e Trigonometrical functions for xintexpr (JFB)]%
+[2021/05/10 v1.4f Trigonometrical functions for xintexpr (JFB)]%
}%
\xintFor* #1 in {iDTVtuwxyzX}\do{\xintensuredummy{#1}}%
\def\xintreloadxinttrig{\input xinttrig.sty }%
\xintdefvar @twoPi :=
float(
6.2831853071795864769252867665590057683943387987502116419498891846156328125724180
- ,\xinttheDigits+4);%
+ ,\XINTdigitsormax+4);%
\xintdefvar @threePiover2 :=
float(
4.7123889803846898576939650749192543262957540990626587314624168884617246094293135
- ,\xinttheDigits+4);%
+ ,\XINTdigitsormax+4);%
\xintdefvar @Pi :=
float(
3.1415926535897932384626433832795028841971693993751058209749445923078164062862090
- ,\xinttheDigits+4);%
+ ,\XINTdigitsormax+4);%
\xintdefvar @Piover2 :=
float(
1.5707963267948966192313216916397514420985846996875529104874722961539082031431045
- ,\xinttheDigits+4);%
+ ,\XINTdigitsormax+4);%
\xintdefvar @oneDegree :=
float(
0.017453292519943295769236907684886127134428718885417254560971914401710091146034494
- ,\xinttheDigits+4);%
+ ,\XINTdigitsormax+4);%
\xintdefvar @oneRadian :=
float(
57.295779513082320876798154814105170332405472466564321549160243861202847148321553
- ,\xinttheDigits+12);%
+ ,\XINTdigitsormax+12);%
\catcode`~ 12
\def\XINT_tmpa#1#2#3.#4.%
{%
@@ -109,19 +109,19 @@
\expandafter\XINT_tmpa
\csname XINT_flexpr_exec_+_\expandafter\endcsname
\csname XINT_flexpr_exec_+\expandafter\endcsname
- \the\numexpr\XINTdigits+4.~XINTinFloatAdd_wopt.%
+ \the\numexpr\XINTdigitsormax+4.~XINTinFloatAdd_wopt.%
\expandafter\XINT_tmpa
\csname XINT_flexpr_exec_-_\expandafter\endcsname
\csname XINT_flexpr_exec_-\expandafter\endcsname
- \the\numexpr\XINTdigits+4.~XINTinFloatSub_wopt.%
+ \the\numexpr\XINTdigitsormax+4.~XINTinFloatSub_wopt.%
\expandafter\XINT_tmpa
\csname XINT_flexpr_exec_*_\expandafter\endcsname
\csname XINT_flexpr_exec_*\expandafter\endcsname
- \the\numexpr\XINTdigits+4.~XINTinFloatMul_wopt.%
+ \the\numexpr\XINTdigitsormax+4.~XINTinFloatMul_wopt.%
\expandafter\XINT_tmpa
\csname XINT_flexpr_exec_/_\expandafter\endcsname
\csname XINT_flexpr_exec_/\expandafter\endcsname
- \the\numexpr\XINTdigits+4.~XINTinFloatDiv_wopt.%
+ \the\numexpr\XINTdigitsormax+4.~XINTinFloatDiv_wopt.%
\def\XINT_tmpa#1#2#3.#4.%
{%
\let #1#2%
@@ -130,23 +130,23 @@
\expandafter\XINT_tmpa
\csname XINT_flexpr_sqrfunc\expandafter\endcsname
\csname XINT_flexpr_func_sqr\expandafter\endcsname
- \the\numexpr\XINTdigits+4.~XINTinFloatSqr_wopt.%
+ \the\numexpr\XINTdigitsormax+4.~XINTinFloatSqr_wopt.%
\expandafter\XINT_tmpa
\csname XINT_flexpr_sqrtfunc\expandafter\endcsname
\csname XINT_flexpr_func_sqrt\expandafter\endcsname
- \the\numexpr\XINTdigits+4.~XINTinFloatSqrt.%
+ \the\numexpr\XINTdigitsormax+4.~XINTinFloatSqrt.%
\expandafter\XINT_tmpa
\csname XINT_flexpr_invfunc\expandafter\endcsname
\csname XINT_flexpr_func_inv\expandafter\endcsname
- \the\numexpr\XINTdigits+4.~XINTinFloatInv_wopt.%
+ \the\numexpr\XINTdigitsormax+4.~XINTinFloatInv_wopt.%
\catcode`~ 3
\ifnum\XINTdigits>8
\edef\XINT_tmpG % 1/3!
- {1\xintReplicate{\XINTdigits+2}{6}7[\the\numexpr-\XINTdigits-4]}%
+ {1\xintReplicate{\XINTdigitsormax+2}{6}7[\the\numexpr-\XINTdigitsormax-4]}%
\edef\XINT_tmpH % 1/5!
- {8\xintReplicate{\XINTdigits+1}{3}[\the\numexpr-\XINTdigits-4]}%
+ {8\xintReplicate{\XINTdigitsormax+1}{3}[\the\numexpr-\XINTdigitsormax-4]}%
\edef\XINT_tmpd % 1/5!
- {8\xintReplicate{\XINTdigits+9}{3}[\the\numexpr-\XINTdigits-12]}%
+ {8\xintReplicate{\XINTdigitsormax+9}{3}[\the\numexpr-\XINTdigitsormax-12]}%
\def\XINT_tmpe#1.#2.#3.#4.#5#6#7%
{%
\def#5##1\xint:
@@ -163,8 +163,8 @@
}%
}%
\expandafter\XINT_tmpe
- \the\numexpr\XINTdigits+4\expandafter.%
- \the\numexpr\XINTdigits+2\expandafter.\expanded{%
+ \the\numexpr\XINTdigitsormax+4\expandafter.%
+ \the\numexpr\XINTdigitsormax+2\expandafter.\expanded{%
\XINT_tmpH.% 1/5!
\XINT_tmpG.% 1/3!
\expandafter}%
@@ -206,13 +206,13 @@
\csname XINT_#8Aux_series_c_\romannumeral\numexpr#1-2\expandafter\endcsname
\csname XINT_#8Aux_series_c_\romannumeral\numexpr#1-3\endcsname
\edef\XINT_tmpd
- {\XINTinFloat[\XINTdigits-#2+8]{\xintDiv{\XINT_tmpd}{\the\numexpr#5*(#5-1)\relax}}}%
+ {\XINTinFloat[\XINTdigitsormax-#2+8]{\xintDiv{\XINT_tmpd}{\the\numexpr#5*(#5-1)\relax}}}%
\let\XINT_tmpF\XINT_tmpG
\let\XINT_tmpG\XINT_tmpH
- \edef\XINT_tmpH{\XINTinFloat[\XINTdigits-#2]{\XINT_tmpd}}%
+ \edef\XINT_tmpH{\XINTinFloat[\XINTdigitsormax-#2]{\XINT_tmpd}}%
\expandafter\XINT_tmpc
- \the\numexpr\XINTdigits-#3\expandafter.%
- \the\numexpr\XINTdigits-#2\expandafter.\expanded{%
+ \the\numexpr\XINTdigitsormax-#3\expandafter.%
+ \the\numexpr\XINTdigitsormax-#2\expandafter.\expanded{%
\XINT_tmpH.%
\XINT_tmpG.%
\XINT_tmpF.%
@@ -239,13 +239,13 @@
\ifnum\XINTdigits>55 \XINT_tmpa 22 53 49 45 43 41 39 Sin \fi
\ifnum\XINTdigits>58 \XINT_tmpa 23 56 53 49 45 43 41 Sin \fi
\edef\XINT_tmpd % 1/4!
- {41\xintReplicate{\XINTdigits+8}{6}7[\the\numexpr-\XINTdigits-12]}%
+ {41\xintReplicate{\XINTdigitsormax+8}{6}7[\the\numexpr-\XINTdigitsormax-12]}%
\edef\XINT_tmpH % 1/4!
- {41\xintReplicate{\XINTdigits}{6}7[\the\numexpr-\XINTdigits-4]}%
+ {41\xintReplicate{\XINTdigitsormax}{6}7[\the\numexpr-\XINTdigitsormax-4]}%
\def\XINT_tmpG{5[-1]}% 1/2!
\expandafter\XINT_tmpe
- \the\numexpr\XINTdigits+4\expandafter.%
- \the\numexpr\XINTdigits+3\expandafter.\expanded{%
+ \the\numexpr\XINTdigitsormax+4\expandafter.%
+ \the\numexpr\XINTdigitsormax+3\expandafter.\expanded{%
\XINT_tmpH.%
\XINT_tmpG.%
\expandafter}%
@@ -278,12 +278,12 @@
\def\XINT_SinAux_series#1%
{%
\expandafter\XINT_SinAux_series_a_iii
- \romannumeral0\XINTinfloatS[\XINTdigits+4]{#1}\xint:
+ \romannumeral0\XINTinfloatS[\XINTdigitsormax+4]{#1}\xint:
}%
\def\XINT_CosAux_series#1%
{%
\expandafter\XINT_CosAux_series_a_iii
- \romannumeral0\XINTinfloatS[\XINTdigits+4]{#1}\xint:
+ \romannumeral0\XINTinfloatS[\XINTdigitsormax+4]{#1}\xint:
}%
\fi % end of \XINTdigits>8
\ifnum\XINTdigits<9
@@ -359,7 +359,7 @@
\def\xintSind##1%
{%
\romannumeral`&&@\expandafter\xintsind\romannumeral0\XINTinfloatS[#1]{##1}}%
-}\expandafter\XINT_tmpa\the\numexpr\XINTdigits+12.%
+}\expandafter\XINT_tmpa\the\numexpr\XINTdigitsormax+12.%
\def\xintsind #1[#2#3]%
{%
\xint_UDsignfork
@@ -373,7 +373,7 @@
\expandafter\XINT_sind_a
\romannumeral0\xinttrunc{#1}{##2[##1]}%
}%
-}\expandafter\XINT_tmpa\the\numexpr\XINTdigits+5.%
+}\expandafter\XINT_tmpa\the\numexpr\XINTdigitsormax+5.%
\def\XINT_sind_a{\expandafter\XINT_sind_i\the\numexpr\XINT_mod_ccclx_i0.}%
\def\XINT_sind_int
{%
@@ -431,7 +431,7 @@
{\romannumeral0\XINTinfloat[#1]{\xintMul{\xintSub{##1[0]}{.##2}}#2}}%
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits+4\expandafter.%
+ \the\numexpr\XINTdigitsormax+4\expandafter.%
\romannumeral`&&@\xintbarefloateval @oneDegree\relax.%
\def\XINT_sind_B#1{\xint_UDsignfork#1\XINT_sind_B_n-\XINT_sind_B_p\krof #1}%
\def\XINT_sind_C#1{\xint_UDsignfork#1\XINT_sind_C_n-\XINT_sind_C_p\krof #1}%
@@ -445,7 +445,7 @@
\def\xintCosd##1%
{%
\romannumeral`&&@\expandafter\xintcosd\romannumeral0\XINTinfloatS[#1]{##1}}%
-}\expandafter\XINT_tmpa\the\numexpr\XINTdigits+12.%
+}\expandafter\XINT_tmpa\the\numexpr\XINTdigitsormax+12.%
\def\xintcosd #1[#2#3]%
{%
\xint_UDsignfork
@@ -459,7 +459,7 @@
\expandafter\XINT_cosd_a
\romannumeral0\xinttrunc{#1}{##2[##1]}%
}%
-}\expandafter\XINT_tmpa\the\numexpr\XINTdigits+5.%
+}\expandafter\XINT_tmpa\the\numexpr\XINTdigitsormax+5.%
\def\XINT_cosd_a{\expandafter\XINT_cosd_i\the\numexpr\XINT_mod_ccclx_i0.}%
\def\XINT_cosd_int
{%
@@ -517,7 +517,7 @@
{\romannumeral0\XINTinfloat[#1]{\xintMul{\xintSub{##1[0]}{.##2}}#2}}%
}%
}\expandafter\XINT_tmpa
- \the\numexpr\XINTdigits+4\expandafter.%
+ \the\numexpr\XINTdigitsormax+4\expandafter.%
\romannumeral`&&@\xintbarefloateval @oneDegree\relax.%
\def\XINT_cosd_B#1{\xint_UDsignfork#1\XINT_cosd_B_n-\XINT_cosd_B_p\krof #1}%
\def\XINT_cosd_C#1{\xint_UDsignfork#1\XINT_cosd_C_n-\XINT_cosd_C_p\krof #1}%
@@ -578,7 +578,7 @@
{@cos(x)/@sin(x)}
{(x)??
{-@tand(\xintexpr9e1+x*@oneRadian\relax)}
- {0e0}
+ {0}
{@tand(\xintexpr9e1-x*@oneRadian\relax)}
};%
\xintdeffloatfunc @sec(x) := inv(@cos(x));%
@@ -607,7 +607,7 @@
\xintAdd{1/1[0]}{##1/6[##2]}%
}%
}%
-\expandafter\XINT_tmpc\the\numexpr\XINTdigits-14.%
+\expandafter\XINT_tmpc\the\numexpr\XINTdigitsormax-14.%
\fi
\ifnum\XINTdigits>34
\def\XINT_tmpc#1.#2.#3.#4.%
@@ -630,10 +630,10 @@
}%
}%
\expandafter\XINT_tmpc
- \the\numexpr\XINTdigits-14\expandafter.%
- \the\numexpr\XINTdigits-32\expandafter.\expanded{%
- \XINTinFloat[\XINTdigits-32]{3/40[0]}.%
- \XINTinFloat[\XINTdigits-14]{1/6[0]}.%
+ \the\numexpr\XINTdigitsormax-14\expandafter.%
+ \the\numexpr\XINTdigitsormax-32\expandafter.\expanded{%
+ \XINTinFloat[\XINTdigitsormax-32]{3/40[0]}.%
+ \XINTinFloat[\XINTdigitsormax-14]{1/6[0]}.%
}%
\fi
\ifnum\XINTdigits>52
@@ -659,11 +659,11 @@
}%
}%
\expandafter\XINT_tmpc
- \the\numexpr\XINTdigits-32\expandafter.%
- \the\numexpr\XINTdigits-50\expandafter.\expanded{%
- \XINTinFloat[\XINTdigits-50]{5/112[0]}.%
- \XINTinFloat[\XINTdigits-32]{3/40[0]}.%
- \XINTinFloat[\XINTdigits-14]{1/6[0]}.%
+ \the\numexpr\XINTdigitsormax-32\expandafter.%
+ \the\numexpr\XINTdigitsormax-50\expandafter.\expanded{%
+ \XINTinFloat[\XINTdigitsormax-50]{5/112[0]}.%
+ \XINTinFloat[\XINTdigitsormax-32]{3/40[0]}.%
+ \XINTinFloat[\XINTdigitsormax-14]{1/6[0]}.%
}%
\fi
\def\XINT_flexpr_func_@asin_I#1#2#3%
@@ -838,33 +838,35 @@
\expandafter\let
\csname XINT_flexpr_func_inv\expandafter\endcsname
\csname XINT_flexpr_invfunc\endcsname
+\edef\XINTinFloatdigitsormax{\noexpand\XINTinFloat[\the\numexpr\XINTdigitsormax]}%
+\edef\XINTinFloatSdigitsormax{\noexpand\XINTinFloatS[\the\numexpr\XINTdigitsormax]}%
\xintFor #1 in {sin, cos, tan, sec, csc, cot,
asin, acos, atan}\do
{%
- \xintdeffloatfunc #1(x) := float_(@#1(x));%
- \xintdeffloatfunc #1d(x) := float_(@#1d(x));%
- \xintdeffunc #1(x) := float_(\xintfloatexpr @#1(sfloat(x))\relax);%
- \xintdeffunc #1d(x):= float_(\xintfloatexpr @#1d(sfloat(x))\relax);%
+ \xintdeffloatfunc #1(x) := float_dgtormax(@#1(x));%
+ \xintdeffloatfunc #1d(x) := float_dgtormax(@#1d(x));%
+ \xintdeffunc #1(x) := float_dgtormax(\xintfloatexpr @#1(sfloat_dgtormax(x))\relax);%
+ \xintdeffunc #1d(x):= float_dgtormax(\xintfloatexpr @#1d(sfloat_dgtormax(x))\relax);%
}%
\xintFor #1 in {Arg, pArg, atan2}\do
{%
- \xintdeffloatfunc #1(x, y) := float_(@#1(x, y));%
- \xintdeffloatfunc #1d(x, y) := float_(@#1d(x, y));%
- \xintdeffunc #1(x, y) := float_(\xintfloatexpr @#1(sfloat(x), sfloat(y))\relax);%
- \xintdeffunc #1d(x, y):= float_(\xintfloatexpr @#1d(sfloat(x), sfloat(y))\relax);%
+ \xintdeffloatfunc #1(x, y) := float_dgtormax(@#1(x, y));%
+ \xintdeffloatfunc #1d(x, y) := float_dgtormax(@#1d(x, y));%
+ \xintdeffunc #1(x, y) := float_dgtormax(\xintfloatexpr @#1(sfloat_dgtormax(x), sfloat_dgtormax(y))\relax);%
+ \xintdeffunc #1d(x, y):= float_dgtormax(\xintfloatexpr @#1d(sfloat_dgtormax(x), sfloat_dgtormax(y))\relax);%
}%
-\xintdeffloatfunc sinc(x):= float_(@sinc(x));%
-\xintdeffunc sinc(x):= float_(\xintfloatexpr @sinc(sfloat(x))\relax);%
+\xintdeffloatfunc sinc(x):= float_dgtormax(@sinc(x));%
+\xintdeffunc sinc(x):= float_dgtormax(\xintfloatexpr @sinc(sfloat_dgtormax(x))\relax);%
\expandafter\let\csname XINT_flexpr_func_tg\expandafter\endcsname
\csname XINT_flexpr_func_tan\endcsname
\expandafter\let\csname XINT_flexpr_func_cotg\expandafter\endcsname
\csname XINT_flexpr_func_cot\endcsname
-\xintdeffloatvar twoPi := @twoPi;%
-\xintdeffloatvar threePiover2 := @threePiover2;%
-\xintdeffloatvar Pi := @Pi;%
-\xintdeffloatvar Piover2 := @Piover2;%
-\xintdeffloatvar oneDegree := @oneDegree;%
-\xintdeffloatvar oneRadian := @oneRadian;%
+\xintdefvar twoPi := float_dgtormax(@twoPi);%
+\xintdefvar threePiover2 := float_dgtormax(@threePiover2);%
+\xintdefvar Pi := float_dgtormax(@Pi);%
+\xintdefvar Piover2 := float_dgtormax(@Piover2);%
+\xintdefvar oneDegree := float_dgtormax(@oneDegree);%
+\xintdefvar oneRadian := float_dgtormax(@oneRadian);%
\xintunassignvar{@twoPi}\xintunassignvar{@threePiover2}%
\xintunassignvar{@Pi}\xintunassignvar{@Piover2}%
\xintunassignvar{@oneRadian}\xintunassignvar{@oneDegree}%