Thread View: net.bugs
2 messages
2 total messages
Started by Guido van Rossum
Thu, 05 Jan 1984 20:20
C log function inaccurate (with fix) (many UNIX versions)
Author: Guido van Rossum
Date: Thu, 05 Jan 1984 20:20
Date: Thu, 05 Jan 1984 20:20
21 lines
1427 bytes
1427 bytes
One of my colleagues discovered that the log function the the mathematical
C library is quite inaccurate. What's more, he also provided a change
to one of the coefficients which much improved it. Here they are:
BAD: p2 = -.963769093368686593e1;
GOOD: p2 = -.963769093377840513e1;
^^^^^^^^
So now you should all go and fix your C library.
I found the same coefficients in UNIX V7 as in 4.2 BSD, so I suspect
they are probably in almost all other UNIXes around the world.
Related question: the source states
"The coefficients are #2705 from Hart & Cheney. (19.38D)".
We cannot locate this reference in our institute's library.
Does someone know what this references, and give us a more precise pointer?
Guido van Rossum, {philabs,decvax}!mcvax!guido
Centre for Mathematics and Computer Science, (CWI, formerly MC), Amsterdam
(with thanks to Lambert Meertens)
Re: C log function inaccurate (with fix) (many UNIX versions)
Author: Geoffrey Collyer
Date: Sat, 07 Jan 1984 22:37
Date: Sat, 07 Jan 1984 22:37
41 lines
2164 bytes
2164 bytes
DDT
BAD: p2 = -.963769093368686593e1;
GOOD: p2 = -.963769093377840513e1;
^^^^^^^^
Related question: the source states
"The coefficients are #2705 from Hart & Cheney. (19.38D)".
We cannot locate this reference in our institute's library.
Does someone know what this references, and give us a more precise pointer?
Guido van Rossum, {philabs,decvax}!mcvax!guido
Centre for Mathematics and Computer Science, (CWI, formerly MC), Amsterdam
---
The oft-cited Hart & Cheney is
Computer Approximations
John F. Hart, E. W. Cheney, Charles L. Lawson, Hans J. Maehly,
Charles K. Mesztenyi, John R. Rice, Henry G. Thacher, Jr.,
Christoph Witzgall
Robert E. Kreiger Publishing Company, 645 New York Avenue,
Huntington, New York 11743, 1978
Copyright 1968 by John Wiley & Sons, Inc.
Original edition 1968
Reprint 1978 with corrections
Library of Congress: QA297.C64 1978
ISBN 0-88275-642-7
This book appears to have been used as a source of coefficients
throughout the mathematical library (-lm).
The ``BAD'' p2 coefficient above is from table 2705 on p. 195.
p. 111 explains that this table is coefficients for computing
ln(x) as approximately z*(zP(z^2)/Q(z^2)), z=(x-1)/(x+1)
where x is on the range [1/sqrt(2), sqrt(2)]
and yields a precision of 19.38, where precision is defined as
``the range of validity of the approximation (-log10(maximum error))''
(p. 83). I'm *certainly* no numerical analyst, but I read that to
mean that precision is the number of significant digits that may
be assumed to be correct.
Geoff Collyer, U. of Toronto
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads