Fixnum objects have immediate value. This means that when they are assigned or passed as parameters, the actual object is passed, rather than a reference to that object. Assignment does not alias Fixnum objects. There is effectively only one Fixnum object instance for any given integer value, so, for example, you cannot add a singleton method to a Fixnum.
When mathn is required, Fixnum’s division and exponentiation are enhanced to return more precise values from mathematical expressions.
2/3*3 # => 0 require 'mathn' 2/3*3 # => 2
numeric.c lib/rexml/xpath_parser.rb lib/mathn.rb