Newer
Older
2018-fumichan-thesis / form-sample / vendor / bundle / ruby / 2.5.0 / gems / backports-3.11.4 / lib / backports / 2.1.0 / fixnum / bit_length.rb
unless Integer.method_defined?(:bit_length) || Fixnum.method_defined?(:bit_length)
  require 'backports/2.0.0/range/bsearch'
  class Fixnum
    def bit_length
      n = if self >= 0
        self + 1
      else
        -self
      end
      (0...8 * size).bsearch{|i| n <= (1 << i) }
    end
  end
end