From: Milind Pandit Date: 2010-07-08T16:32:45+09:00 Subject: [ruby-core:31121] [Backport #3550] Floating Point Representation Prevents Raising to Fractional Power Backport #3550: Floating Point Representation Prevents Raising to Fractional Power http://redmine.ruby-lang.org/issues/show/3550 Author: Milind Pandit Status: Open, Priority: Normal Not sure why this literal float can be raised successfully to a fractional power, but when assigned to a variable, it returns NaN. $ ruby --version ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0] $ irb -2.21792114695341 ** 0.1 => -1.08291560040828 >> -2.21792114695341 ** 1.1 => -2.40182141051126 >> a = -2.21792114695341 => -2.21792114695341 >> a ** 0.1 => NaN # Expected: -1.08291560040828 >> a ** 1.1 => NaN # Expected: -2.40182141051126 >> -2.21792114695341.to_f ** 1.1 => NaN # Expected: -1.08291560040828 >> -2.21792114695341.to_f ** 0.1 => NaN # Expected: -2.40182141051126 >> a - -2.21792114695341 => 0.0 >> (a - -2.21792114695341).zero? => true ---------------------------------------- http://redmine.ruby-lang.org