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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to