Ruby 1.8.6 : 0.5 == 5.0?

Hello,

I have a strange problem on one of my servers.
I just installed ruby 1.8.6 from source :

/tmp/ruby-1.8.6-p383$uname -a
Linux prod2-ctxctrl 2.6.32-24-generic-pae #39-Ubuntu SMP Wed Jul 28
07:39:26 UTC 2010 i686 GNU/Linux

/tmp/ruby-1.8.6-p383$ruby --version
ruby 1.8.6 (2009-08-04 patchlevel 383) [i686-linux]

Something is broken with floats, here are a few tests :

/tmp/ruby-1.8.6-p383$ruby -e “puts 0.5”
5.0
/tmp/ruby-1.8.6-p383$ruby -e “puts 0.05”
5.0
/tmp/ruby-1.8.6-p383$ruby -e “puts 0.5 == 5.0”
true
/tmp/ruby-1.8.6-p383$ruby -e “puts 1.0 / 2”
0.5

Do you have any idea of what is going on?

Thanks
Thomas

This seems to work for me for my version and os etc.

ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.0.0]
$ ruby -e “puts 0.5 == 5.0”
false
$

Hi,

2010/9/1 Thomas S. [email protected]:

ruby 1.8.6 (2009-08-04 patchlevel 383) [i686-linux]
0.5

Do you have any idea of what is going on?

This is a gcc version issue with gcc 4.4.1.

Refer to Something broke ruby floats - Ruby - Ruby-Forum

Regards,
Park H.

Le 1 sept. 10 à 15:27, Heesob P. a écrit :

07:39:26
5.0

Regards,
Park H.

This is it!

Thanks,
Thomas

On Wed, Sep 1, 2010 at 6:44 AM, Thomas S.
[email protected] wrote:

ruby 1.8.6 (2009-08-04 patchlevel 383) [i686-linux]
0.5

Do you have any idea of what is going on?

GCC. The version of GCC that you built with does fun and entertaining
things with floating point numbers in the p383 (and many other patch
levels of 1.8.6 and 1.8.7) source. Try pulling from SVN and building
that one:

svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_6

Let me know if you still experience the bizarre floating point behavior.

Kirk H.