def transfer_array(self, rowstart, fieldstart, rowend=None, fieldend=None):
        """Grabs an array of variables relative to the current anchor.

        rowstart: integer
            Row number to start, relative to the current anchor.

        fieldstart: integer
            Field number to start.

        rowend: integer (optional)
            Row number to end. If not set, then only one row is grabbed.

        Setting the delimiter to 'columns' elicits some special behavior
        from this method. Normally, the extraction process wraps around
        at the end of a line and continues grabbing each field at the start of
        a newline. When the delimiter is set to columns, the parameters
        (rowstart, fieldstart, rowend, fieldend) demark a box, and all
        values in that box are retrieved. Note that standard whitespace
        is the secondary delimiter in this case.
        """

        j1 = self.current_row + rowstart

        if rowend is None:
            j2 = j1 + 1
        else:
            j2 = self.current_row + rowend + 1

        if not fieldend:
            raise ValueError("fieldend is missing, currently required")

        lines = self.data[j1:j2]

        data = zeros(shape=(0, 0))

        for i, line in enumerate(lines):
            if self.delimiter == "columns":
                line = line[(fieldstart-1):fieldend]

                # Stripping whitespace may be controversial.
                line = line.strip()

                # Let pyparsing figure out if this is a number, and return it
                # as a float or int as appropriate
                parsed = self._parse_line().parseString(line)

                newdata = array(parsed[:])
                # data might have been split if it contains whitespace. If the
                # data is string, we probably didn't want this.
                if '|S' in str(newdata.dtype):
                    newdata = array(line)

                data = append(data, newdata)

            else:
                parsed = self._parse_line().parseString(line)
                if i == j2-1-j1:
                    data = append(data, array(parsed[(fieldstart-1):fieldend]))
                else:
                    data = append(data, array(parsed[(fieldstart-1):]))
                fieldstart = 1

        return data
dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.util/src/openmdao/util/filewrap.py/FileParser.transfer_array/swapped operands of `-`