From LiteratePrograms
#!/usr/bin/python
from __future__ import division
def log(N,X):
epsilon = 0.000000000001
integer_value=0
while X < 1:
integer_value = integer_value - 1
X = X * N
while X >= N:
integer_value = integer_value + 1
X = X / N
decfrac = 0.0
partial = 0.5
X=X*X
while partial > epsilon:
while X >= N:
decfrac = decfrac + partial
X = X / N
partial = partial / 2
X=X*X
return (integer_value + decfrac)
if __name__ == '__main__':
value = 45.7
print " X =",value
print "LOG6(X) =",log(6,value)
print " LN(X) =",log(2.718281828,value)
# SAMPLE OUTPUT
# $ python log.py
# X = 45.7
# LOG6(X) = 2.13315367578
# LN(X) = 3.82209829854