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);
}
}