Module: Pack::Numbers::PackedInt56LE
- Defined in:
- lib/pack/numbers.rb
Class Method Summary collapse
Class Method Details
.read(input, header) ⇒ Object
75 76 77 78 79 80 81 82 83 84 |
# File 'lib/pack/numbers.rb', line 75 def self.read(input, header) value = 0 (0...7).each do |i| next if header & (1 << i) == 0 value |= input.readbyte << (8 * i) end value end |
.write(value) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/pack/numbers.rb', line 61 def self.write(value) bytes = [0] (0...7).each do |i| byte = (value >> (8 * i)) & 0xff next if byte == 0 bytes[0] |= 1 << i bytes.push(byte) end bytes end |