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