def read_floats(self, shape, order='C', full_record=False):
        reshape = False
        count = 1
        try:
            for size in shape:
                count *= size
            reshape = True
        except TypeError:
            count = shape

        if full_record and self.unformatted:
            reclen = self.read_recordmark()
            if reclen != self.reclen_floats(count):
                raise RuntimeError('unexpected recordlength %d' % reclen)

        sep = '' if self.binary else ' '
        dtype = numpy.float32 if self.single_precision else numpy.float64
        data = numpy.fromfile(self.file, dtype=dtype, count=count, sep=sep)
        if self.need_byteswap:
            data.byteswap(True)

        if full_record and self.unformatted:
            reclen2 = self.read_recordmark()
            if reclen2 != reclen:
                raise RuntimeError('mismatched recordlength %d vs. %d'
                                   %  (reclen2, reclen))

        return data.reshape(shape, order=order) if reshape else data
Generates dict of tracks with string values indicating track status.
dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.util/src/openmdao/util/stream.py/Stream.read_floats--crossover with--dataset/ETHPy150Open google/simian/src/simian/mac/common/util.py/MakeTrackMatrix