なかだです。

At Fri, 4 Sep 2009 10:22:51 +0900,
和弥 寺元 wrote in [ruby-dev:39227]:
> $ ./miniruby -e 'p 2.6.round'
> 269333544
> $ ./miniruby -e 'x=2.6.round; p x.class, "%.20f" % x'
> Fixnum
> "269333544.00000000000000000000"

ありがちなところでは、math.hにround()の宣言が抜けていてintと見な
されてゴミを使っているといったあたりでしょうか。
以下のパッチのように宣言を追加してみるとどうでしょうか。


Index: numeric.c =================================================================== --- numeric.c (revision 24713) +++ numeric.c (working copy) @@ -64,4 +64,6 @@ #endif +extern double round _((double)); + #ifndef HAVE_ROUND double
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