"John Maddock"
In Mathematical Special Functions, why are the functions not template specialisations?
You would have to ask the original author of that section, but I believe it was C compatibility.
I'm also under that impression.
There is also the issue that many of these functions can only be implemented efficiently if you know the precission of the argument type up front, so the float/double/long double versions would have different implementations in any case (different Chebyshev polynomial approximations for example) and there would be no "generic" implementation readily possible.
I've also heard comments from the Dinkumware folks that testing is a really major undertaking with these functions, and it also has to be very precision specific. --Beman