On 5/1/07, Cary R. wrote:
Patch generated and applied to newlib CVS. As an added bonus I fixed a few other inconsistencies in acos(), asin(), log() and log10().
Just for the benefit of anyone else investigating this kind of thing in the future, because I got confused by it and had to do some searching, the "pow(x,0)=1, even for x=NaN" and "pow(-1,+-inf)=1" rules are cases where the (freely available) earlier public drafts of C99 differ from the final version of the standard (which you have to purchase). This has confused other projects also, see eg: http://lists.debian.org/debian-glibc/2003/03/msg00223.html Other potentially controversial special cases (may or may not be handled correctly by newlib -- I didn't check) are: atan2(+-0,-0)=+-pi atan2(+-0,+0)=+-0 hypot(+-inf,y)=+inf, even for y=NaN fmax(x,NaN)=fmax(NaN,x)=fmin(x,NaN)=fmin(NaN,x)=x -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/