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.