[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.

2021-05-04 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156

Richard Biener  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.

2020-01-28 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-28
 CC||marxin at gcc dot gnu.org,
   ||redi at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #6 from Martin Liška  ---
@Jonathan: Can you please take a look?

[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.

2019-07-15 Thread emsr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156

emsr at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #46598|0   |1
is obsolete||

--- Comment #5 from emsr at gcc dot gnu.org ---
Created attachment 46600
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46600&action=edit
Fix testcases for just x < 0.

The last patch accidentally brought in other changes and failed.
This patch is just about x < 0 for laguerre and assoc_laguerre and passes on
x86_64-linux.

[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.

2019-07-15 Thread emsr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156

emsr at gcc dot gnu.org changed:

   What|Removed |Added

Version|9.0 |10.0
   Severity|normal  |enhancement

--- Comment #4 from emsr at gcc dot gnu.org ---
N.B. This 'bug' and the patches apply both to the 'regular' Laguerre polynomial
laguerre(n,x) and to the associated Laguerre polynomial assoc_laguerre(n,m,x).

Note that this gets rid of a throw or two.  The mandated special function
throws should become preconditions anyway. Later.

Furthermore, if the not-so-special functions like pow, exp, sin, etc. can be
constexpr then these can be too. Later.

[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.

2019-07-14 Thread emsr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156

--- Comment #3 from emsr at gcc dot gnu.org ---
N.B. This 'bug' and the patches apply both to the 'regular' Laguerre polynomial
laguerre(n,x) and to the associated Laguerre polynomial assoc_laguerre(n,m,x).

Note that this gets rid of a throw or two.  The mandated special function
throws should become preconditions anyway. Later.

Furthermore, if the not-so-special functions like pow, exp, sin, etc. can be
constexpr then these can be too. Later.

[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.

2019-07-14 Thread emsr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156

--- Comment #2 from emsr at gcc dot gnu.org ---
Created attachment 46598
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46598&action=edit
Obvious patch...

2019-07-14  Edward Smith-Rowland  <3dw...@verizon.net>

* libstdc++-v3/include/tr1/poly_laguerre.tcc: Revove check for x >= 0.
* libstdc++-v3/testsuite/special_functions/
01_assoc_laguerre/check_value.cc: Extend testing to negative arguments.
* libstdc++-v3/testsuite/special_functions/
16_laguerre/check_value.cc: Ditto.
* libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/
01_assoc_laguerre/check_value.cc: Ditto.
* libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/
18_laguerre/check_value.cc: Ditto.

[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.

2019-07-13 Thread emsr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156

--- Comment #1 from emsr at gcc dot gnu.org ---

The standard shows the definitions based on the Rodrigues formulae for x >= 0.
So maybe this is an extension in the strictest sense.

Are the Rodrigues formulae only valid for x >= 0.  I don't think so. no.  Not
for the Laguerre polynomials and the associated Laguerre polynomials.

So the x >= 0 should be stricken from the wording on these two functions.

(Now for the *Legendre* polynomials and functions, these involve sqrt(1-x^2) so
|x| <= 1 is required unless we go off the deep end with complex and watnot. 
Which we don't really. At least not yet.)

Implementors would not have to add new code to support this. Upward recursion
works just fine. Summation of a hypergeomeric series would work just fine.  in
fact, the terms don't alternate so you wouldn't get cancellation errors.