You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ce...@apache.org on 2012/10/02 07:35:59 UTC

svn commit: r1392748 - in /commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear: AbstractFieldMatrix.java Array2DRowFieldMatrix.java

Author: celestin
Date: Tue Oct  2 05:35:59 2012
New Revision: 1392748

URL: http://svn.apache.org/viewvc?rev=1392748&view=rev
Log:
MATH-854: populated throws clause of Array2DRowFieldMatrix.

Modified:
    commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/AbstractFieldMatrix.java
    commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/Array2DRowFieldMatrix.java

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/AbstractFieldMatrix.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/AbstractFieldMatrix.java?rev=1392748&r1=1392747&r2=1392748&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/AbstractFieldMatrix.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/AbstractFieldMatrix.java Tue Oct  2 05:35:59 2012
@@ -175,7 +175,9 @@ public abstract class AbstractFieldMatri
     }
 
     /** {@inheritDoc} */
-    public abstract FieldMatrix<T> createMatrix(final int rowDimension, final int columnDimension);
+    public abstract FieldMatrix<T> createMatrix(final int rowDimension,
+                                                final int columnDimension)
+        throws NotStrictlyPositiveException;
 
     /** {@inheritDoc} */
     public abstract FieldMatrix<T> copy();
@@ -656,16 +658,16 @@ public abstract class AbstractFieldMatri
     }
 
     /** {@inheritDoc} */
-    public abstract T getEntry(int row, int column);
+    public abstract T getEntry(int row, int column) throws OutOfRangeException;
 
     /** {@inheritDoc} */
-    public abstract void setEntry(int row, int column, T value);
+    public abstract void setEntry(int row, int column, T value) throws OutOfRangeException;
 
     /** {@inheritDoc} */
-    public abstract void addToEntry(int row, int column, T increment);
+    public abstract void addToEntry(int row, int column, T increment) throws OutOfRangeException;
 
     /** {@inheritDoc} */
