X-Spam-Check-By: sourceware.org
Message-ID: <ba40711f0705020758k3eb49747qa70b6161c4050e87@mail.gmail.com>
Date: Wed, 2 May 2007 10:58:22 -0400
From: "Lev Bishop" <lev.bishop@gmail.com>
To: cygwin@cygwin.com
Subject: Re: newlib?: pow function can produce incorrect results.
In-Reply-To: <548611.6765.qm@web59105.mail.re1.yahoo.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
References: <548611.6765.qm@web59105.mail.re1.yahoo.com>
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

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/

