#### Archived

This topic is now archived and is closed to further replies.

# logarithm

## Recommended Posts

jenova    122
is anyone aware of an algorithm to compute logarithm other than the Tayler series method? thanx for any responses.

##### Share on other sites
Graylien    160
Here's a little recursive algorithm due to John Napier (16th century).

//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