This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
TR1 Math
- From: Ed Smith-Rowland <3dw4rd at verizon dot net>
- To: libstdc++ at gcc dot gnu dot org
- Date: Sat, 25 Mar 2006 10:55:53 -0500
- Subject: TR1 Math
All,
I have to accept that the TR1 math won't be done for 4.2. However, I
have enough done that I think it would be worthwhile to report on the
status and get some feedback and suggestions and maybe some help.
In terms of structure I have implemented the functions as generics with
template arguments and using the type promotion functions in common.h.
These in turn are called by inline functions with arguments as expected
by TR1.
I think it would really be great to have ONE implementation instead of
three - one for each precision.
I terms of what I have done:
* The Legendre, Hermite, and Laguerre functions are ready.
* The Riemann zeta function works.
* The exponential integral works.
* The six elliptic integrals are in good shape. I'm using
representation in terms of the Carlson elliptic function.
* The hypergeometric functions work. The confluent hypergeometric
function is quite good.
* The Bessel functions are working in some regimes and not in others.
In fact, the low argument regime is just
missing. I just didn't have time to get these completed. Bessel
functions have traditionally been a minefield.
The spherical Bessel and Neumann functions will just call their
corresponding cylindrical functions with the
appropriate argument and order.
Mostly, I wanted to show the patch and give people a chance to critique
the overall strategy and to provide
insight/help on the specific techniques.
I disagree somewhat with the suggestion committee that these functions
are completely understood even in the real argument regime. As an old
physics professor of mine said "This stuff is cut but not dried". It
will take a while
for these to get really good. But I really think we could have
something by the time 4.3 branches and maybe before if they would let us.
I did start on the testsuite. These are just compile tests at present.
It is my intention that NaN checks
and some spot evaluation checks will be present as well. I think it
would be worthwhile to have a GSL-TR1
deathmatch although this might not be appropriate for the testsuite.
Ed Smith-Rowland.
Attachment:
tr1_math.diff.gz
Description: GNU Zip compressed data