From 9a5889e58edc1fefd23ea27d4db6a872c7d84959 Mon Sep 17 00:00:00 2001
From: Karl Berry
Date: Wed, 5 May 2021 19:35:58 +0000
Subject: polexpr (5may21)
git-svn-id: svn://tug.org/texlive/trunk@59088 c570f23f-e606-0410-a88d-b1316a301751
---
Master/texmf-dist/doc/generic/polexpr/README.md | 6 +-
Master/texmf-dist/doc/generic/polexpr/polexpr.html | 67 +++++++++++-----------
Master/texmf-dist/tex/generic/polexpr/polexpr.sty | 12 ++--
.../texmf-dist/tex/generic/polexpr/polexprcore.tex | 11 ++--
.../texmf-dist/tex/generic/polexpr/polexprexpr.tex | 2 +-
.../tex/generic/polexpr/polexprsturm.tex | 2 +-
6 files changed, 51 insertions(+), 49 deletions(-)
(limited to 'Master')
diff --git a/Master/texmf-dist/doc/generic/polexpr/README.md b/Master/texmf-dist/doc/generic/polexpr/README.md
index 1ea68b2df7e..936520a6220 100644
--- a/Master/texmf-dist/doc/generic/polexpr/README.md
+++ b/Master/texmf-dist/doc/generic/polexpr/README.md
@@ -85,8 +85,10 @@ Releases
and enhancement of xintexpr 1.4.
- 0.8.1 (2021/04/12)
Bugfix: a typo broke the 0.8 ``diff1()`` and related functions.
+- 0.8.2 (2021/05/05)
+ Track `xintexpr` 1.4e changes
-Files of 0.8.1 release:
+Files of 0.8.2 release:
- polexpr.sty, polexprcore.tex, polexprexpr.tex, polexprsturm.tex,
- README.md,
@@ -96,7 +98,7 @@ Acknowledgments
---------------
Thanks to Jürgen Gilg whose question about
-[xintexpr](http://www.ctan.org/pkg/xintexpr) usage for differentiating
+[xintexpr](http://www.ctan.org/pkg/xint) usage for differentiating
polynomials was the initial trigger leading to this package, and to
Jürgen Gilg and Thomas Söll for testing it on some concrete problems.
diff --git a/Master/texmf-dist/doc/generic/polexpr/polexpr.html b/Master/texmf-dist/doc/generic/polexpr/polexpr.html
index 6b9881daef0..25b4fa170c2 100644
--- a/Master/texmf-dist/doc/generic/polexpr/polexpr.html
+++ b/Master/texmf-dist/doc/generic/polexpr/polexpr.html
@@ -598,7 +598,7 @@ a { text-decoration: none; }
Package polexpr documentation
-
0.8.1 (2021/04/12)
+
0.8.2 (2021/05/05)
Contents
@@ -1209,22 +1209,6 @@ declared from
\poldef as variables.
Only in case of a scalar denominator is it to be considered stable.
Please use rather
quo().
-
-
Warning
-
The pow(x,a) function of xintexpr for x^a with fractional
-a will not (with current xintexpr 1.4d) accept a polynomial
-as first variable even if the second argument is an integer.
-
It is possible (via \poormanloghack) to instruct \xintexpr to
-let x**a or x^a be as pow(x,a). If this is done **
-(resp. ^) will become unusable with polynomials (i.e. will create
-a low-level TeX error).
-
And vice versa if polexpr gets loaded after the \poormanloghack
-was used, ** and ^ in \xintexpr/\xinteval will again only
-accept integer powers.
-
Thus employ \poormanloghack for at most one of ** or ^
-in order to keep one of them available for polynomials and integer
-powers.
-
@@ -3239,20 +3223,9 @@ especially coefficients equal to plus or minus one.
The one-argument macro used by \PolToFloatExprOneTerm.
-It defaults to \xintFloat{#1}.
-
-
Caution!
-
Currently \xintFloat{0} outputs 0.e0
-which is perfectly acceptable input for Python, but not for
-Maple. Thus, one should better leave the \\ifpoltoexprall TeX
-Boolean to its default \poltoexprallfalse, if one intends to use
-the output in a Maple worksheet.
-
But even then the zero polynomial will cause a problem. Workaround:
-
\renewcommand\PolToFloatExprCmd[1]{\xintiiifZero{#1}{0.0}{\xintFloat{#1}}}
-
Usage of \xintiiifZero and not \xintifZero is only for
-optimization (I can't help it) because #1 is known to be
-in xintfrac raw format.
-
+It defaults to \xintPFloat{#1}, which trims trailing
+zeroes.
+changed at 0.8.2 Formerly it was using \xintFloat.
@@ -4176,13 +4149,13 @@ description.
bugfix:
-sadly, diff1(), diff2(), diffn() were broken
+
Sadly, diff1(), diff2(), diffn() were broken
for polynomials of degrees 8 or more, due to a typo and
insufficient testing.
-the package should have (as documented) required xintexpr 1.4d
+
The package should have (as documented) required xintexpr 1.4d
but in practice it accepted to work with xintexpr 1.4c, whose
\xinteval does not know how to "output" a polynomial.
-the definition of one of the two variants of \PolSturmNbOfRootsOf was broken by an end-of-line space, left-over
+
The definition of one of the two variants of \PolSturmNbOfRootsOf was broken by an end-of-line space, left-over
from mass conversion from LaTeX to TeX syntax.
@@ -4194,6 +4167,32 @@ from mass conversion from LaTeX to TeX syntax.
+v0.8.2 (2021/05/05)
+
+breaking change:
+
+
+improved:
+
+Some xintexpr functions such as rseq() use the semi-colon,
+and it was mentioned in the documentation that \poldef
+will be confused by this and that inner semi-colons could be
+set within braces {;} as a work-around. It was not clear from
+this documentation that also \PolDef required
+this work-around. With this relase only \poldef but
+not \PolDef needs the work-around.
+
+
+
+
+
+
+
diff --git a/Master/texmf-dist/tex/generic/polexpr/polexpr.sty b/Master/texmf-dist/tex/generic/polexpr/polexpr.sty
index 420f469cf12..90b47050cfc 100644
--- a/Master/texmf-dist/tex/generic/polexpr/polexpr.sty
+++ b/Master/texmf-dist/tex/generic/polexpr/polexpr.sty
@@ -2,7 +2,7 @@
% License: LPPL 1.3c (author-maintained)
% Usage: \input polexpr.sty (Plain or other macro formats)
% or \usepackage{polexpr} (LaTeX macro format)
-% Release 0.8.1 (2021/04/12) of polexpr.sty. This file inputs
+% Release 0.8.2 (2021/05/05) of polexpr.sty. This file inputs
% polexprcore.tex
% polexprexpr.tex
% polexprsturm.tex
@@ -54,11 +54,11 @@
\XINTsetupcatcodes% (does \endlinechar13 in particular)
\XINT_providespackage
\ProvidesPackage{polexpr}%
- [2021/04/12 v0.8.1 Polynomial expressions with rational coefficients (JFB)]%
+ [2021/05/05 v0.8.2 Polynomial expressions with rational coefficients (JFB)]%
\begingroup
\def\x#1/#2/#3 #4\xint:{#1#2#3}%
\ifnum\expandafter\x\expanded{\csname ver@xintexpr.sty\endcsname}\xint:
- <20210329 %
+ <20210505 %
\immediate\write128{! Package polexpr error: xintexpr too old, aborting input}%
\else\expandafter\xint_gobble_i
\fi
@@ -200,7 +200,7 @@
%% \poldef
%%
\def\PolDef{\POL@chkopt\POL@oPolDef[x]}%
-\def\POL@oPolDef[#1]#2#3{\poldef #2(#1):=#3;}%
+\def\POL@oPolDef[#1]#2#3{\poldef #2(#1):={#3};}%
\def\poldef{\edef\POL@restoresemicolon{\catcode59=\the\catcode59\relax}%
\catcode59 12 \POL@defpol}%
\def\POL@defpol #1(#2)#3=#4;{%
@@ -919,7 +919,7 @@
\def\PolIContent#1{\xintGCDof{\PolToList{#1}}}%
%
\def\PolToExprCmd#1{\xintPRaw{\xintRawWithZeros{#1}}}%
-\def\PolToFloatExprCmd#1{\xintFloat{#1}}%
+\def\PolToFloatExprCmd#1{\xintPFloat{#1}}% CHANGED AT 0.8.2! was \xintFloat
% \def\PolTypesetCmdPrefix#1{\xintiiifSgn{#1}{}{+}{+}}%
\let\PolToExprTermPrefix\PolTypesetCmdPrefix
\def\PolToExprOneTermStyleA#1#2{%
@@ -1055,4 +1055,4 @@
\if\relax#4\expandafter\xint_gob_til_dot\fi
#1{#4}#2{#3}\the\numexpr\@ne+#3.%
}%
-\XINT_restorecatcodes_endinput%
+\XINTrestorecatcodesendinput%
diff --git a/Master/texmf-dist/tex/generic/polexpr/polexprcore.tex b/Master/texmf-dist/tex/generic/polexpr/polexprcore.tex
index a5c93f0f467..66d85123799 100644
--- a/Master/texmf-dist/tex/generic/polexpr/polexprcore.tex
+++ b/Master/texmf-dist/tex/generic/polexpr/polexprcore.tex
@@ -1,4 +1,4 @@
-%% This file polexprcore.tex is part of the polexpr package (0.8.1, 2021/04/12)
+%% This file polexprcore.tex is part of the polexpr package (0.8.2, 2021/05/05)
%% Core routines to match infix operators +, -, *, //, /:, ^, ** and some
%% functions
%% The atoms representing polynomials inside \xintexpr are
@@ -383,17 +383,17 @@
\def\POL_pow_in #1\xint:#2%
{%
{%
- \expandafter\POL_pow_fork\the\numexpr \xintNum{#2}.#1\empty
+ \expandafter\POL_pow_fork\romannumeral0\xintraw{#2}.#1\empty
}%
}%
-\def\POL_pow_fork #1#2.%
+\def\POL_pow_fork #1%#2.%
{%
\xint_UDzerominusfork
#1-\POL_pow_zero
0#1\POL_pow_neg
0-\POL_pow_pos
\krof
- #1#2.%
+ #1%#2.%
}%
\def\POL_pow_zero #1\empty{1/1[0]}%
\def\POL_pow_neg #1.#2%
@@ -402,7 +402,7 @@
}%
\def\POL_pow_pos #1.#2%
{%
- \POL_Pfork #2{\POL_pow_a}P{\POL_pow_scalar}\krof #1.#2%
+ \POL_Pfork #2{\POL_pow_aa}P{\POL_pow_scalar}\krof #1.#2%
}%
\def\POL_pow_scalar #1.#2\empty
{%
@@ -413,6 +413,7 @@
\romannumeral0\XINT_signalcondition{InvalidOperation}%
{Not supported: polynomial to negative power #1}{}{1/1[0]}%
}%
+\def\POL_pow_aa #1.{\expandafter\POL_pow_a\the\numexpr\xintNum{#1}.}%
\def\POL_pow_a #1.%
{%
% trailing \empty will disappear in expanded context (old comment)
diff --git a/Master/texmf-dist/tex/generic/polexpr/polexprexpr.tex b/Master/texmf-dist/tex/generic/polexpr/polexprexpr.tex
index adb228a48b0..3df136f9f83 100644
--- a/Master/texmf-dist/tex/generic/polexpr/polexprexpr.tex
+++ b/Master/texmf-dist/tex/generic/polexpr/polexprexpr.tex
@@ -1,4 +1,4 @@
-%% This file polexprexpr.tex is part of the polexpr package (0.8.1, 2021/04/12)
+%% This file polexprexpr.tex is part of the polexpr package (0.8.2, 2021/05/05)
%% Extending \xintexpr syntax:
%%
%% 1. Authorize ' in variable and function names
diff --git a/Master/texmf-dist/tex/generic/polexpr/polexprsturm.tex b/Master/texmf-dist/tex/generic/polexpr/polexprsturm.tex
index c21980830cd..115a27d5504 100644
--- a/Master/texmf-dist/tex/generic/polexpr/polexprsturm.tex
+++ b/Master/texmf-dist/tex/generic/polexpr/polexprsturm.tex
@@ -1,4 +1,4 @@
-%% This file polexprsturm.tex is part of the polexpr package (0.8.1, 2021/04/12)
+%% This file polexprsturm.tex is part of the polexpr package (0.8.2, 2021/05/05)
%% Sturm Algorithm (polexpr 0.4)
%% 0.5 uses primitive polynomials for faster evaluations afterwards
%% 0.6 corrects misuse of \@ifstar! (mumble). \PolToSturm* was broken.
--
cgit v1.2.3