Method: ELFTools::Util::ClassMethods#align

Defined in:
lib/elftools/util.rb

#align(num, bit) ⇒ Integer

Round up the number to be multiple of 2**bit.

Examples:

align(10, 1) #=> 10
align(10, 2) #=> 12
align(10, 3) #=> 16
align(10, 4) #=> 16
align(10, 5) #=> 32

Parameters:

  • num (Integer)

    Number to be rounded-up.

  • bit (Integer)

    How many bit to be aligned.

Returns:

  • (Integer)

    See examples.



19
20
21
22
23
24
# File 'lib/elftools/util.rb', line 19

def align(num, bit)
  n = 2**bit
  return num if (num % n).zero?

  (num + n) & ~(n - 1)
end