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/texmf-dist') 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.

-

Experimental infix operators //, /:

@@ -3239,20 +3223,9 @@ especially coefficients equal to plus or minus one.

\PolToFloatExprCmd{<raw_coeff>}

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:

  • @@ -4194,6 +4167,32 @@ from mass conversion from LaTeX to TeX syntax.

    +
  • v0.8.2 (2021/05/05)

    + +
    +
      +
    • track xintexpr 1.4e changes relative to powers.

    • +
    +
    +
  • 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