Use of C99 extra long double math functions after r236148

Stephen Montgomery-Smith stephen at
Mon May 28 23:44:45 UTC 2012

On 05/28/2012 06:30 PM, Steve Kargl wrote:

>> From clog.c in
> 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 

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