Class 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.

    Version:
    1.0, 09/24/99
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      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
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected AbstractMatrix1D()
      Makes this class non instantiable, but still let's others inherit from it.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      protected void checkSize​(double[] B)
      Sanity check for operations requiring two matrices with the same size.
      void checkSize​(AbstractMatrix1D 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 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.