monthly gimite

試験運用中。

Math.log(0)の結果は環境依存

FreeBSD上で動かしてたRubyスクリプトCygwin Rubyでエラーになったので、なんでかなーと思ってたら。

$ ruby --version
ruby 1.8.2 (2004-12-25) [i386-cygwin]
$ ruby -e 'p Math.log(0)'
-e:1:in `log': Numerical argument out of domain - log (Errno::EDOM)
$ ruby --version
ruby 1.8.2 (2004-12-25) [i386-freebsd4]
$ ruby -e 'p Math.log(0)'
-Infinity

…そんな違いが。[ruby-dev:19954]辺りにそんな話を発見。libcの挙動の違いが原因…?