texlive[60920] Master/texmf-dist: polexpr (1nov21)
commits+karl at tug.org
commits+karl at tug.org
Mon Nov 1 21:33:05 CET 2021
Revision: 60920
http://tug.org/svn/texlive?view=revision&revision=60920
Author: karl
Date: 2021-11-01 21:33:05 +0100 (Mon, 01 Nov 2021)
Log Message:
-----------
polexpr (1nov21)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/generic/polexpr/README.md
trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.html
trunk/Master/texmf-dist/tex/generic/polexpr/polexpr.sty
trunk/Master/texmf-dist/tex/generic/polexpr/polexprcore.tex
trunk/Master/texmf-dist/tex/generic/polexpr/polexprexpr.tex
trunk/Master/texmf-dist/tex/generic/polexpr/polexprsturm.tex
Modified: trunk/Master/texmf-dist/doc/generic/polexpr/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/generic/polexpr/README.md 2021-11-01 20:32:51 UTC (rev 60919)
+++ trunk/Master/texmf-dist/doc/generic/polexpr/README.md 2021-11-01 20:33:05 UTC (rev 60920)
@@ -89,8 +89,11 @@
Track `xintexpr` 1.4e changes
- 0.8.3 (2021/05/27)
Track `xintexpr` 1.4h changes
+- 0.8.4 (2021/11/01)
+ Bugfix: `PolSturmIsolateZeros**` did not declare the square free
+ part of the original polynomial if no real root existed.
-Files of 0.8.3 release:
+Files of 0.8.4 release:
- polexpr.sty, polexprcore.tex, polexprexpr.tex, polexprsturm.tex,
- README.md,
Modified: trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.html
===================================================================
--- trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.html 2021-11-01 20:32:51 UTC (rev 60919)
+++ trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.html 2021-11-01 20:33:05 UTC (rev 60920)
@@ -598,7 +598,7 @@
<body>
<div class="document" id="package-polexpr-documentation">
<h1 class="title">Package polexpr documentation</h1>
-<p class="subtitle" id="id1">0.8.3 (2021/05/27)</p>
+<p class="subtitle" id="id1">0.8.4 (2021/11/01)</p>
<div class="contents topic" id="contents">
<p class="topic-title">Contents</p>
@@ -4197,7 +4197,14 @@
least on loading.</p></li>
</ul>
</li>
+<li><p>v0.8.4 (2021/11/01)</p>
+<ul class="simple">
+<li><p>bugfix: <a class="reference internal" href="#id17">\PolSturmIsolateZeros**{<sturmname>}</a> did not
+declare the <span class="docutils literal"><sturmname>_norr</span> and <span class="docutils literal"><sturmname>_sqf_norr</span>
+polynomials if original polynomial had no real root!</p></li>
</ul>
+</li>
+</ul>
</div>
<div class="section" id="acknowledgments">
<h1><a class="toc-backref" href="#id201">Acknowledgments</a></h1>
Modified: trunk/Master/texmf-dist/tex/generic/polexpr/polexpr.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/polexpr/polexpr.sty 2021-11-01 20:32:51 UTC (rev 60919)
+++ trunk/Master/texmf-dist/tex/generic/polexpr/polexpr.sty 2021-11-01 20:33:05 UTC (rev 60920)
@@ -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.3 (2021/05/27) of polexpr.sty. This file inputs
+% Release 0.8.4 (2021/11/01) of polexpr.sty. This file inputs
% polexprcore.tex
% polexprexpr.tex
% polexprsturm.tex
Modified: trunk/Master/texmf-dist/tex/generic/polexpr/polexprcore.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/polexpr/polexprcore.tex 2021-11-01 20:32:51 UTC (rev 60919)
+++ trunk/Master/texmf-dist/tex/generic/polexpr/polexprcore.tex 2021-11-01 20:33:05 UTC (rev 60920)
@@ -1,4 +1,4 @@
-%% This file polexprcore.tex is part of the polexpr package (0.8.3, 2021/05/27)
+%% This file polexprcore.tex is part of the polexpr package (0.8.4, 2021/11/01)
%% Core routines to match infix operators +, -, *, //, /:, ^, ** and some
%% functions
%% The atoms representing polynomials inside \xintexpr are
Modified: trunk/Master/texmf-dist/tex/generic/polexpr/polexprexpr.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/polexpr/polexprexpr.tex 2021-11-01 20:32:51 UTC (rev 60919)
+++ trunk/Master/texmf-dist/tex/generic/polexpr/polexprexpr.tex 2021-11-01 20:33:05 UTC (rev 60920)
@@ -1,4 +1,4 @@
-%% This file polexprexpr.tex is part of the polexpr package (0.8.3, 2021/05/27)
+%% This file polexprexpr.tex is part of the polexpr package (0.8.4, 2021/11/01)
%% Extending \xintexpr syntax:
%%
%% 1. Authorize ' in variable and function names
Modified: trunk/Master/texmf-dist/tex/generic/polexpr/polexprsturm.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/polexpr/polexprsturm.tex 2021-11-01 20:32:51 UTC (rev 60919)
+++ trunk/Master/texmf-dist/tex/generic/polexpr/polexprsturm.tex 2021-11-01 20:33:05 UTC (rev 60920)
@@ -1,4 +1,4 @@
-%% This file polexprsturm.tex is part of the polexpr package (0.8.3, 2021/05/27)
+%% This file polexprsturm.tex is part of the polexpr package (0.8.4, 2021/11/01)
%% Sturm Algorithm (polexpr 0.4)
%% 0.5 uses primitive polynomials for faster evaluations afterwards
%% 0.6 corrects misuse of \@ifstar! (mumble). \PolToSturm* was broken.
@@ -196,6 +196,18 @@
\edef\POL at sturm@N{\@nameuse{PolSturmChainLength_\POL at sturmname}}%
% isolate the roots (detects case of constant polynomial)
\PolSturmIsolateZeros@{\POL at sturmname}%
+ % 0.8.4 fix: these declarations were formerly not executed in absence of roots!
+ % on ne va pas utiliser de Horner, mais des divisions par X - x, et ces
+ % choses vont évoluer, ainsi que le coefficient dominant entier
+ % (pour \POL at divide entre autres if faut des noms de user pol)
+ \XINT_global
+ \expandafter\let
+ \csname POLuserpol@\POL at sturmname\POL at sqfnorr\expandafter\endcsname
+ \csname POLuserpol@\POL at sturmname _0\endcsname
+ \XINT_global
+ \expandafter\let
+ \csname POLuserpol@\POL at sturmname\POL at norr\expandafter\endcsname
+ \csname POLuserpol@\POL at sturmname _0_\endcsname
\ifnum\POL at isolz@NbOfRoots=\z@
% no real roots, define empty arrays nevertheless
\begingroup\globaldefs\@ne
@@ -207,17 +219,6 @@
\begingroup\globaldefs\@ne
\expandafter\POL at initarray\csname POL_ZM\POL at sturmname*\endcsname{1}%
\endgroup
- % on ne va pas utiliser de Horner, mais des divisions par X - x, et ces
- % choses vont évoluer, ainsi que le coefficient dominant entier
- % (pour \POL at divide entre autres if faut des noms de user pol)
- \XINT_global
- \expandafter\let
- \csname POLuserpol@\POL at sturmname\POL at sqfnorr\expandafter\endcsname
- \csname POLuserpol@\POL at sturmname _0\endcsname
- \XINT_global
- \expandafter\let
- \csname POLuserpol@\POL at sturmname\POL at norr\expandafter\endcsname
- \csname POLuserpol@\POL at sturmname _0_\endcsname
% attention formé avec\xintREZ d'où le \xintAbs pas \xintiiAbs
% D and its exponent E will get updated along the way
\edef\POL at findrat@D{\xintAbs{\PolLeadingCoeff{\POL at sturmname _0}}}%
@@ -243,12 +244,12 @@
\def\POL at findrat@index{1}%
\POL at findrat@loop at secondpass
\fi
- % declare the new polynomials
- \POL at newpol{\POL at sturmname\POL at sqfnorr}% without multiplicities
- \POL at newpol{\POL at sturmname\POL at norr}% with multiplicities
% declare the array holding the interval indices for the rational roots
\expandafter\POL at findrat@doRRarray\csname POL_RI\POL at sturmname*\endcsname
\fi
+ % declare the new polynomials (also if no real roots exist)
+ \POL at newpol{\POL at sturmname\POL at sqfnorr}% without multiplicities
+ \POL at newpol{\POL at sturmname\POL at norr}% with multiplicities
}%
\def\POL at findrat@doRRarray#1{%
% il faudrait un \xintAssignArray* qui fasse même expansion que \xintFor*
More information about the tex-live-commits
mailing list.