From: Kirk Haines Date: 2010-09-01T22:38:38+09:00 Subject: Re: Ruby 1.8.6 : 0.5 == 5.0 ??? On Wed, Sep 1, 2010 at 6:44 AM, Thomas Sevestre wrote: > 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? 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 Haines