code: def _readfloatle(self, length, start):
          
          startbyte, offset = divmod(start + self._offset, 8)
          if not offset:
              if length == 32:
                  f, = struct.unpack('<f', bytes(self._datastore.getbyteslice(startbyte, startbyte + 4)))
              elif length == 64:
                  f, = struct.unpack('<d', bytes(self._datastore.getbyteslice(startbyte, startbyte + 8)))
          else:
              if length == 32:
                  f, = struct.unpack('<f', self._readbytes(32, start))
              elif length == 64:
                  f, = struct.unpack('<d', self._readbytes(64, start))
          try:
              return f
          except NameError:
              raise InterpretError("floats can only be 32 or 64 bits long, "
                                   "not {0} bits", length)
docs: Read bits and interpret as a little-endian float.