Bugs item #7500, was opened at 2006-12-30 11:08
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=7500&group_id=426

Category: Standard Library
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: Darren Smith (flagitious)
Assigned to: Nobody (None)
Summary: ^ | & Float bug

Initial Comment:
Operations such as 5^4.5, and 0|9.9 first convert the Float to an Integer to preform the calculation. However this is a bug because it should be converting to a Fixnum because of cases such as this:

0|1e20
RangeError: float 1e+20 out of range of integer

1e20 is certainly out of range of integer, but why should it matter? It is certainly unexpected behavior.

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=7500&group_id=426