Use of C99 extra long double math functions after r236148
Stephen Montgomery-Smith
stephen at missouri.edu
Mon May 28 23:44:45 UTC 2012
On 05/28/2012 06:30 PM, Steve Kargl wrote:
>
>> From clog.c in http://www.netlib.org/cephes/c9x-complex
>
> double complex
> ccosh (z)
> double complex z;
> {
> double complex w;
> double x, y;
>
> x = creal(z);
> y = cimag(z);
> w = cosh (x) * cos (y) + (sinh (x) * sin (y)) * I;
> return (w);
> }
>
> See math_private.h about the above.
>
I looked in math_private.h - I presume you meant
lib/msun/src/math_private.h. I wasn't able to find anything about ccosh
there.
I think that for a rough and ready ccosh, this is high enough quality
for a math/cephes port.
I do agree that it might not be high enough quality to make FreeBSD base.
(Although I don't think I have ever been in a situation where I would
have been tripped up by a transcendental function that responded
incorrectly to exceptional input.)
> And, finally,
Yes, it is very nice.
>
> Who's writing the code to test the implementations? That is
> better much the problem. Without testing, one might get an
> implementation that appears to work until it doesn't! It took
> me 3+ years to get sqrtl() into libm, but bde and das (and
> myself) wanted to make sure the code worked.
Fair enough if we are talking about the base system.
> I haven't looked at glibc code in years, because I hack on libm
> when I can. I do not want to run into questions about whether
> my code is tainted by the gpl.
>
They had similar lists of exceptions.
More information about the freebsd-current
mailing list