-    public abstract void multiplyEntry(int row, int column, T factor);
+    public abstract void multiplyEntry(int row, int column, T factor) throws OutOfRangeException;
 
     /** {@inheritDoc} */
     public FieldMatrix<T> transpose() {

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/Array2DRowFieldMatrix.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/Array2DRowFieldMatrix.java?rev=1392748&r1=1392747&r2=1392748&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/Array2DRowFieldMatrix.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/Array2DRowFieldMatrix.java Tue Oct  2 05:35:59 2012
@@ -24,7 +24,10 @@ import org.apache.commons.math3.FieldEle
 import org.apache.commons.math3.exception.NoDataException;
 import org.apache.commons.math3.exception.DimensionMismatchException;
 import org.apache.commons.math3.exception.MathIllegalStateException;
+import org.apache.commons.math3.exception.NotStrictlyPositiveException;
 import org.apache.commons.math3.exception.NullArgumentException;
+import org.apache.commons.math3.exception.NumberIsTooSmallException;
+import org.apache.commons.math3.exception.OutOfRangeException;
 import org.apache.commons.math3.exception.util.LocalizedFormats;
 import org.apache.commons.math3.util.MathUtils;
 
@@ -61,12 +64,11 @@ public class Array2DRowFieldMatrix<T ext
      * @param field Field to which the elements belong.
      * @param rowDimension Number of rows in the new matrix.
      * @param columnDimension Number of columns in the new matrix.
-     * @throws org.apache.commons.math3.exception.NotStrictlyPositiveException
-     * if row or column dimension is not positive.
+     * @throws NotStrictlyPositiveException if row or column dimension is not positive.
      */
-    public Array2DRowFieldMatrix(final Field<T> field,
-                                 final int rowDimension,
-                                 final int columnDimension) {
+    public Array2DRowFieldMatrix(final Field<T> field, final int rowDimension,
+                                 final int columnDimension)
+        throws NotStrictlyPositiveException {
         super(field, rowDimension, columnDimension);
         data = buildArray(field, rowDimension, columnDimension);
     }
@@ -80,12 +82,13 @@ public class Array2DRowFieldMatrix<T ext
      *
      * @param d Data for the new matrix.
      * @throws DimensionMismatchException if {@code d} is not rectangular.
-     * @throws org.apache.commons.math3.exception.NullArgumentException if
-     * {@code d} is {@code null}.
+     * @throws NullArgumentException if {@code d} is {@code null}.
      * @throws NoDataException if there are not at least one row and one column.
      * @see #Array2DRowFieldMatrix(FieldElement[][], boolean)
      */
-    public Array2DRowFieldMatrix(final T[][] d) {
+    public Array2DRowFieldMatrix(final T[][] d)
+        throws DimensionMismatchException, NullArgumentException,
+        NoDataException {
         this(extractField(d), d);
     }
 
@@ -99,12 +102,13 @@ public class Array2DRowFieldMatrix<T ext
      * @param field Field to which the elements belong.
      * @param d Data for the new matrix.
      * @throws DimensionMismatchException if {@code d} is not rectangular.
-     * @throws org.apache.commons.math3.exception.NullArgumentException if
-     * {@code d} is {@code null}.
+     * @throws NullArgumentException if {@code d} is {@code null}.
      * @throws NoDataException if there are not at least one row and one column.
      * @see #Array2DRowFieldMatrix(FieldElement[][], boolean)
      */
-    public Array2DRowFieldMatrix(final Field<T> field, final T[][] d) {
+    public Array2DRowFieldMatrix(final Field<T> field, final T[][] d)
+        throws DimensionMismatchException, NullArgumentException,
+        NoDataException {
         super(field);
         copyIn(d);
     }
@@ -121,11 +125,12 @@ public class Array2DRowFieldMatrix<T ext
      * @param copyArray Whether to copy or reference the input array.
      * @throws DimensionMismatchException if {@code d} is not rectangular.
      * @throws NoDataException if there are not at least one row and one column.
-     * @throws org.apache.commons.math3.exception.NullArgumentException
-     * if {@code d} is {@code null}.
+     * @throws NullArgumentException if {@code d} is {@code null}.
      * @see #Array2DRowFieldMatrix(FieldElement[][])
      */
-    public Array2DRowFieldMatrix(final T[][] d, final boolean copyArray) {
+    public Array2DRowFieldMatrix(final T[][] d, final boolean copyArray)
+        throws DimensionMismatchException, NoDataException,
+        NullArgumentException {
         this(extractField(d), d, copyArray);
     }
 
@@ -175,8 +180,9 @@ public class Array2DRowFieldMatrix<T ext
      * The input array is copied.
      *
      * @param v Column vector holding data for new matrix.
+     * @throws NoDataException if v is empty
      */
-    public Array2DRowFieldMatrix(final T[] v) {
+    public Array2DRowFieldMatrix(final T[] v) throws NoDataException {
         this(extractField(v), v);
     }
 
@@ -199,7 +205,9 @@ public class Array2DRowFieldMatrix<T ext
 
     /** {@inheritDoc} */
     @Override
-    public FieldMatrix<T> createMatrix(final int rowDimension, final int columnDimension) {
+    public FieldMatrix<T> createMatrix(final int rowDimension,
+                                       final int columnDimension)
+        throws NotStrictlyPositiveException {
         return new Array2DRowFieldMatrix<T>(getField(), rowDimension, columnDimension);
     }
 
@@ -214,10 +222,11 @@ public class Array2DRowFieldMatrix<T ext
      *
      * @param m Matrix to be added.
      * @return {@code this} + m.
-     * @throws MatrixDimensionMismatchException
-     * if {@code m} is not the same size as this matrix.
+     * @throws MatrixDimensionMismatchException if {@code m} is not the same
+     * size as this matrix.
      */
-    public Array2DRowFieldMatrix<T> add(final Array2DRowFieldMatrix<T> m) {
+    public Array2DRowFieldMatrix<T> add(final Array2DRowFieldMatrix<T> m)
+        throws MatrixDimensionMismatchException {
         // safety check
         checkAdditionCompatible(m);
 
@@ -241,10 +250,11 @@ public class Array2DRowFieldMatrix<T ext
      *
      * @param m Matrix to be subtracted.
      * @return {@code this} + m.
-     * @throws MatrixDimensionMismatchException
-     * if {@code m} is not the same size as this matrix.
+     * @throws MatrixDimensionMismatchException if {@code m} is not the same
+     * size as this matrix.
      */
-    public Array2DRowFieldMatrix<T> subtract(final Array2DRowFieldMatrix<T> m) {
+    public Array2DRowFieldMatrix<T> subtract(final Array2DRowFieldMatrix<T> m)
+        throws MatrixDimensionMismatchException {
         // safety check
         checkSubtractionCompatible(m);
 
@@ -272,7 +282,8 @@ public class Array2DRowFieldMatrix<T ext
      * @throws DimensionMismatchException if the number of columns of this
      * matrix is not equal to the number of rows of {@code m}.
      */
-    public Array2DRowFieldMatrix<T> multiply(final Array2DRowFieldMatrix<T> m) {
+    public Array2DRowFieldMatrix<T> multiply(final Array2DRowFieldMatrix<T> m)
+        throws DimensionMismatchException {
         // safety check
         checkMultiplicationCompatible(m);
 
@@ -314,7 +325,10 @@ public class Array2DRowFieldMatrix<T ext
 
     /** {@inheritDoc} */
     @Override
-    public void setSubMatrix(final T[][] subMatrix, final int row, final int column) {
+    public void setSubMatrix(final T[][] subMatrix, final int row,
+                             final int column)
+        throws OutOfRangeException, NullArgumentException, NoDataException,
+        DimensionMismatchException {
         if (data == null) {
             if (row > 0) {
                 throw new MathIllegalStateException(LocalizedFormats.FIRST_ROWS_NOT_INITIALIZED_YET, row);
@@ -346,7 +360,8 @@ public class Array2DRowFieldMatrix<T ext
 
     /** {@inheritDoc} */
     @Override
-    public T getEntry(final int row, final int column) {
+    public T getEntry(final int row, final int column)
+        throws OutOfRangeException {
         checkRowIndex(row);
         checkColumnIndex(column);
 
@@ -355,7 +370,8 @@ public class Array2DRowFieldMatrix<T ext
 
     /** {@inheritDoc} */
     @Override
-    public void setEntry(final int row, final int column, final T value) {
+    public void setEntry(final int row, final int column, final T value)
+        throws OutOfRangeException {
         checkRowIndex(row);
         checkColumnIndex(column);
 
@@ -364,7 +380,8 @@ public class Array2DRowFieldMatrix<T ext
 
     /** {@inheritDoc} */
     @Override
-    public void addToEntry(final int row, final int column, final T increment) {
+    public void addToEntry(final int row, final int column, final T increment)
+        throws OutOfRangeException {
         checkRowIndex(row);
         checkColumnIndex(column);
 
@@ -373,7 +390,8 @@ public class Array2DRowFieldMatrix<T ext
 
     /** {@inheritDoc} */
     @Override
-    public void multiplyEntry(final int row, final int column, final T factor) {
+    public void multiplyEntry(final int row, final int column, final T factor)
+        throws OutOfRangeException {
         checkRowIndex(row);
         checkColumnIndex(column);
 
@@ -394,7 +412,7 @@ public class Array2DRowFieldMatrix<T ext
 
     /** {@inheritDoc} */
     @Override
-    public T[] operate(final T[] v) {
+    public T[] operate(final T[] v) throws DimensionMismatchException {
         final int nRows = this.getRowDimension();
         final int nCols = this.getColumnDimension();
         if (v.length != nCols) {
@@ -414,7 +432,7 @@ public class Array2DRowFieldMatrix<T ext
 
     /** {@inheritDoc} */
     @Override
-    public T[] preMultiply(final T[] v) {
+    public T[] preMultiply(final T[] v) throws DimensionMismatchException {
         final int nRows = getRowDimension();
         final int nCols = getColumnDimension();
         if (v.length != nRows) {
@@ -467,7 +485,8 @@ public class Array2DRowFieldMatrix<T ext
     @Override
     public T walkInRowOrder(final FieldMatrixChangingVisitor<T> visitor,
                             final int startRow, final int endRow,
-                            final int startColumn, final int endColumn) {
+                            final int startColumn, final int endColumn)
+        throws OutOfRangeException, NumberIsTooSmallException {
         checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
         visitor.start(getRowDimension(), getColumnDimension(),
                       startRow, endRow, startColumn, endColumn);
@@ -484,7 +503,8 @@ public class Array2DRowFieldMatrix<T ext
     @Override
     public T walkInRowOrder(final FieldMatrixPreservingVisitor<T> visitor,
                             final int startRow, final int endRow,
-                            final int startColumn, final int endColumn) {
+                            final int startColumn, final int endColumn)
+        throws OutOfRangeException, NumberIsTooSmallException {
         checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
         visitor.start(getRowDimension(), getColumnDimension(),
                       startRow, endRow, startColumn, endColumn);
@@ -530,8 +550,9 @@ public class Array2DRowFieldMatrix<T ext
     @Override
     public T walkInColumnOrder(final FieldMatrixChangingVisitor<T> visitor,
                                final int startRow, final int endRow,
-                               final int startColumn, final int endColumn) {
-        checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
+                               final int startColumn, final int endColumn)
+        throws OutOfRangeException, NumberIsTooSmallException {
+    checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
         visitor.start(getRowDimension(), getColumnDimension(),
                       startRow, endRow, startColumn, endColumn);
         for (int j = startColumn; j <= endColumn; ++j) {
@@ -547,7 +568,8 @@ public class Array2DRowFieldMatrix<T ext
     @Override
     public T walkInColumnOrder(final FieldMatrixPreservingVisitor<T> visitor,
                                final int startRow, final int endRow,
-                               final int startColumn, final int endColumn) {
+                               final int startColumn, final int endColumn)
+        throws OutOfRangeException, NumberIsTooSmallException {
         checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
         visitor.start(getRowDimension(), getColumnDimension(),
                       startRow, endRow, startColumn, endColumn);
@@ -580,10 +602,11 @@ public class Array2DRowFieldMatrix<T ext
      * @param in Data to copy.
      * @throws NoDataException if the input array is empty.
      * @throws DimensionMismatchException if the input array is not rectangular.
-     * @throws org.apache.commons.math3.exception.NullArgumentException if
-     * the input array is {@code null}.
+     * @throws NullArgumentException if the input array is {@code null}.
      */
-    private void copyIn(final T[][] in) {
+    private void copyIn(final T[][] in)
+        throws NullArgumentException, NoDataException,
+        DimensionMismatchException {
         setSubMatrix(in, 0, 0);
     }
 }