From: Koji Arai Date: 2003-05-06T02:55:54+09:00 Subject: [ruby-dev:20171] Re: Numeric#step 新井です。 In message "[ruby-dev:20169] Re: Numeric#step" on 06 May 2003 01:54:31 +0900, Minero Aoki wrote: > 青木です。 > プラットフォームは全て Linux 2.4, glibc 2.2.5 です。 > (1.5 まで出るものは○、1.4 までなら×) > > ruby 2003-05-02 + gcc 2.95.3 -g …… ○ > ruby 2003-05-02 + gcc 2.95.3 -O2 …… × > ruby 2003-05-02 + gcc 3.2.2 -g …… ○ > ruby 2003-05-02 + gcc 3.2.2 -O2 …… × > > ruby 2003-05-05 + gcc 2.95.3 -g …… ○ > ruby 2003-05-05 + gcc 2.95.3 -O2 …… × > ruby 2003-05-05 + gcc 3.2.2 -g …… ○ > ruby 2003-05-05 + gcc 3.2.2 -O2 …… × なるほど -O2 ですか、numeric.c だけ -O2 でコンパイルしたとこ ろこちらでも再現しました。gcc のバグっぽいですね。 以下のパッチで、-O2 でも動きました。意味ないですが(^^;; Index: numeric.c =================================================================== RCS file: /usr/local/cvsup/ruby/ruby/numeric.c,v retrieving revision 1.81 diff -u -r1.81 numeric.c --- numeric.c 4 May 2003 16:02:05 -0000 1.81 +++ numeric.c 5 May 2003 17:51:21 -0000 @@ -912,6 +912,7 @@ double n = (end - beg)/unit; long i; + printf("%.20f\n", n); n = floor(n + n*epsilon + 1); for (i=0; i