logarithm

Started by
1 comment, last by jenova 22 years, 9 months ago
is anyone aware of an algorithm to compute logarithm other than the Tayler series method? thanx for any responses.
To the vast majority of mankind, nothing is more agreeable than to escape the need for mental exertion... To most people, nothing is more troublesome than the effort of thinking.
Advertisement
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
------When thirsty for life, drink whisky. When thirsty for water, add ice.
thanx alot, graylien. that''s exactly what i was looking for.

To the vast majority of mankind, nothing is more agreeable than to escape the need for mental exertion... To most people, nothing is more troublesome than the effort of thinking.
To the vast majority of mankind, nothing is more agreeable than to escape the need for mental exertion... To most people, nothing is more troublesome than the effort of thinking.

This topic is closed to new replies.

Advertisement