/// <inheritdoc/> public new T walkInColumnOrder(FieldMatrixChangingVisitor <T> visitor, int startRow, int endRow, int startColumn, int endColumn) { checkSubMatrixIndex(startRow, endRow, startColumn, endColumn); visitor.start(getRowDimension(), getColumnDimension(), startRow, endRow, startColumn, endColumn); for (int j = startColumn; j <= endColumn; ++j) { for (int i = startRow; i <= endRow; ++i) { T[] rowI = data[i]; rowI[j] = visitor.visit(i, j, rowI[j]); } } return(visitor.end()); }
/// <inheritdoc/> public new T walkInColumnOrder(FieldMatrixChangingVisitor <T> visitor) { int rows = getRowDimension(); int columns = getColumnDimension(); visitor.start(rows, columns, 0, rows - 1, 0, columns - 1); for (int j = 0; j < columns; ++j) { for (int i = 0; i < rows; ++i) { T[] rowI = data[i]; rowI[j] = visitor.visit(i, j, rowI[j]); } } return(visitor.end()); }
/// <inheritdoc/> public T walkInColumnOrder(FieldMatrixChangingVisitor <T> visitor, int startRow, int endRow, int startColumn, int endColumn) { checkSubMatrixIndex(startRow, endRow, startColumn, endColumn); visitor.start(getRowDimension(), getColumnDimension(), startRow, endRow, startColumn, endColumn); for (int column = startColumn; column <= endColumn; ++column) { for (int row = startRow; row <= endRow; ++row) { T oldValue = getEntry(row, column); T newValue = visitor.visit(row, column, oldValue); setEntry(row, column, newValue); } } return(visitor.end()); }
/// <inheritdoc/> public T walkInColumnOrder(FieldMatrixChangingVisitor <T> visitor) { int rows = getRowDimension(); int columns = getColumnDimension(); visitor.start(rows, columns, 0, rows - 1, 0, columns - 1); for (int column = 0; column < columns; ++column) { for (int row = 0; row < rows; ++row) { T oldValue = getEntry(row, column); T newValue = visitor.visit(row, column, oldValue); setEntry(row, column, newValue); } } return(visitor.end()); }
/// <inheritdoc/> public T walkInOptimizedOrder(FieldMatrixChangingVisitor <T> visitor, int startRow, int endRow, int startColumn, int endColumn) { return(walkInRowOrder(visitor, startRow, endRow, startColumn, endColumn)); }
/// <inheritdoc/> public T walkInOptimizedOrder(FieldMatrixChangingVisitor <T> visitor) { return(walkInRowOrder(visitor)); }