public abstract class AbstractMatrix3D 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 columns 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 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
|
protected int |
slices
the number of slices this matrix (view) has
|
protected int |
sliceStride
the number of elements between two slices, i.e.
|
protected int |
sliceZero
the index of the first element
|
isNoView
serialVersionUID
Modifier | Constructor and Description |
---|---|
protected |
AbstractMatrix3D()
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 int |
_sliceOffset(int absRank)
Returns the position of the given absolute rank within the (virtual or non-virtual) internal 1-dimensional array.
|
protected int |
_sliceRank(int rank)
Returns the absolute rank of the given relative rank.
|
protected void |
checkBox(int slice,
int row,
int column,
int depth,
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(AbstractMatrix3D B)
Sanity check for operations requiring two matrices with the same number of slices, rows and columns.
|
void |
checkShape(AbstractMatrix3D B,
AbstractMatrix3D C)
Sanity check for operations requiring matrices with the same number of slices, rows and columns.
|
protected void |
checkSlice(int slice)
Sanity check for operations requiring a slice index to be within bounds.
|
protected void |
checkSliceIndexes(int[] indexes)
Checks whether indexes are legal and throws an exception, if necessary.
|
int |
columns()
Returns the number of columns.
|
protected int |
index(int slice,
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 slices,
int rows,
int columns)
Sets up a matrix with a given number of slices and rows.
|
protected void |
setUp(int slices,
int rows,
int columns,
int sliceZero,
int rowZero,
int columnZero,
int sliceStride,
int rowStride,
int columnStride)
Sets up a matrix with a given number of slices and rows and the given strides.
|
protected int[] |
shape() |
int |
size()
Returns the number of cells which is slices()*rows()*columns().
|
int |
slices()
Returns the number of slices.
|
String |
toStringShort()
Returns a string representation of the receiver's shape.
|
protected AbstractMatrix3D |
vColumnFlip()
Self modifying version of viewColumnFlip().
|
protected AbstractMatrix3D |
vDice(int axis0,
int axis1,
int axis2)
Self modifying version of viewDice().
|
protected AbstractMatrix3D |
vPart(int slice,
int row,
int column,
int depth,
int height,
int width)
Self modifying version of viewPart().
|
protected AbstractMatrix3D |
vRowFlip()
Self modifying version of viewRowFlip().
|
protected AbstractMatrix3D |
vSliceFlip()
Self modifying version of viewSliceFlip().
|
protected AbstractMatrix3D |
vStrides(int sliceStride,
int rowStride,
int columnStride)
Self modifying version of viewStrides().
|
ensureCapacity, isView, trimToSize
clone
protected int slices
protected int rows
protected int columns
protected int sliceStride
protected int rowStride
protected int columnStride
protected int sliceZero
protected int rowZero
protected int columnZero
protected AbstractMatrix3D()
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 int _sliceOffset(int absRank)
rank
- the absolute rank of the element.protected int _sliceRank(int rank)
rank
- the relative rank of the element.protected void checkBox(int slice, int row, int column, int depth, int height, int width)
IndexOutOfBoundsException
- if row<0 || height<0 || row+height>rows || slice<0 || depth<0 || slice+depth>slices || column<0 || width<0 || column+width>columnsprotected 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(AbstractMatrix3D B)
IllegalArgumentException
- if slices() != B.slices() || rows() != B.rows() || columns() != B.columns().public void checkShape(AbstractMatrix3D B, AbstractMatrix3D C)
IllegalArgumentException
- if slices() != B.slices() || rows() != B.rows() || columns() != B.columns() || slices() != C.slices() || rows() != C.rows() || columns() != C.columns().protected void checkSlice(int slice)
IndexOutOfBoundsException
- if slice < 0 || slice >= slices().protected void checkSliceIndexes(int[] indexes)
IndexOutOfBoundsException
- if ! (0 <= indexes[i] < slices()) for any i=0..indexes.length()-1.public int columns()
protected int index(int slice, int row, int column)
slice
- the index of the slice-coordinate.row
- the index of the row-coordinate.column
- the index of the third-coordinate.public int rows()
protected void setUp(int slices, int rows, int columns)
slices
- the number of slices the matrix shall have.rows
- the number of rows the matrix shall have.columns
- the number of columns the matrix shall have.IllegalArgumentException
- if (double)rows*slices > Integer.MAX_VALUE.IllegalArgumentException
- if slices<0 || rows<0 || columns<0.protected void setUp(int slices, int rows, int columns, int sliceZero, int rowZero, int columnZero, int sliceStride, int rowStride, int columnStride)
slices
- the number of slices the matrix shall have.rows
- the number of rows the matrix shall have.columns
- the number of columns the matrix shall have.sliceZero
- the position of the first element.rowZero
- the position of the first element.columnZero
- the position of the first element.sliceStride
- the number of elements between two slices, i.e. index(k+1,i,j)-index(k,i,j).rowStride
- the number of elements between two rows, i.e. index(k,i+1,j)-index(k,i,j).columnnStride
- the number of elements between two columns, i.e. index(k,i,j+1)-index(k,i,j).IllegalArgumentException
- if (double)slices*rows*columnss > Integer.MAX_VALUE.IllegalArgumentException
- if slices<0 || rows<0 || columns<0.protected int[] shape()
public int size()
size
in class AbstractMatrix
public int slices()
public String toStringShort()
protected AbstractMatrix3D vColumnFlip()
protected AbstractMatrix3D vDice(int axis0, int axis1, int axis2)
IllegalArgumentException
- if some of the parameters are equal or not in range 0..2.protected AbstractMatrix3D vPart(int slice, int row, int column, int depth, int height, int width)
IndexOutOfBoundsException
- if slice<0 || depth<0 || slice+depth>slices() || row<0 || height<0 || row+height>rows() || column<0 || width<0 || column+width>columns()protected AbstractMatrix3D vRowFlip()
protected AbstractMatrix3D vSliceFlip()
protected AbstractMatrix3D vStrides(int sliceStride, int rowStride, int columnStride)
IndexOutOfBoundsException
- if sliceStride<=0 || rowStride<=0 || columnStride<=0.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.