texlive[49948] Master/texmf-dist: polexpr (5feb19)

commits+karl at tug.org commits+karl at tug.org
Tue Feb 5 22:56:18 CET 2019


Revision: 49948
          http://tug.org/svn/texlive?view=revision&revision=49948
Author:   karl
Date:     2019-02-05 22:56:17 +0100 (Tue, 05 Feb 2019)
Log Message:
-----------
polexpr (5feb19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/polexpr/README.md
    trunk/Master/texmf-dist/doc/latex/polexpr/polexpr.html
    trunk/Master/texmf-dist/doc/latex/polexpr/polexpr.txt
    trunk/Master/texmf-dist/tex/latex/polexpr/polexpr.sty

Modified: trunk/Master/texmf-dist/doc/latex/polexpr/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/polexpr/README.md	2019-02-05 21:55:49 UTC (rev 49947)
+++ trunk/Master/texmf-dist/doc/latex/polexpr/README.md	2019-02-05 21:56:17 UTC (rev 49948)
@@ -4,7 +4,7 @@
 License
 -------
 
-Copyright (C) 2018 Jean-François Burnol
+Copyright (C) 2018-2019 Jean-François Burnol
 
 See documentation of package [xint](http://www.ctan.org/pkg/xint) for
 contact information.
@@ -73,12 +73,13 @@
   The `'` character can be used in polynomial names.
 - 0.6 (2018/11/20)
   New feature: multiplicity of roots.
-- 0.7 (2018/12/08)
+- 0.7 (2018/12/08), 0.7.1 (bugfix), 0.7.2 (bugfix) (2018/12/09)
   New feature: finding all rational roots.
-- 0.7.1, 0.7.2 (2018/12/09)
-  Emergency bugfix.
+- 0.7.3 (2019/02/04)
+  Bugfix: polynomial names ending in digits caused errors. Thanks to
+  Thomas Söll for report.
 
-Files of 0.7.2 release:
+Files of 0.7.3 release:
 
 - README.md,
 - polexpr.sty (package file),

Modified: trunk/Master/texmf-dist/doc/latex/polexpr/polexpr.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/polexpr/polexpr.html	2019-02-05 21:55:49 UTC (rev 49947)
+++ trunk/Master/texmf-dist/doc/latex/polexpr/polexpr.html	2019-02-05 21:56:17 UTC (rev 49948)
@@ -362,7 +362,7 @@
 <body>
 <div class="document" id="package-polexpr-documentation">
 <h1 class="title">Package polexpr documentation</h1>
-<h2 class="subtitle" id="id1">0.7.2 (2018/12/09)</h2>
+<h2 class="subtitle" id="id1">0.7.3 (2019/02/04)</h2>
 
 <!-- comment: -*- fill-column: 72; mode: rst; -*- -->
 <div class="contents topic" id="contents">
@@ -753,10 +753,10 @@
 </pre>
 <p>In this example, the output will look like this (but using math mode):</p>
 <pre class="literal-block">
-x^9 − 8.9667x^8 + 35.73400293x^7 − 83.070418400109x^6 + 124.143648875193123x^5
-− 123.683070924326075877x^4 + 82.149260397553075617891x^3
-− 35.07602992699900159127007x^2 + 8.7364078733314648368671733x
-− 0.967100824643585986488103299
+x^9 - 8.9667x^8 + 35.73400293x^7 - 83.070418400109x^6 + 124.143648875193123x^5
+- 123.683070924326075877x^4 + 82.149260397553075617891x^3
+- 35.07602992699900159127007x^2 + 8.7364078733314648368671733x
+- 0.967100824643585986488103299
 
 The multiplicity is 3 at the root x = 0.99
 The multiplicity is 3 at the root x = 0.999
@@ -778,10 +778,10 @@
 </pre>
 <p>This produces:</p>
 <pre class="literal-block">
-x^9 − 8.9667x^8 + 35.73400293x^7 − 83.070418400109x^6 + 124.143648875193123x^5
-− 123.683070924326075877x^4 + 82.149260397553075617891x^3
-− 35.07602992699900159127007x^2 + 8.7364078733314648368671733x
-− 0.967100824643585986488103298
+x^9 - 8.9667x^8 + 35.73400293x^7 - 83.070418400109x^6 + 124.143648875193123x^5
+- 123.683070924326075877x^4 + 82.149260397553075617891x^3
+- 35.07602992699900159127007x^2 + 8.7364078733314648368671733x
+- 0.967100824643585986488103298
 
 The multiplicity is 1 for the root such that 0.98 < x < 0.99
 The multiplicity is 1 for the root such that 0.9991 < x < 0.9992
@@ -2078,7 +2078,7 @@
 <blockquote>
 <p>For output in this style:</p>
 <pre class="literal-block">
-2*x^11/3+3*x^8/7-x^5−x^4/4−x^3−x^2/2−2*x+1
+2*x^11/3+3*x^8/7-x^5-x^4/4-x^3-x^2/2-2*x+1
 </pre>
 <p>issue <tt class="docutils literal">\let\PolToExprOneTerm\PolToExprOneTermStyleB</tt> before usage of
 <tt class="docutils literal">\PolToExpr</tt>. Note that then <tt class="docutils literal">\PolToExprCmd</tt> isn't used at all.
@@ -2816,11 +2816,7 @@
 </li>
 </ul>
 </li>
-<li><p class="first">v0.7 (2018/12/08) (not released)</p>
-</li>
-<li><p class="first">v0.7.1 (2018/12/09) (bugfix)</p>
-</li>
-<li><p class="first">v0.7.2 (2018/12/09)</p>
+<li><p class="first">v0.7 (2018/12/08), v0.7.1 (bugfix), v0.7.2 (2nd bugfix) (2018/12/09)</p>
 <ul class="simple">
 <li>breaking changes:<ul>
 <li>although <a class="reference internal" href="#polprintintervals-varname-sturmname">\PolPrintIntervals[varname]{sturmname}</a> default output
@@ -2870,7 +2866,23 @@
 </li>
 </ul>
 </li>
+<li><p class="first">v0.7.3 (2019/02/04)</p>
+<ul class="simple">
+<li>bug fixes:<ul>
+<li>Debugging information not destined to user showed in log if root
+finding was done under <tt class="docutils literal">\xintverbosetrue</tt> regime.</li>
+<li><a class="reference internal" href="#polprintintervalsthevar">\PolPrintIntervalsTheVar</a> remained defined after
+<a class="reference internal" href="#polprintintervals">\PolPrintIntervals</a> but was left undefined after
+<a class="reference internal" href="#id18">\PolPrintIntervals*</a> (reported by Jürgen Gilg). Now remains
+defined in both cases, and <a class="reference internal" href="#polprintintervalsthesturmname">\PolPrintIntervalsTheSturmName</a>
+also.</li>
+<li>Polynomial names ending in digits caused errors (reported by Thomas
+Söll).</li>
 </ul>
+</li>
+</ul>
+</li>
+</ul>
 </div>
 <div class="section" id="acknowledgments">
 <h1><a class="toc-backref" href="#id160">Acknowledgments</a></h1>

Modified: trunk/Master/texmf-dist/doc/latex/polexpr/polexpr.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/polexpr/polexpr.txt	2019-02-05 21:55:49 UTC (rev 49947)
+++ trunk/Master/texmf-dist/doc/latex/polexpr/polexpr.txt	2019-02-05 21:56:17 UTC (rev 49948)
@@ -4,7 +4,7 @@
  Package polexpr documentation
 ===============================
 
-0.7.2 (2018/12/09)
+0.7.3 (2019/02/04)
 ==================
 
 .. contents::
@@ -266,10 +266,10 @@
 
 In this example, the output will look like this (but using math mode)::
 
-  x^9 − 8.9667x^8 + 35.73400293x^7 − 83.070418400109x^6 + 124.143648875193123x^5
-  − 123.683070924326075877x^4 + 82.149260397553075617891x^3 
-  − 35.07602992699900159127007x^2 + 8.7364078733314648368671733x
-  − 0.967100824643585986488103299
+  x^9 - 8.9667x^8 + 35.73400293x^7 - 83.070418400109x^6 + 124.143648875193123x^5
+  - 123.683070924326075877x^4 + 82.149260397553075617891x^3 
+  - 35.07602992699900159127007x^2 + 8.7364078733314648368671733x
+  - 0.967100824643585986488103299
 
   The multiplicity is 3 at the root x = 0.99
   The multiplicity is 3 at the root x = 0.999
@@ -292,10 +292,10 @@
 
 This produces::
 
-  x^9 − 8.9667x^8 + 35.73400293x^7 − 83.070418400109x^6 + 124.143648875193123x^5
-  − 123.683070924326075877x^4 + 82.149260397553075617891x^3 
-  − 35.07602992699900159127007x^2 + 8.7364078733314648368671733x
-  − 0.967100824643585986488103298
+  x^9 - 8.9667x^8 + 35.73400293x^7 - 83.070418400109x^6 + 124.143648875193123x^5
+  - 123.683070924326075877x^4 + 82.149260397553075617891x^3 
+  - 35.07602992699900159127007x^2 + 8.7364078733314648368671733x
+  - 0.967100824643585986488103298
 
   The multiplicity is 1 for the root such that 0.98 < x < 0.99
   The multiplicity is 1 for the root such that 0.9991 < x < 0.9992
@@ -1756,7 +1756,7 @@
 
     For output in this style::
 
-      2*x^11/3+3*x^8/7-x^5−x^4/4−x^3−x^2/2−2*x+1
+      2*x^11/3+3*x^8/7-x^5-x^4/4-x^3-x^2/2-2*x+1
 
     issue ``\let\PolToExprOneTerm\PolToExprOneTermStyleB`` before usage of
     ``\PolToExpr``. Note that then ``\PolToExprCmd`` isn't used at all.
@@ -2498,12 +2498,8 @@
     - `\\PolSturmNbWithMultOfRootsOf{sturmname}\\LessThanOrEqualTo{value}`_
     - `\\PolSturmNbWithMultOfRootsOf{sturmname}\\LessThanOrEqualToExpr{expression}`_
 
-- v0.7 (2018/12/08) (not released)
+- v0.7 (2018/12/08), v0.7.1 (bugfix), v0.7.2 (2nd bugfix) (2018/12/09)
 
-- v0.7.1 (2018/12/09) (bugfix)
-
-- v0.7.2 (2018/12/09)
-
   * breaking changes:
 
     - although `\\PolPrintIntervals[varname]{sturmname}`_ default output
@@ -2550,7 +2546,21 @@
     - `\\PolPrintIntervalsTheSturmName`_
     - `\\PolPrintIntervalsTheMultiplicity`_
 
+- v0.7.3 (2019/02/04)
 
+  * bug fixes:
+
+    - Debugging information not destined to user showed in log if root
+      finding was done under ``\xintverbosetrue`` regime.
+    - `\\PolPrintIntervalsTheVar`_ remained defined after
+      `\\PolPrintIntervals`_ but was left undefined after
+      `\\PolPrintIntervals*`_ (reported by Jürgen Gilg). Now remains
+      defined in both cases, and `\\PolPrintIntervalsTheSturmName`_
+      also.
+    - Polynomial names ending in digits caused errors (reported by Thomas
+      Söll).
+
+
 Acknowledgments
 ---------------
 

Modified: trunk/Master/texmf-dist/tex/latex/polexpr/polexpr.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polexpr/polexpr.sty	2019-02-05 21:55:49 UTC (rev 49947)
+++ trunk/Master/texmf-dist/tex/latex/polexpr/polexpr.sty	2019-02-05 21:56:17 UTC (rev 49948)
@@ -1,13 +1,14 @@
 % author: Jean-François Burnol
 % License: LPPL 1.3c (author-maintained)
 \ProvidesPackage{polexpr}%
-  [2018/12/09 v0.7.2 Polynomial expressions with rational coefficients (JFB)]%
+  [2019/02/04 v0.7.3 Polynomial expressions with rational coefficients (JFB)]%
 \RequirePackage{xintexpr}[2018/06/17]% xint 1.3c for \ifxintglobaldefs boolean
 \edef\POL at restorecatcodes
     {\catcode`\noexpand\_ \the\catcode`\_ %
      \catcode`\noexpand\! \the\catcode`\! %
+     \catcode`\noexpand\* \the\catcode`\* %
      \catcode0 \the\catcode0\relax}%
-\catcode`\_ 11 \catcode0 12
+\catcode`\_ 11 \catcode0 12 \catcode`\* 12
 \long\def\xint_stop_atfirstoftwo  #1#2{ #1}% not yet in xint 1.3c
 \long\def\xint_stop_atsecondoftwo #1#2{ #2}%
 
@@ -889,13 +890,13 @@
   \ifnum\POL at isolz@NbOfRoots=\z@
      % no real roots, define empty arrays nevertheless
      \begingroup\globaldefs\@ne
-     \expandafter\xintAssignArray\expandafter\to\csname POL_ZeroMult\POL at sturmname\endcsname
-     \expandafter\xintAssignArray\expandafter\to\csname POL_RRIndex\POL at sturmname\endcsname
+     \expandafter\xintAssignArray\expandafter\to\csname POL_ZM\POL at sturmname*\endcsname
+     \expandafter\xintAssignArray\expandafter\to\csname POL_RI\POL at sturmname*\endcsname
      \endgroup
   \else
      % all we currently know is that multiplicities are at least one
      \begingroup\globaldefs\@ne
-     \expandafter\POL at initarray\csname POL_ZeroMult\POL at sturmname\endcsname{1}%
+     \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
@@ -935,7 +936,7 @@
      \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_RRIndex\POL at sturmname\endcsname
+     \expandafter\POL at findrat@doRRarray\csname POL_RI\POL at sturmname*\endcsname
   \fi
 }%
 \def\POL at findrat@doRRarray#1{%
@@ -942,7 +943,7 @@
   % il faudrait un \xintAssignArray* qui fasse même expansion que \xintFor*
   \edef\POL at temp{%
     \xintiloop[1+1]
-    \romannumeral0\csname POL_ZeroIsKnown\POL at sturmname\xintiloopindex\endcsname
+    \romannumeral0\csname POL_ZK\POL at sturmname*\xintiloopindex\endcsname
     \xintbracediloopindex % I should have named it \xintiloopbracedindex...
     {}%
     \ifnum\xintiloopindex<\POL at isolz@NbOfRoots\space
@@ -1197,13 +1198,13 @@
 \def\POL at findrat@loop at storeit{%
   % update storage, I can not use storeleftandright here (due to rawout etc...)
   \expandafter
-  \xdef\csname POL_ZeroInt\POL at sturmname L\POL at findrat@index\endcsname
+  \xdef\csname POL_ZL\POL at sturmname*\POL at findrat@index\endcsname
                                      {\PolDecToString{\POL at findrat@x}}%
   \global\expandafter
-  \let\csname POL_ZeroInt\POL at sturmname R\POL at findrat@index\expandafter\endcsname
-       \csname POL_ZeroInt\POL at sturmname L\POL at findrat@index\endcsname
+  \let\csname POL_ZR\POL at sturmname*\POL at findrat@index\expandafter\endcsname
+       \csname POL_ZL\POL at sturmname*\POL at findrat@index\endcsname
   \global\expandafter
-  \let\csname POL_ZeroIsKnown\POL at sturmname\POL at findrat@index\endcsname
+  \let\csname POL_ZK\POL at sturmname*\POL at findrat@index\endcsname
         \xint_stop_atfirstoftwo
   \begingroup\xintglobaldefstrue
     % skip some overhead of \xintdefvar...
@@ -1236,9 +1237,9 @@
     \POL at mapcoeffs\POL at aux@toint{\POL at sturmname\POL at norr}%
     \expandafter
     \xdef
-    \csname POL_ZeroMult\POL at sturmname\POL at findrat@index\endcsname
+    \csname POL_ZM\POL at sturmname*\POL at findrat@index\endcsname
       {\the\numexpr
-       \csname POL_ZeroMult\POL at sturmname\POL at findrat@index\endcsname+\@ne}%
+       \csname POL_ZM\POL at sturmname*\POL at findrat@index\endcsname+\@ne}%
     \expandafter\POL at findrat@loop at getmultiplicity
   \else 
   % done with multiplicity for this rational root, update stuff
@@ -1290,12 +1291,12 @@
   \ifnum\POL at isolz@NbOfRoots=\z@
   % no roots, define empty array nevertheless
      \begingroup\globaldefs\@ne
-     \expandafter\xintAssignArray\expandafter\to\csname POL_ZeroMult\POL at sturmname\endcsname
+     \expandafter\xintAssignArray\expandafter\to\csname POL_ZM\POL at sturmname*\endcsname
      \endgroup
   \else
      % all we currently know is that multiplicities are at least one
      \begingroup\globaldefs\@ne
-     \expandafter\POL at initarray\csname POL_ZeroMult\POL at sturmname\endcsname{1}%
+     \expandafter\POL at initarray\csname POL_ZM\POL at sturmname*\endcsname{1}%
      \endgroup
      % check if GCD had positive degree (hence some roots, maybe complex, have
      % multiplicity)
@@ -1324,7 +1325,7 @@
     \xintloop
     % skip some overhead of \xintdefvar...
       \XINT_expr_defvar_one{\POL at sturmname M_\x}%
-         {\csname .=\csname POL_ZeroMult\POL at sturmname\x\endcsname\endcsname}%
+         {\csname .=\csname POL_ZM\POL at sturmname*\x\endcsname\endcsname}%
     \edef\x{\the\numexpr\x-\@ne}%
     \ifnum\x>\z@
     \repeat
@@ -1396,10 +1397,10 @@
    \ifnum\POL at isolzmult@haszero>\z@
      \expandafter
      \xdef
-     \csname POL_ZeroMult\POL at originalsturmname\POL at isolzmult@index\endcsname
+     \csname POL_ZM\POL at originalsturmname*\POL at isolzmult@index\endcsname
        {\the\numexpr
-        \csname POL_ZeroMult\POL at originalsturmname
-                            \POL at isolzmult@index\endcsname+\@ne}%
+        \csname POL_ZM\POL at originalsturmname
+                            *\POL at isolzmult@index\endcsname+\@ne}%
    \else
      % multiplicity now known, no need to check this index in future
      \@namedef{POL at IfMultIsKnown\POL at isolzmult@index}{\xint_firstoftwo}%
@@ -1449,15 +1450,15 @@
   \fi
   \ifnum\POL at isolz@NbOfRoots=\z@
      \begingroup\globaldefs\@ne
-     \expandafter\xintAssignArray\expandafter\to\csname POL_ZeroInt#2L\endcsname
-     \expandafter\xintAssignArray\expandafter\to\csname POL_ZeroInt#2R\endcsname
-     \expandafter\xintAssignArray\expandafter\to\csname POL_ZeroIsKnown#2\endcsname
+     \expandafter\xintAssignArray\expandafter\to\csname POL_ZL#2*\endcsname
+     \expandafter\xintAssignArray\expandafter\to\csname POL_ZR#2*\endcsname
+     \expandafter\xintAssignArray\expandafter\to\csname POL_ZK#2*\endcsname
      \endgroup
   \else
      \begingroup\globaldefs\@ne
-     \expandafter\POL at initarray\csname POL_ZeroInt#2L\endcsname{0}%
-     \expandafter\POL at initarray\csname POL_ZeroInt#2R\endcsname{0}%
-     \expandafter\POL at initarray\csname POL_ZeroIsKnown#2\endcsname
+     \expandafter\POL at initarray\csname POL_ZL#2*\endcsname{0}%
+     \expandafter\POL at initarray\csname POL_ZR#2*\endcsname{0}%
+     \expandafter\POL at initarray\csname POL_ZK#2*\endcsname
                  \xint_stop_atsecondoftwo
      \endgroup
      \ifx\empty#1\relax\expandafter\POL at isolz@getaprioribound\fi
@@ -1697,11 +1698,11 @@
   \repeat
 }%
 \def\POL at isolz@check{% \POL at IsoRightSign must be ready for use here
-\ifxintverbose
-  \xintMessage{polexpr}{Info}%
-  {\the\numexpr\POL at IsoLeftSV-\POL at IsoRightSV\relax\space roots
-   in (\POL at IsoLeft@raw,\POL at IsoRight@raw] (E = \POL at isolz@E)}%
-\fi
+% \ifxintverbose
+%   \xintMessage{polexpr}{Info}%
+%   {\the\numexpr\POL at IsoLeftSV-\POL at IsoRightSV\relax\space roots
+%    in (\POL at IsoLeft@raw,\POL at IsoRight@raw] (E = \POL at isolz@E)}%
+% \fi
     \ifcase\numexpr\POL at IsoLeftSV-\POL at IsoRightSV\relax
     % no root in ]left, right]
       \global\POL at isolz@nextwillneedrefinefalse
@@ -1884,18 +1885,16 @@
 }%
 \def\POL at refine@storeleftandright{%
     \expandafter
-    \xdef\csname POL_ZeroInt\POL at sturmname
-                 L\POL at isolz@IntervalIndex\endcsname
+    \xdef\csname POL_ZL\POL at sturmname*\POL at isolz@IntervalIndex\endcsname
          {\PolDecToString{\POL at IsoLeft@rawout}}%
     \expandafter
-    \xdef\csname POL_ZeroInt\POL at sturmname
-                 R\POL at isolz@IntervalIndex\endcsname
+    \xdef\csname POL_ZR\POL at sturmname*\POL at isolz@IntervalIndex\endcsname
          {\PolDecToString{\POL at IsoRight@rawout}}%
     % added at 0.6
     \ifnum\POL at IsoRightSign=\z@
       \global
       \expandafter
-      \let\csname POL_ZeroIsKnown\POL at sturmname\POL at isolz@IntervalIndex\endcsname
+      \let\csname POL_ZK\POL at sturmname*\POL at isolz@IntervalIndex\endcsname
           \xint_stop_atfirstoftwo
     \fi
     \begingroup\xintglobaldefstrue
@@ -2020,8 +2019,8 @@
 % le \xintRez est à cause des E positifs, car trailing zéros explicites
 % si je travaillais à partir des variables xintexpr directement ne devrait
 % pas être nécessaire, mais trop fragile par rapport à chgt internes possibles
-     \romannumeral0\xintrez{\xintSub{\@nameuse{POL_ZeroInt#1R}{#2}}%
-                                    {\@nameuse{POL_ZeroInt#1L}{#2}}}
+     \romannumeral0\xintrez{\xintSub{\@nameuse{POL_ZR#1*}{#2}}%
+                                    {\@nameuse{POL_ZL#1*}{#2}}}
 }%
 
 
@@ -2029,7 +2028,7 @@
    % localize roots in intervals of length at most 10^{#2}
    \edef\POL at sturmname{#1}%
    \edef\POL at ensure@targetE{\the\numexpr#2}%
-   \edef\POL at nbofroots{\csname POL_ZeroInt\POL at sturmname L0\endcsname}%
+   \edef\POL at nbofroots{\csname POL_ZL\POL at sturmname*0\endcsname}%
    \ifnum\POL at nbofroots>\z@
       \expandafter\POL at ensureintervallengths
    \fi
@@ -2053,7 +2052,7 @@
 % peut-être autoriser -1, -2, ... ?
    \ifnum\POL at isolz@IntervalIndex>\z@
 % 0.7, add this safeguard but attention means this structure must be in place
-   \ifnum\csname POL_ZeroInt\POL at sturmname L0\endcsname>\z@
+   \ifnum\csname POL_ZL\POL at sturmname*0\endcsname>\z@
 % je ne fais pas les \expandafter mais je préfèrerai ne pas être à l'intérieur
      \POL at ensure@one
    \fi
@@ -2124,9 +2123,9 @@
 }%
 \newcommand\PolPrintIntervals@[2][Z]{\POL at PrintIntervals{#1}{#2}}%
 \newcommand\POL at PrintIntervals[2]{%
+   \def\PolPrintIntervalsTheVar{#1}%
    \def\PolPrintIntervalsTheSturmName{#2}%
-   \def\PolPrintIntervalsTheVar{#1}%
-   \ifnum\@nameuse{POL_ZeroInt#2L}{0}=\z@
+   \ifnum\@nameuse{POL_ZL#2*}{0}=\z@
      \PolPrintIntervalsNoRealRoots
    \else
      \gdef\PolPrintIntervalsTheIndex{1}%
@@ -2138,6 +2137,8 @@
      }\POL at tmp
    \fi
    \POL at AfterPrintIntervals
+   \def\PolPrintIntervalsTheVar{#1}%
+   \def\PolPrintIntervalsTheSturmName{#2}%
 }%
 \let\POL at AfterPrintIntervals\@empty
 \newcommand\PolPrintIntervalsNoRealRoots{}%
@@ -2195,7 +2196,7 @@
     \PolPrintIntervalsUnknownRoot
   \xdef\PolPrintIntervalsTheIndex{\the\numexpr\PolPrintIntervalsTheIndex+\@ne}%
   \unless\ifnum\PolPrintIntervalsTheIndex>
-               \@nameuse{POL_ZeroInt\PolPrintIntervalsTheSturmName L0}
+               \@nameuse{POL_ZL\PolPrintIntervalsTheSturmName*0}
      \POL at PrintIntervals@DoDefs
      \xint_afterfi{\\\POL at PrintIntervals@Loop}%
   \fi
@@ -2202,21 +2203,17 @@
 }%
 \def\POL at PrintIntervals@DoDefs{%
   \xdef\PolPrintIntervalsTheLeftEndPoint{%
-     \csname POL_ZeroInt%
-             \PolPrintIntervalsTheSturmName L\PolPrintIntervalsTheIndex
+     \csname POL_ZL\PolPrintIntervalsTheSturmName*\PolPrintIntervalsTheIndex
      \endcsname
   }%
   \xdef\PolPrintIntervalsTheRightEndPoint{%
-     \csname POL_ZeroInt%
-             \PolPrintIntervalsTheSturmName R\PolPrintIntervalsTheIndex
+     \csname POL_ZR\PolPrintIntervalsTheSturmName*\PolPrintIntervalsTheIndex
      \endcsname
   }%
   \xdef\PolPrintIntervalsTheMultiplicity{%
-     \ifcsname POL_ZeroMult%
-             \PolPrintIntervalsTheSturmName\PolPrintIntervalsTheIndex
+     \ifcsname POL_ZM\PolPrintIntervalsTheSturmName*\PolPrintIntervalsTheIndex
      \endcsname
-     \csname POL_ZeroMult%
-             \PolPrintIntervalsTheSturmName\PolPrintIntervalsTheIndex
+     \csname POL_ZM\PolPrintIntervalsTheSturmName*\PolPrintIntervalsTheIndex
      \endcsname
      \else
      ?% or use 0 ?
@@ -2226,36 +2223,36 @@
 
 
 \newcommand\PolSturmIfZeroExactlyKnown[2]{% #1 = sturmname, #2=index
-    \romannumeral0\csname POL_ZeroIsKnown#1\endcsname{#2}%
+    \romannumeral0\csname POL_ZK#1*\endcsname{#2}%
 }%
 \newcommand\POL at SturmIfZeroExactlyKnown[2]{% #1 = sturmname, #2=index
-    \romannumeral0\csname POL_ZeroIsKnown#1\the\numexpr#2\endcsname
+    \romannumeral0\csname POL_ZK#1*\the\numexpr#2\endcsname
 }%
 \newcommand\PolSturmIsolatedZeroMultiplicity[2]{%
-    \romannumeral`^^@\csname POL_ZeroMult#1\endcsname{#2}%
+    \romannumeral`^^@\csname POL_ZM#1*\endcsname{#2}%
 }%
 \newcommand\PolSturmIsolatedZeroLeft[2]{%
-    \romannumeral`^^@\csname POL_ZeroInt#1L\endcsname{#2}%
+    \romannumeral`^^@\csname POL_ZL#1*\endcsname{#2}%
 }%
 \newcommand\PolSturmIsolatedZeroRight[2]{%
-    \romannumeral`^^@\csname POL_ZeroInt#1R\endcsname{#2}%
+    \romannumeral`^^@\csname POL_ZR#1*\endcsname{#2}%
 }%
 \newcommand\PolSturmNbOfIsolatedZeros[1]{%
-    \romannumeral`^^@\csname POL_ZeroInt#1L0\endcsname
+    \romannumeral`^^@\csname POL_ZL#1*0\endcsname
 }%
 \newcommand\PolSturmRationalRoot[2]{%
-    \romannumeral`^^@\csname POL_ZeroInt#1L%
-                     \csname POL_RRIndex#1\endcsname{#2}\endcsname
+    \romannumeral`^^@\csname POL_ZL#1*%
+                     \csname POL_RI#1*\endcsname{#2}\endcsname
 }%
 \newcommand\PolSturmRationalRootIndex[2]{%
-    \romannumeral`^^@\csname POL_RRIndex#1\endcsname{#2}%
+    \romannumeral`^^@\csname POL_RI#1*\endcsname{#2}%
 }%
 \newcommand\PolSturmRationalRootMultiplicity[2]{%
-    \romannumeral`^^@\csname POL_ZeroMult#1%
-                     \csname POL_RRIndex#1\endcsname{#2}\endcsname
+    \romannumeral`^^@\csname POL_ZM#1%
+                     *\csname POL_RI#1*\endcsname{#2}\endcsname
 }%
 \newcommand\PolSturmNbOfRationalRoots[1]{%
-    \romannumeral`^^@\csname POL_RRIndex#10\endcsname
+    \romannumeral`^^@\csname POL_RI#1*0\endcsname
 }%
 \newcommand\PolSturmNbOfRationalRootsWithMultiplicities[1]{%
 % means the \POL at norr must not have been changed in-between...



More information about the tex-live-commits mailing list