BasicArray middleRows(int start, int n) { BasicArray out; out.resize(n, m_nCol); for (int i = start; i < start + n; ++i) { for (int j = 0; j < m_nCol; ++j) { out(i, j) = at(i, j); } } return out; }
BasicArray block(int startRow, int startCol, int nRow, int nCol) const { BasicArray out; out.resize(nRow, nCol); for (int iRow = 0; iRow < nRow; ++iRow) { for (int iCol = 0; iCol < nCol; ++iCol) { out(iRow, iCol) = at(iRow + startRow, iCol + startCol); } } return out; }