package Salsa.Core; import java.io.Serializable; /** Represents a block within a 2D array */ public class Block implements Serializable { public Range ColumnRange; public Range RowRange; private int _columnBlockNumber; private int _rowBlockNumber; /** Initializes a new instance of the <see cref="BlockPartition"/> class. @param rowRange The row range. @param colRange The col range. */ public Block(Range rowRange, Range colRange) { RowRange = rowRange; ColumnRange = colRange; // System.out.println("Block rowrange: " + rowRange + " column range: " + colRange); } private boolean privateIsDiagonal; public final boolean getIsDiagonal() { return privateIsDiagonal; } public final void setIsDiagonal(boolean value) { privateIsDiagonal = value; } public final int getRowBlockNumber() { return _rowBlockNumber; } public final void setRowBlockNumber(int value) { _rowBlockNumber = value; } public final int getColumnBlockNumber() { return _columnBlockNumber; } public final void setColumnBlockNumber(int value) { _columnBlockNumber = value; } public final void SetIndex(int rowBlockNumber, int columnBlockNumber) { _rowBlockNumber = rowBlockNumber; _columnBlockNumber = columnBlockNumber; } /** Transposes the row and column ranges @return */ public final Block Transpose() { Block b = new Block(ColumnRange, RowRange); return b; } @Override public String toString() { return String.format("[%1$s %2$s]", RowRange, ColumnRange); } }