Author: celestin Date: Tue Oct 2 05:14:38 2012 New Revision: 1392742 URL: http://svn.apache.org/viewvc?rev=1392742&view=rev Log: MATH-854: populated throws clause of FieldMatrix.
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/FieldMatrix.java Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/FieldMatrix.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/FieldMatrix.java?rev=1392742&r1=1392741&r2=1392742&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/FieldMatrix.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/FieldMatrix.java Tue Oct 2 05:14:38 2012 @@ -27,7 +27,6 @@ import org.apache.commons.math3.exceptio 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.ZeroException; /** * Interface defining field-valued matrix with basic algebraic operations. @@ -219,41 +218,44 @@ public interface FieldMatrix<T extends F throws MatrixDimensionMismatchException, NoDataException, NullArgumentException, OutOfRangeException; - /** - * Replace the submatrix starting at {@code (row, column)} using data in - * the input {@code subMatrix} array. Indexes are 0-based. - * <p> - * Example:<br> - * Starting with <pre> - * 1 2 3 4 - * 5 6 7 8 - * 9 0 1 2 - * </pre> - * and <code>subMatrix = {{3, 4} {5,6}}</code>, invoking - * <code>setSubMatrix(subMatrix,1,1))</code> will result in <pre> - * 1 2 3 4 - * 5 3 4 8 - * 9 5 6 2 - * </pre></p> - * - * @param subMatrix Array containing the submatrix replacement data. - * @param row Row coordinate of the top-left element to be replaced. - * @param column Column coordinate of the top-left element to be replaced. - * @throws MatrixDimensionMismatchException - * if {@code subMatrix} does not fit into this matrix from element in - * {@code (row, column)}. - * @throws org.apache.commons.math3.exception.ZeroException if a row or column - * of {@code subMatrix} is empty. - * @throws org.apache.commons.math3.exception.DimensionMismatchException - * if {@code subMatrix} is not rectangular (not all rows have the same - * length). - * @throws org.apache.commons.math3.exception.NullArgumentException - * if {@code subMatrix} is {@code null}. - * @since 2.0 - */ + /** + * Replace the submatrix starting at {@code (row, column)} using data in the + * input {@code subMatrix} array. Indexes are 0-based. + * <p> + * Example:<br> + * Starting with + * + * <pre> + * 1 2 3 4 + * 5 6 7 8 + * 9 0 1 2 + * </pre> + * + * and <code>subMatrix = {{3, 4} {5,6}}</code>, invoking + * <code>setSubMatrix(subMatrix,1,1))</code> will result in + * + * <pre> + * 1 2 3 4 + * 5 3 4 8 + * 9 5 6 2 + * </pre> + * + * </p> + * + * @param subMatrix Array containing the submatrix replacement data. + * @param row Row coordinate of the top-left element to be replaced. + * @param column Column coordinate of the top-left element to be replaced. + * @throws OutOfRangeException if {@code subMatrix} does not fit into this + * matrix from element in {@code (row, column)}. + * @throws NoDataException if a row or column of {@code subMatrix} is empty. + * @throws DimensionMismatchException if {@code subMatrix} is not + * rectangular (not all rows have the same length). + * @throws NullArgumentException if {@code subMatrix} is {@code null}. + * @since 2.0 + */ void setSubMatrix(T[][] subMatrix, int row, int column) - throws DimensionMismatchException, MatrixDimensionMismatchException, - NullArgumentException, ZeroException; + throws DimensionMismatchException, OutOfRangeException, + NullArgumentException, NoDataException; /** * Get the entries in row number {@code row} @@ -554,6 +556,8 @@ public interface FieldMatrix<T extends F * @param startColumn Initial column index * @param endColumn Final column index * @throws OutOfRangeException if the indices are not valid. + * @throws NumberIsTooSmallException if {@code endRow < startRow} or + * {@code endColumn < startColumn}. * @see #walkInRowOrder(FieldMatrixChangingVisitor) * @see #walkInRowOrder(FieldMatrixPreservingVisitor) * @see #walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int) @@ -570,7 +574,7 @@ public interface FieldMatrix<T extends F */ T walkInRowOrder(FieldMatrixChangingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) - throws OutOfRangeException; + throws OutOfRangeException, NumberIsTooSmallException; /** * Visit (but don't change) some matrix entries in row order. @@ -583,6 +587,8 @@ public interface FieldMatrix<T extends F * @param startColumn Initial column index * @param endColumn Final column index * @throws OutOfRangeException if the indices are not valid. + * @throws NumberIsTooSmallException if {@code endRow < startRow} or + * {@code endColumn < startColumn}. * @see #walkInRowOrder(FieldMatrixChangingVisitor) * @see #walkInRowOrder(FieldMatrixPreservingVisitor) * @see #walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int) @@ -599,7 +605,7 @@ public interface FieldMatrix<T extends F */ T walkInRowOrder(FieldMatrixPreservingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) - throws OutOfRangeException; + throws OutOfRangeException, NumberIsTooSmallException; /** * Visit (and possibly change) all matrix entries in column order.