module Unpack
Constants
- MASKS
Public Instance Methods
read_bit(byte, bit)
click to toggle source
# File lib/fitreader/unpack.rb, line 21 def read_bit(byte, bit) (byte & MASKS[bit]) >> bit end
read_bits(byte, range)
click to toggle source
# File lib/fitreader/unpack.rb, line 25 def read_bits(byte, range) mask = range.first .downto(range.last) .inject(0) { |sum, i| sum + MASKS[i] } (byte & mask) >> range.last end
read_multiple(io, char, len, size)
click to toggle source
# File lib/fitreader/unpack.rb, line 7 def read_multiple(io, char, len, size) if char == 'Z*' readbytes(io, char, len) else multiples = len / size res = io.read(len).unpack(char * multiples) if res.length == 1 res.first else res end end end
readbytes(io, char, len)
click to toggle source
# File lib/fitreader/unpack.rb, line 2 def readbytes(io, char, len) d = io.read(len) d.unpack(char).first end