From: kimura wataru Date: 2012-07-26T23:13:21+09:00 Subject: [ruby-list:48855] MacOSX10.8付属のrubyでbignum(?)に問題 木村(わ)といいます。 先日リリースされた、Mac OS X 10.8に付属のruby(1.8.7)で bignumまわりの計算で問題があるようです。 % /usr/bin/ruby -v ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] % /usr/bin/ruby /usr/bin/irb >> 2**62 => 4611686018427387904 >> 2**63 => -9223372036854775808 # 負の数になるのはおかしい。正しくは +9223372036854775808 >> 2**64 => 0 # 正しくは +18446744073709551616 原因としては、clangでコンパイルされているためのようです。 % /usr/bin/ruby -rrbconfig -e 'p Config::CONFIG["CC"]' "xcrun cc" % xcrun cc --version Apple clang version 4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn) Target: x86_64-apple-darwin12.0.0 Thread model: posix 当面は自前でコンパイルしたrubyを使ったほうが良いかもしれません。 Appleには、rdar://11806241 として報告済みです。 http://openradar.appspot.com/11806241 影響がどのくらいあるのかわからないのですが、 とりあえず注意喚起のお知らせでした。 -- kimura wataru