This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]