Module: Mp3file::ID3v2::BitPaddedInt

Defined in:
lib/mp3file/id3v2/bit_padded_int.rb

Class Method Summary collapse

Class Method Details

.pad_number(num, bits = 7) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/mp3file/id3v2/bit_padded_int.rb', line 13

def self.pad_number(num, bits = 7)
  field = 2**bits - 1
  num2 = num
  rv = 0
  0.upto(3) do |i|
    rv += (num2 & field) << (i*8)
    num2 = num2 >> bits
  end
  rv
end

.unpad_number(num, bits = 7) ⇒ Object



3
4
5
6
7
8
9
10
11
# File 'lib/mp3file/id3v2/bit_padded_int.rb', line 3

def self.unpad_number(num, bits = 7)
  field = 2**bits - 1
  rv = 0
  0.upto(3) do |i|
    rv += (num & field) >> (i*(8-bits))
    field = field << 8
  end
  rv
end