logarithm
is anyone aware of an algorithm to compute logarithm other than the Tayler series method? thanx for any responses.
Here's a little recursive algorithm due to John Napier (16th century).
Invoking, say, recLog(100, 10, 1000, 1, 3) gives 1.99999 or so. (Be wary of numberical errors)
Edited by - Graylien on June 28, 2001 9:59:41 PM
//Globals defined outside of function for claritystatic double aMean = -1.0; //arithmetic meanstatic double gMean = -1.0; //geometric meanstatic double precision = 0.00001; //adjustable precision/*n is the number whose log is soughtb1 and b2 are two boundary values where b1 < n < b2l1 and l2 are the known logs of b1 and b2, respectively*/double rLog(double n, double b1, double b2, double l1, double l2) { if( abs(b1 - b2) > precision ) { gMean = sqrt( b1 * b2 ); aMean = ( l1 + l2 ) / 2; if( n <= gMean ) rLog(n, b1, gMean, l1, aMean); else rLog(m, gMean, b2, aMean, l2); } return aMean;}
Invoking, say, recLog(100, 10, 1000, 1, 3) gives 1.99999 or so. (Be wary of numberical errors)
Edited by - Graylien on June 28, 2001 9:59:41 PM
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement