svn commit: r215237 - head/lib/msun/src

Bruce Evans brde at optusnet.com.au
Mon Nov 15 16:09:25 UTC 2010


On Tue, 16 Nov 2010, Bruce Evans wrote:

> ...
> I checked most cases specified in n1156.pdf and found only the following
> non-conforming behaviour in FreeBSD:
>
> %C99 rule               -- pow(-Inf, y) returns -0 for y an odd integer < 0.
> %fdlibm rule(?)  *	17. -INF ** (anything)  = -0 ** (-anything)
>
> fdlibm error: returns +0 instead of -0.  I'm not sure if I matched the
> rules correctly.

False alarm.  It actually returns -0 as specified.

> %C99 rule               -- pow(-1, +-Inf) returns 1.
> %fdlibm rule     *	9.  +-1         ** +-INF is NAN
>
> fdlibm non-error: pow(-1, +-Inf) is NaN, not 1 as specified by C99.
> fdlibm non-error: pow(1, +-Inf) is 1 as specified by C99, not NaN as
> claimed in the comment.

So I didn't find any non-conforming behaviour in fdlibm except for not
conforming to the new pow(-1, +-Inf) bug (which is required for conistency
with old bugs).

Bruce


More information about the svn-src-head mailing list