[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#182574: libc6: The pow() function gives incorrect results on special cases (nan, inf...)



On Thu, Feb 27, 2003 at 19:59:12 +0900, GOTO Masanori wrote:
> Also look at Appendix F.9.4.4. instead of 7.12.7.4-2.

OK, I didn't know that they were normalized. I had a quick look at

  http://www.validlab.com/754R/standards/754.ps

(link from <http://www.validlab.com/754R/>), but I didn't see anything
concerning transcendental functions. Perhaps an addition of IEC 60559
over IEEE 754?

BTW, note that pow(±1, ±inf) returns a NaN, so

pow(1, nan) = 1
pow(1, inf) = 1
pow(1, -inf) = 1

are incorrect too.

Some choices are a bit strange, e.g. pow(x, +inf) for -1 < x < 0. The
standard says +0, but I think that -0 would have been more logical in
the rounding to minus infinity.

-- 
Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> - 100%
validated (X)HTML - Acorn Risc PC, Yellow Pig 17, Championnat International
des Jeux Mathématiques et Logiques, TETRHEX, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA



Reply to: