public abstract class AbstractMatrix2D extends AbstractMatrix
int
, double
, etc.
First see the package summary and javadoc tree view to get the broad picture.
Note that this implementation is not synchronized.
Modifier and Type | Field and Description |
---|---|
protected int |
columns
the number of colums and rows this matrix (view) has
|
protected int |
columnStride
the number of elements between two columns, i.e.
|
protected int |
columnZero
the index of the first element
|
protected int |
rows
the number of colums and rows this matrix (view) has
|
protected int |
rowStride
the number of elements between two rows, i.e.
|
protected int |
rowZero
the index of the first element
|
isNoView
serialVersionUID
Modifier | Constructor and Description |
---|---|
protected |
AbstractMatrix2D()
Makes this class non instantiable, but still let's others inherit from it.
|
Modifier and Type | Method and Description |
---|---|
protected int |
_columnOffset(int absRank)
Returns the position of the given absolute rank within the (virtual or non-virtual) internal 1-dimensional array.
|
protected int |
_columnRank(int rank)
Returns the absolute rank of the given relative rank.
|
protected int |
_rowOffset(int absRank)
Returns the position of the given absolute rank within the (virtual or non-virtual) internal 1-dimensional array.
|
protected int |
_rowRank(int rank)
Returns the absolute rank of the given relative rank.
|
protected void |
checkBox(int row,
int column,
int height,
int width)
Checks whether the receiver contains the given box and throws an exception, if necessary.
|
protected void |
checkColumn(int column)
Sanity check for operations requiring a column index to be within bounds.
|
protected void |
checkColumnIndexes(int[] indexes)
Checks whether indexes are legal and throws an exception, if necessary.
|
protected void |
checkRow(int row)
Sanity check for operations requiring a row index to be within bounds.
|
protected void |
checkRowIndexes(int[] indexes)
Checks whether indexes are legal and throws an exception, if necessary.
|
void |
checkShape(AbstractMatrix2D B)
Sanity check for operations requiring two matrices with the same number of columns and rows.
|
void |
checkShape(AbstractMatrix2D B,
AbstractMatrix2D C)
Sanity check for operations requiring matrices with the same number of columns and rows.
|
int |
columns()
Returns the number of columns.
|
protected int |
index(int row,
int column)
Returns the position of the given coordinate within the (virtual or non-virtual) internal 1-dimensional array.
|
int |
rows()
Returns the number of rows.
|
protected void |
setUp(int rows,
int columns)
Sets up a matrix with a given number of rows and columns.
|
protected void |
setUp(int rows,
int columns,
int rowZero,
int columnZero,
int rowStride,
int columnStride)
Sets up a matrix with a given number of rows and columns and the given strides.
|
int |
size()
Returns the number of cells which is rows()*columns().
|
String |
toStringShort()
Returns a string representation of the receiver's shape.
|
protected AbstractMatrix2D |
vColumnFlip()
Self modifying version of viewColumnFlip().
|
protected AbstractMatrix2D |
vDice()
Self modifying version of viewDice().
|
protected AbstractMatrix2D |
vPart(int row,
int column,
int height,
int width)
Self modifying version of viewPart().
|
protected AbstractMatrix2D |
vRowFlip()
Self modifying version of viewRowFlip().
|
protected AbstractMatrix2D |
vStrides(int rowStride,
int columnStride)
Self modifying version of viewStrides().
|
ensureCapacity, isView, trimToSize
clone
protected int columns
protected int rows
protected int rowStride
protected int columnStride
protected int rowZero
protected int columnZero
protected AbstractMatrix2D()
protected int _columnOffset(int absRank)
rank
- the absolute rank of the element.protected int _columnRank(int rank)
rank
- the relative rank of the element.protected int _rowOffset(int absRank)
rank
- the absolute rank of the element.protected int _rowRank(int rank)
rank
- the relative rank of the element.protected void checkBox(int row, int column, int height, int width)
IndexOutOfBoundsException
- if column<0 || width<0 || column+width>columns() || row<0 || height<0 || row+height>rows()protected void checkColumn(int column)
IndexOutOfBoundsException
- if column < 0 || column >= columns().protected void checkColumnIndexes(int[] indexes)
IndexOutOfBoundsException
- if ! (0 <= indexes[i] < columns()) for any i=0..indexes.length()-1.protected void checkRow(int row)
IndexOutOfBoundsException
- if row < 0 || row >= rows().protected void checkRowIndexes(int[] indexes)
IndexOutOfBoundsException
- if ! (0 <= indexes[i] < rows()) for any i=0..indexes.length()-1.public void checkShape(AbstractMatrix2D B)
IllegalArgumentException
- if columns() != B.columns() || rows() != B.rows().public void checkShape(AbstractMatrix2D B, AbstractMatrix2D C)
IllegalArgumentException
- if columns() != B.columns() || rows() != B.rows() || columns() != C.columns() || rows() != C.rows().public int columns()
protected int index(int row, int column)
row
- the index of the row-coordinate.column
- the index of the column-coordinate.public int rows()
protected void setUp(int rows, int columns)
rows
- the number of rows the matrix shall have.columns
- the number of columns the matrix shall have.IllegalArgumentException
- if rows<0 || columns<0 || (double)columns*rows > Integer.MAX_VALUE.protected void setUp(int rows, int columns, int rowZero, int columnZero, int rowStride, int columnStride)
rows
- the number of rows the matrix shall have.columns
- the number of columns the matrix shall have.rowZero
- the position of the first element.columnZero
- the position of the first element.rowStride
- the number of elements between two rows, i.e. index(i+1,j)-index(i,j).columnStride
- the number of elements between two columns, i.e. index(i,j+1)-index(i,j).IllegalArgumentException
- if rows<0 || columns<0 || (double)columns*rows > Integer.MAX_VALUE or flip's are illegal.public int size()
size
in class AbstractMatrix
public String toStringShort()
protected AbstractMatrix2D vColumnFlip()
protected AbstractMatrix2D vDice()
protected AbstractMatrix2D vPart(int row, int column, int height, int width)
IndexOutOfBoundsException
- if column<0 || width<0 || column+width>columns() || row<0 || height<0 || row+height>rows()protected AbstractMatrix2D vRowFlip()
protected AbstractMatrix2D vStrides(int rowStride, int columnStride)
IndexOutOfBoundsException
- if rowStride<=0 || columnStride<=0.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.