Sha256: acd477c1859cea389419101409bb787f3d61449241e3140bbb16100018bc700e

Contents?: true

Size: 467 Bytes

Versions: 15

Compression:

Stored size: 467 Bytes

Contents

module Mp3file::ID3v2
  module BitPaddedInt
    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

    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
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
mp3file-1.3.0 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-1.2.0 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-1.1.5 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-1.1.4 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-1.1.3 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-1.1.2 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-1.1.1 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-1.1.0 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-1.0.3 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-1.0.2 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-1.0.1 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-1.0.0 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-0.0.4 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-0.0.3 lib/mp3file/id3v2/bit_padded_int.rb
mp3file-0.0.2 lib/mp3file/id3v2/bit_padded_int.rb