ログ関数

ログ記録用の関数…ではなくて対数を求める関数。

浮動小数点演算器がある環境なら、
https://code.google.com/p/fastapprox/
の実装がどうやら速くて良さそう。テイラー展開した?多項式で小数部の精度を上げていくっぽいけど、何でそれで精度が上げられるのかは実は解っていない。

浮動小数点演算を行わないやり方をインターネットで結構調べたけれど、
http://winnyefanho.net/research/Log2.pdf
http://www.claysturner.com/dsp/BinaryLogarithm.pdf
こういう解説を色々見ても数学的な記述が良く解らなかった。しかもアメリカでパテントが取られているとか??

http://yacas.sourceforge.net/Algochapter5.html
ここを見ると対数を求める色々なアルゴリズムがあるらしい。奥が深いなぁ…。。理解していない事が多過ぎて自分が大海の中のプランクトンのように無力に思えてくる…。

http://en.wikipedia.org/wiki/Binary_logarithm#Real_number
このwikipediaの解説がとても分かりやすかったので自分で実装してみた。
https://gist.github.com/beru/9010355