From: "simonrussell (Simon Russell)" Date: 2013-01-09T11:11:11+09:00 Subject: [ruby-core:51328] [ruby-trunk - Bug #7676][Open] Comparison of Float::NAN in array behaves unexpectedly Issue #7676 has been reported by simonrussell (Simon Russell). ---------------------------------------- Bug #7676: Comparison of Float::NAN in array behaves unexpectedly https://bugs.ruby-lang.org/issues/7676 Author: simonrussell (Simon Russell) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 1.9.3p362 (2012-12-25 revision 38607) [x86_64-linux] It seems that two arrays containing Float::NAN will be considered equal ([Float::NAN] == [Float::NAN]), despite the fact that Float::NAN != Float::NAN. Tested and reproduced in 1.8.7p371, 1.9.3p362, 2.0.0preview2. (This bug can be reproduced in Ruby 1.8 as well.) Results below. 1.8.7 p371 --------- 1.8.7 :001 > nan = 0.0/0.0 => NaN 1.8.7 :002 > nan == nan => false 1.8.7 :003 > [nan] == [nan] => true 1.9.3 p362 --------- 1.9.3p362 :001 > Float::NAN == Float::NAN => false 1.9.3p362 :002 > [Float::NAN] == [Float::NAN] => true 2.0.0 preview2 -------------- 2.0.0dev :001 > Float::NAN == Float::NAN => false 2.0.0dev :002 > [Float::NAN] == [Float::NAN] => true -- http://bugs.ruby-lang.org/