cern.colt.matrix.impl
Class AbstractMatrix1D

java.lang.Object
  extended by cern.colt.PersistentObject
      extended by cern.colt.matrix.impl.AbstractMatrix
          extended by cern.colt.matrix.impl.AbstractMatrix1D
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
DoubleMatrix1D, ObjectMatrix1D

public abstract class AbstractMatrix1D
extends AbstractMatrix

Abstract base class for 1-d matrices (aka vectors) holding objects or primitive data types such as int, double, etc. First see the package summary and javadoc tree view to get the broad picture.

Note that this implementation is not synchronized.

Author:
wolfgang.hoschek@cern.ch
See Also:
Serialized Form

Field Summary
protected  int size
          the number of cells this matrix (view) has
protected  int stride
          the number of indexes between any two elements, i.e.
protected  int zero
          the index of the first element
 
Fields inherited from class cern.colt.matrix.impl.AbstractMatrix
isNoView
 
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
 
Constructor Summary
protected AbstractMatrix1D()
          Makes this class non instantiable, but still let's others inherit from it.
 
Method Summary
protected  int _offset(int absRank)
          Returns the position of the given absolute rank within the (virtual or non-virtual) internal 1-dimensional array.
protected  int _rank(int rank)
          Returns the absolute rank of the given relative rank.
protected  void checkIndex(int index)
          Sanity check for operations requiring an index to be within bounds.
protected  void checkIndexes(int[] indexes)
          Checks whether indexes are legal and throws an exception, if necessary.
protected  void checkRange(int index, int width)
          Checks whether the receiver contains the given range and throws an exception, if necessary.
 void checkSize(AbstractMatrix1D B)
          Sanity check for operations requiring two matrices with the same size.
protected  void checkSize(double[] B)
          Sanity check for operations requiring two matrices with the same size.
protected  int index(int rank)
          Returns the position of the element with the given relative rank within the (virtual or non-virtual) internal 1-dimensional array.
protected  void setUp(int size)
          Sets up a matrix with a given number of cells.
protected  void setUp(int size, int zero, int stride)
          Sets up a matrix with the given parameters.
 int size()
          Returns the number of cells.
protected  int stride(int dimension)
          Returns the stride of the given dimension (axis, rank).
 java.lang.String toStringShort()
          Returns a string representation of the receiver's shape.
protected  AbstractMatrix1D vFlip()
          Self modifying version of viewFlip().
protected  AbstractMatrix1D vPart(int index, int width)
          Self modifying version of viewPart().
protected  AbstractMatrix1D vStrides(int stride)
          Self modifying version of viewStrides().
 
Methods inherited from class cern.colt.matrix.impl.AbstractMatrix
ensureCapacity, isView, trimToSize
 
Methods inherited from class cern.colt.PersistentObject
clone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

size

protected int size
the number of cells this matrix (view) has


zero

protected int zero
the index of the first element


stride

protected int stride
the number of indexes between any two elements, i.e. index(i+1) - index(i).

Constructor Detail

AbstractMatrix1D

protected AbstractMatrix1D()
Makes this class non instantiable, but still let's others inherit from it.

Method Detail

_offset

protected int _offset(int absRank)
Returns the position of the given absolute rank within the (virtual or non-virtual) internal 1-dimensional array. Default implementation. Override, if necessary.

Parameters:
rank - the absolute rank of the element.
Returns:
the position.

_rank

protected int _rank(int rank)
Returns the absolute rank of the given relative rank.

Parameters:
rank - the relative rank of the element.
Returns:
the absolute rank of the element.

checkIndex

protected void checkIndex(int index)
Sanity check for operations requiring an index to be within bounds.

Throws:
java.lang.IndexOutOfBoundsException - if index < 0 || index >= size().

checkIndexes

protected void checkIndexes(int[] indexes)
Checks whether indexes are legal and throws an exception, if necessary.

Throws:
java.lang.IndexOutOfBoundsException - if ! (0 <= indexes[i] < size()) for any i=0..indexes.length()-1.

checkRange

protected void checkRange(int index,
                          int width)
Checks whether the receiver contains the given range and throws an exception, if necessary.

Throws:
java.lang.IndexOutOfBoundsException - if index<0 || index+width>size().

checkSize

protected void checkSize(double[] B)
Sanity check for operations requiring two matrices with the same size.

Throws:
java.lang.IllegalArgumentException - if size() != B.size().

checkSize

public void checkSize(AbstractMatrix1D B)
Sanity check for operations requiring two matrices with the same size.

Throws:
java.lang.IllegalArgumentException - if size() != B.size().

index

protected int index(int rank)
Returns the position of the element with the given relative rank within the (virtual or non-virtual) internal 1-dimensional array. You may want to override this method for performance.

Parameters:
rank - the rank of the element.

setUp

protected void setUp(int size)
Sets up a matrix with a given number of cells.

Parameters:
size - the number of cells the matrix shall have.
Throws:
java.lang.IllegalArgumentException - if size<0.

setUp

protected void setUp(int size,
                     int zero,
                     int stride)
Sets up a matrix with the given parameters.

Parameters:
size - the number of elements the matrix shall have.
zero - the index of the first element.
stride - the number of indexes between any two elements, i.e. index(i+1)-index(i).
Throws:
java.lang.IllegalArgumentException - if size<0.

size

public int size()
Returns the number of cells.

Specified by:
size in class AbstractMatrix

stride

protected int stride(int dimension)
Returns the stride of the given dimension (axis, rank).

Returns:
the stride in the given dimension.
Throws:
java.lang.IllegalArgumentException - if dimension != 0.

toStringShort

public java.lang.String toStringShort()
Returns a string representation of the receiver's shape.


vFlip

protected AbstractMatrix1D vFlip()
Self modifying version of viewFlip(). What used to be index 0 is now index size()-1, ..., what used to be index size()-1 is now index 0.


vPart

protected AbstractMatrix1D vPart(int index,
                                 int width)
Self modifying version of viewPart().

Throws:
java.lang.IndexOutOfBoundsException - if index<0 || index+width>size().

vStrides

protected AbstractMatrix1D vStrides(int stride)
Self modifying version of viewStrides().

Throws:
java.lang.IndexOutOfBoundsException - if stride <= 0.