Method: BinData::FloatingPoint.create_read_code

Defined in:
lib/bindata/float.rb

.create_read_code(precision, endian) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
# File 'lib/bindata/float.rb', line 36

def create_read_code(precision, endian)
  if precision == :single
    unpack = (endian == :little) ? 'e' : 'g'
    nbytes = 4
  else # double_precision
    unpack = (endian == :little) ? 'E' : 'G'
    nbytes = 8
  end

  "io.readbytes(#{nbytes}).unpack('#{unpack}').at(0)"
end