Method: Integer#log2

Defined in:
lib/ruby-vpi/integer.rb

#log2Object

Returns the ceiling of the logarithm (base 2) of this positive integer.



11
12
13
14
15
16
17
18
19
20
# File 'lib/ruby-vpi/integer.rb', line 11

def log2
  raise "integer must be positive" if self < 0
  bin = to_s(2)

  if bin =~ /^10+$/
    bin.length - 1
  else
    bin.length
  end
end