Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Real
- def log
- return if zero?
- _ = self
- return (- _).log if _ < zero
- if _ > 2 or _ < unity
- e = 0
- e, _ = e + 1, _ / 2 while _ > 2
- e, _ = e - 1, _ * 2 while _ < 1
- _.log + e * 2.log
- else
- _ = x = unity - inverse
- t = 1
- i, r = 1, 0
- until t.zero?
- r += t
- i += 1
- _ *= x
- t = _ / i
- end
- r
- end
- end
- end
Add Comment
Please, Sign In to add comment