TR1 Math
Ed Smith-Rowland
3dw4rd@verizon.net
Sat Mar 25 15:55:00 GMT 2006
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tr1_math.diff.gz
Type: application/x-gzip
Size: 16947 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20060325/1dd24929/attachment.bin>
More information about the Libstdc++
mailing list