You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2010/10/06 15:30:04 UTC
svn commit: r1005028 [1/2] - in /commons/proper/math/trunk/src:
main/java/org/apache/commons/math/exception/
main/java/org/apache/commons/math/exception/util/
main/java/org/apache/commons/math/linear/
main/resources/META-INF/localization/ site/xdoc/ te...
Author: erans
Date: Wed Oct 6 13:30:03 2010
New Revision: 1005028
URL: http://svn.apache.org/viewvc?rev=1005028&view=rev
Log:
MATH-425
Replaced "MatrixIndexException" with "OutOfRangeException" or
"DimensionMismatchException".
Removed try/catch blocks misused as preconditions check.
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/MultiDimensionMismatchException.java
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/OutOfRangeException.java
commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractFieldMatrix.java
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/Array2DRowFieldMatrix.java
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/BlockFieldMatrix.java
commons/proper/math/trunk/src/main/resources/META-INF/localization/LocalizedFormats_fr.properties
commons/proper/math/trunk/src/site/xdoc/changes.xml
commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockFieldMatrixTest.java
commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/FieldMatrixImplTest.java
commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/SparseFieldMatrixTest.java
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/MultiDimensionMismatchException.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/MultiDimensionMismatchException.java?rev=1005028&r1=1005027&r2=1005028&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/MultiDimensionMismatchException.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/MultiDimensionMismatchException.java Wed Oct 6 13:30:03 2010
@@ -37,8 +37,8 @@ public class MultiDimensionMismatchExcep
/**
* Construct an exception from the mismatched dimensions.
*
- * @param wrong Wrong dimensionq.
- * @param expected Expected dimensionq.
+ * @param wrong Wrong dimensions.
+ * @param expected Expected dimensions.
*/
public MultiDimensionMismatchException(Integer[] wrong,
Integer[] expected) {
@@ -82,7 +82,8 @@ public class MultiDimensionMismatchExcep
return wrong[index];
}
/**
- * @return an the expected dimension stored at {@code index}..
+ * @param index Dimension index.
+ * @return the expected dimension stored at {@code index}.
*/
public int getExpectedDimension(int index) {
return expected[index];
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/OutOfRangeException.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/OutOfRangeException.java?rev=1005028&r1=1005027&r2=1005028&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/OutOfRangeException.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/OutOfRangeException.java Wed Oct 6 13:30:03 2010
@@ -26,10 +26,8 @@ import org.apache.commons.math.exception
* @version $Revision$ $Date$
*/
public class OutOfRangeException extends MathIllegalNumberException {
-
/** Serializable version Id. */
private static final long serialVersionUID = 111601815794403609L;
-
/** Lower bound. */
private final Number lo;
/** Higher bound. */
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java?rev=1005028&r1=1005027&r2=1005028&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java Wed Oct 6 13:30:03 2010
@@ -71,6 +71,7 @@ public enum LocalizedFormats implements
CLASS_DOESNT_IMPLEMENT_COMPARABLE("class ({0}) does not implement Comparable"),
CLOSEST_ORTHOGONAL_MATRIX_HAS_NEGATIVE_DETERMINANT("the closest orthogonal matrix has a negative determinant {0}"),
COLUMN_INDEX_OUT_OF_RANGE("column index {0} out of allowed range [{1}, {2}]"),
+ COLUMN_INDEX("column index ({0})"), /* keep */
CONTINUED_FRACTION_INFINITY_DIVERGENCE("Continued fraction convergents diverged to +/- infinity for value {0}"),
CONTINUED_FRACTION_NAN_DIVERGENCE("Continued fraction diverged to NaN for value {0}"),
CONTRACTION_CRITERIA_SMALLER_THAN_EXPANSION_FACTOR("contraction criteria ({0}) smaller than the expansion factor ({1}). This would lead to a never ending loop of expansion and contraction as a newly expanded internal storage array would immediately satisfy the criteria for contraction."),
@@ -249,6 +250,7 @@ public enum LocalizedFormats implements
SIGNIFICANCE_LEVEL("significance level ({0})"), /* keep */
OUT_OF_ORDER_ABSCISSA_ARRAY("the abscissae array must be sorted in a strictly increasing order, but the {0}-th element is {1} whereas {2}-th is {3}"),
OUT_OF_RANGE_ROOT_OF_UNITY_INDEX("out of range root of unity index {0} (must be in [{1};{2}])"),
+ OUT_OF_RANGE("out of range"), /* keep */
OUT_OF_RANGE_SIMPLE("{0} out of [{1}, {2}] range"), /* keep */
OVERFLOW_IN_FRACTION("overflow in fraction {0}/{1}, cannot negate"),
OVERFLOW_IN_ADDITION("overflow in addition: {0} + {1}"),
@@ -265,6 +267,7 @@ public enum LocalizedFormats implements
ROOTS_OF_UNITY_NOT_COMPUTED_YET("roots of unity have not been computed yet"),
ROTATION_MATRIX_DIMENSIONS("a {0}x{1} matrix cannot be a rotation matrix"),
ROW_INDEX_OUT_OF_RANGE("row index {0} out of allowed range [{1}, {2}]"),
+ ROW_INDEX("row index ({0})"), /* keep */
SAME_SIGN_AT_ENDPOINTS("function values at endpoints do not have different signs, endpoints: [{0}, {1}], values: [{2}, {3}]"),
SAMPLE_SIZE_EXCEEDS_COLLECTION_SIZE("sample size ({0}) exceeds collection size ({1})"), /* keep */
SAMPLE_SIZE_LARGER_THAN_POPULATION_SIZE("sample size ({0}) must be less than or equal to population size ({1})"),
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractFieldMatrix.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractFieldMatrix.java?rev=1005028&r1=1005027&r2=1005028&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractFieldMatrix.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/AbstractFieldMatrix.java Wed Oct 6 13:30:03 2010
@@ -22,8 +22,13 @@ import java.util.Arrays;
import org.apache.commons.math.Field;
import org.apache.commons.math.FieldElement;
-import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.exception.MatrixDimensionMismatchException;
+import org.apache.commons.math.exception.DimensionMismatchException;
+import org.apache.commons.math.exception.NoDataException;
+import org.apache.commons.math.exception.OutOfRangeException;
+import org.apache.commons.math.exception.NumberIsTooSmallException;
+import org.apache.commons.math.exception.NotStrictlyPositiveException;
+import org.apache.commons.math.exception.NullArgumentException;
import org.apache.commons.math.exception.util.LocalizedFormats;
/**
@@ -36,7 +41,6 @@ import org.apache.commons.math.exception
* @since 2.0
*/
public abstract class AbstractFieldMatrix<T extends FieldElement<T>> implements FieldMatrix<T> {
-
/** Field to which the elements belong. */
private final Field<T> field;
@@ -58,54 +62,59 @@ public abstract class AbstractFieldMatri
/**
* Create a new FieldMatrix<T> with the supplied row and column dimensions.
*
- * @param field field to which the elements belong
- * @param rowDimension the number of rows in the new matrix
- * @param columnDimension the number of columns in the new matrix
- * @throws IllegalArgumentException if row or column dimension is not positive
+ * @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 NotStrictlyPositiveException if row or column dimension is not
+ * positive.
*/
protected AbstractFieldMatrix(final Field<T> field,
- final int rowDimension, final int columnDimension)
- throws IllegalArgumentException {
- if (rowDimension < 1 ) {
- throw MathRuntimeException.createIllegalArgumentException(
- LocalizedFormats.INSUFFICIENT_DIMENSION, rowDimension, 1);
- }
- if (columnDimension < 1) {
- throw MathRuntimeException.createIllegalArgumentException(
- LocalizedFormats.INSUFFICIENT_DIMENSION, columnDimension, 1);
+ final int rowDimension,
+ final int columnDimension) {
+ if (rowDimension <= 0) {
+ throw new NotStrictlyPositiveException(LocalizedFormats.DIMENSION,
+ rowDimension);
+ }
+ if (columnDimension <= 0) {
+ throw new NotStrictlyPositiveException(LocalizedFormats.DIMENSION,
+ columnDimension);
}
this.field = field;
}
/**
* Get the elements type from an array.
- * @param <T> the type of the field elements
- * @param d data array
- * @return field to which array elements belong
- * @exception IllegalArgumentException if array is empty
+ *
+ * @param <T> Type of the field elements.
+ * @param d Data array.
+ * @return the field to which the array elements belong.
+ * @throws NullArgumentException if the array is {@code null}.
+ * @throws NoDataException if the array is empty.
*/
- protected static <T extends FieldElement<T>> Field<T> extractField(final T[][] d)
- throws IllegalArgumentException {
+ protected static <T extends FieldElement<T>> Field<T> extractField(final T[][] d) {
+ if (d == null) {
+ throw new NullArgumentException();
+ }
if (d.length == 0) {
- throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.AT_LEAST_ONE_ROW);
+ throw new NoDataException(LocalizedFormats.AT_LEAST_ONE_ROW);
}
if (d[0].length == 0) {
- throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.AT_LEAST_ONE_COLUMN);
+ throw new NoDataException(LocalizedFormats.AT_LEAST_ONE_COLUMN);
}
return d[0][0].getField();
}
/**
* Get the elements type from an array.
- * @param <T> the type of the field elements
- * @param d data array
- * @return field to which array elements belong
- * @exception IllegalArgumentException if array is empty
+ *
+ * @param <T> Type of the field elements.
+ * @param d Data array.
+ * @return the field to which the array elements belong.
+ * @throws NoDataException if array is empty.
*/
- protected static <T extends FieldElement<T>> Field<T> extractField(final T[] d)
- throws IllegalArgumentException {
+ protected static <T extends FieldElement<T>> Field<T> extractField(final T[] d) {
if (d.length == 0) {
- throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.AT_LEAST_ONE_ROW);
+ throw new NoDataException(LocalizedFormats.AT_LEAST_ONE_ROW);
}
return d[0].getField();
}
@@ -114,7 +123,7 @@ public abstract class AbstractFieldMatri
* <p>
* Complete arrays are filled with field.getZero()
* </p>
- * @param <T> the type of the field elements
+ * @param <T> Type of the field elements
* @param field field to which array elements belong
* @param rows number of rows
* @param columns number of columns (may be negative to build partial
@@ -285,8 +294,7 @@ public abstract class AbstractFieldMatri
/** {@inheritDoc} */
public FieldMatrix<T> getSubMatrix(final int startRow, final int endRow,
- final int startColumn, final int endColumn)
- throws MatrixIndexException {
+ final int startColumn, final int endColumn) {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
@@ -303,8 +311,8 @@ public abstract class AbstractFieldMatri
}
/** {@inheritDoc} */
- public FieldMatrix<T> getSubMatrix(final int[] selectedRows, final int[] selectedColumns)
- throws MatrixIndexException {
+ public FieldMatrix<T> getSubMatrix(final int[] selectedRows,
+ final int[] selectedColumns) {
// safety checks
checkSubMatrixIndex(selectedRows, selectedColumns);
@@ -329,18 +337,16 @@ public abstract class AbstractFieldMatri
/** {@inheritDoc} */
public void copySubMatrix(final int startRow, final int endRow,
final int startColumn, final int endColumn,
- final T[][] destination)
- throws MatrixIndexException, IllegalArgumentException {
-
+ final T[][] destination) {
// safety checks
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
final int rowsCount = endRow + 1 - startRow;
final int columnsCount = endColumn + 1 - startColumn;
if ((destination.length < rowsCount) || (destination[0].length < columnsCount)) {
- throw MathRuntimeException.createIllegalArgumentException(
- LocalizedFormats.DIMENSIONS_MISMATCH_2x2,
- destination.length, destination[0].length,
- rowsCount, columnsCount);
+ throw new MatrixDimensionMismatchException(destination.length,
+ destination[0].length,
+ rowsCount,
+ columnsCount);
}
// copy entries
@@ -372,17 +378,15 @@ public abstract class AbstractFieldMatri
}
/** {@inheritDoc} */
- public void copySubMatrix(int[] selectedRows, int[] selectedColumns, T[][] destination)
- throws MatrixIndexException, IllegalArgumentException {
-
+ public void copySubMatrix(int[] selectedRows, int[] selectedColumns, T[][] destination) {
// safety checks
checkSubMatrixIndex(selectedRows, selectedColumns);
if ((destination.length < selectedRows.length) ||
(destination[0].length < selectedColumns.length)) {
- throw MathRuntimeException.createIllegalArgumentException(
- LocalizedFormats.DIMENSIONS_MISMATCH_2x2,
- destination.length, destination[0].length,
- selectedRows.length, selectedColumns.length);
+ throw new MatrixDimensionMismatchException(destination.length,
+ destination[0].length,
+ selectedRows.length,
+ selectedColumns.length);
}
// copy entries
@@ -396,24 +400,23 @@ public abstract class AbstractFieldMatri
}
/** {@inheritDoc} */
- public void setSubMatrix(final T[][] subMatrix, final int row, final int column)
- throws MatrixIndexException {
-
+ public void setSubMatrix(final T[][] subMatrix, final int row, final int column) {
+ if (subMatrix == null) {
+ throw new NullArgumentException();
+ }
final int nRows = subMatrix.length;
if (nRows == 0) {
- throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.AT_LEAST_ONE_ROW);
+ throw new NoDataException(LocalizedFormats.AT_LEAST_ONE_ROW);
}
final int nCols = subMatrix[0].length;
if (nCols == 0) {
- throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.AT_LEAST_ONE_COLUMN);
+ throw new NoDataException(LocalizedFormats.AT_LEAST_ONE_COLUMN);
}
for (int r = 1; r < nRows; ++r) {
if (subMatrix[r].length != nCols) {
- throw MathRuntimeException.createIllegalArgumentException(
- LocalizedFormats.DIFFERENT_ROWS_LENGTHS,
- nCols, subMatrix[r].length);
+ throw new DimensionMismatchException(nCols, subMatrix[r].length);
}
}
@@ -427,13 +430,10 @@ public abstract class AbstractFieldMatri
setEntry(row + i, column + j, subMatrix[i][j]);
}
}
-
}
/** {@inheritDoc} */
- public FieldMatrix<T> getRowMatrix(final int row)
- throws MatrixIndexException {
-
+ public FieldMatrix<T> getRowMatrix(final int row) {
checkRowIndex(row);
final int nCols = getColumnDimension();
final FieldMatrix<T> out = createMatrix(1, nCols);
@@ -462,8 +462,7 @@ public abstract class AbstractFieldMatri
}
/** {@inheritDoc} */
- public FieldMatrix<T> getColumnMatrix(final int column)
- throws MatrixIndexException {
+ public FieldMatrix<T> getColumnMatrix(final int column) {
checkColumnIndex(column);
final int nRows = getRowDimension();
@@ -493,8 +492,7 @@ public abstract class AbstractFieldMatri
}
/** {@inheritDoc} */
- public FieldVector<T> getRowVector(final int row)
- throws MatrixIndexException {
+ public FieldVector<T> getRowVector(final int row) {
return new ArrayFieldVector<T>(getRow(row), false);
}
@@ -513,8 +511,7 @@ public abstract class AbstractFieldMatri
}
/** {@inheritDoc} */
- public FieldVector<T> getColumnVector(final int column)
- throws MatrixIndexException {
+ public FieldVector<T> getColumnVector(final int column) {
return new ArrayFieldVector<T>(getColumn(column), false);
}
@@ -533,9 +530,7 @@ public abstract class AbstractFieldMatri
}
/** {@inheritDoc} */
- public T[] getRow(final int row)
- throws MatrixIndexException {
-
+ public T[] getRow(final int row) {
checkRowIndex(row);
final int nCols = getColumnDimension();
final T[] out = buildArray(field, nCols);
@@ -561,9 +556,7 @@ public abstract class AbstractFieldMatri
}
/** {@inheritDoc} */
- public T[] getColumn(final int column)
- throws MatrixIndexException {
-
+ public T[] getColumn(final int column) {
checkColumnIndex(column);
final int nRows = getRowDimension();
final T[] out = buildArray(field, nRows);
@@ -588,20 +581,16 @@ public abstract class AbstractFieldMatri
}
/** {@inheritDoc} */
- public abstract T getEntry(int row, int column)
- throws MatrixIndexException;
+ public abstract T getEntry(int row, int column);
/** {@inheritDoc} */
- public abstract void setEntry(int row, int column, T value)
- throws MatrixIndexException;
+ public abstract void setEntry(int row, int column, T value);
/** {@inheritDoc} */
- public abstract void addToEntry(int row, int column, T increment)
- throws MatrixIndexException;
+ public abstract void addToEntry(int row, int column, T increment);
/** {@inheritDoc} */
- public abstract void multiplyEntry(int row, int column, T factor)
- throws MatrixIndexException;
+ public abstract void multiplyEntry(int row, int column, T factor);
/** {@inheritDoc} */
public FieldMatrix<T> transpose() {
@@ -652,9 +641,7 @@ public abstract class AbstractFieldMatri
final int nRows = getRowDimension();
final int nCols = getColumnDimension();
if (v.length != nCols) {
- throw MathRuntimeException.createIllegalArgumentException(
- LocalizedFormats.VECTOR_LENGTH_MISMATCH,
- v.length, nCols);
+ throw new DimensionMismatchException(v.length, nCols);
}
final T[] out = buildArray(field, nRows);
@@ -678,9 +665,7 @@ public abstract class AbstractFieldMatri
final int nRows = getRowDimension();
final int nCols = getColumnDimension();
if (v.getDimension() != nCols) {
- throw MathRuntimeException.createIllegalArgumentException(
- LocalizedFormats.VECTOR_LENGTH_MISMATCH,
- v.getDimension(), nCols);
+ throw new DimensionMismatchException(v.getDimension(), nCols);
}
final T[] out = buildArray(field, nRows);
@@ -703,9 +688,7 @@ public abstract class AbstractFieldMatri
final int nRows = getRowDimension();
final int nCols = getColumnDimension();
if (v.length != nRows) {
- throw MathRuntimeException.createIllegalArgumentException(
- LocalizedFormats.VECTOR_LENGTH_MISMATCH,
- v.length, nRows);
+ throw new DimensionMismatchException(v.length, nRows);
}
final T[] out = buildArray(field, nCols);
@@ -730,9 +713,7 @@ public abstract class AbstractFieldMatri
final int nRows = getRowDimension();
final int nCols = getColumnDimension();
if (v.getDimension() != nRows) {
- throw MathRuntimeException.createIllegalArgumentException(
- LocalizedFormats.VECTOR_LENGTH_MISMATCH,
- v.getDimension(), nRows);
+ throw new DimensionMismatchException(v.getDimension(), nRows);
}
final T[] out = buildArray(field, nCols);
@@ -782,7 +763,7 @@ public abstract class AbstractFieldMatri
public T walkInRowOrder(final FieldMatrixChangingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
visitor.start(getRowDimension(), getColumnDimension(),
startRow, endRow, startColumn, endColumn);
@@ -800,7 +781,7 @@ public abstract class AbstractFieldMatri
public T walkInRowOrder(final FieldMatrixPreservingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
visitor.start(getRowDimension(), getColumnDimension(),
startRow, endRow, startColumn, endColumn);
@@ -846,7 +827,7 @@ public abstract class AbstractFieldMatri
public T walkInColumnOrder(final FieldMatrixChangingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
visitor.start(getRowDimension(), getColumnDimension(),
startRow, endRow, startColumn, endColumn);
@@ -864,7 +845,7 @@ public abstract class AbstractFieldMatri
public T walkInColumnOrder(final FieldMatrixPreservingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
visitor.start(getRowDimension(), getColumnDimension(),
startRow, endRow, startColumn, endColumn);
@@ -892,7 +873,7 @@ public abstract class AbstractFieldMatri
public T walkInOptimizedOrder(final FieldMatrixChangingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
return walkInRowOrder(visitor, startRow, endRow, startColumn, endColumn);
}
@@ -900,7 +881,7 @@ public abstract class AbstractFieldMatri
public T walkInOptimizedOrder(final FieldMatrixPreservingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
return walkInRowOrder(visitor, startRow, endRow, startColumn, endColumn);
}
@@ -989,26 +970,27 @@ public abstract class AbstractFieldMatri
/**
* Check if a row index is valid.
- * @param row row index to check
- * @exception MatrixIndexException if index is not valid
+ *
+ * @param row Row index to check.
+ * @throws OutOfRangeException if {@code index} is not valid.
*/
protected void checkRowIndex(final int row) {
if (row < 0 || row >= getRowDimension()) {
- throw new MatrixIndexException(LocalizedFormats.ROW_INDEX_OUT_OF_RANGE,
- row, 0, getRowDimension() - 1);
+ throw new OutOfRangeException(LocalizedFormats.ROW_INDEX,
+ row, 0, getRowDimension() - 1);
}
}
/**
* Check if a column index is valid.
- * @param column column index to check
- * @exception MatrixIndexException if index is not valid
+ *
+ * @param column Column index to check.
+ * @throws OutOfRangeException if {@code index} is not valid.
*/
- protected void checkColumnIndex(final int column)
- throws MatrixIndexException {
+ protected void checkColumnIndex(final int column) {
if (column < 0 || column >= getColumnDimension()) {
- throw new MatrixIndexException(LocalizedFormats.COLUMN_INDEX_OUT_OF_RANGE,
- column, 0, getColumnDimension() - 1);
+ throw new OutOfRangeException(LocalizedFormats.COLUMN_INDEX,
+ column, 0, getColumnDimension() - 1);
}
}
@@ -1016,26 +998,28 @@ public abstract class AbstractFieldMatri
* Check if submatrix ranges indices are valid.
* Rows and columns are indicated counting from 0 to n-1.
*
- * @param startRow Initial row index
- * @param endRow Final row index
- * @param startColumn Initial column index
- * @param endColumn Final column index
- * @exception MatrixIndexException if the indices are not valid
+ * @param startRow Initial row index.
+ * @param endRow Final row index.
+ * @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}.
*/
protected void checkSubMatrixIndex(final int startRow, final int endRow,
final int startColumn, final int endColumn) {
checkRowIndex(startRow);
checkRowIndex(endRow);
- if (startRow > endRow) {
- throw new MatrixIndexException(LocalizedFormats.INITIAL_ROW_AFTER_FINAL_ROW,
- startRow, endRow);
+ if (endRow < startRow) {
+ throw new NumberIsTooSmallException(LocalizedFormats.INITIAL_ROW_AFTER_FINAL_ROW,
+ endRow, startRow, true);
}
checkColumnIndex(startColumn);
checkColumnIndex(endColumn);
- if (startColumn > endColumn) {
- throw new MatrixIndexException(LocalizedFormats.INITIAL_COLUMN_AFTER_FINAL_COLUMN,
- startColumn, endColumn);
+ if (endColumn < startColumn) {
+ throw new NumberIsTooSmallException(LocalizedFormats.INITIAL_COLUMN_AFTER_FINAL_COLUMN,
+ endColumn, startColumn, true);
}
}
@@ -1045,14 +1029,18 @@ public abstract class AbstractFieldMatri
*
* @param selectedRows Array of row indices.
* @param selectedColumns Array of column indices.
- * @exception MatrixIndexException if row or column selections are not valid
+ * @throws NullArgumentException if the arrays are {@code null}.
+ * @throws NoDataException if the arrays have zero length.
+ * @throws OutOfRangeException if row or column selections are not valid.
*/
protected void checkSubMatrixIndex(final int[] selectedRows, final int[] selectedColumns) {
- if (selectedRows.length * selectedColumns.length == 0) {
- if (selectedRows.length == 0) {
- throw new MatrixIndexException(LocalizedFormats.EMPTY_SELECTED_ROW_INDEX_ARRAY);
- }
- throw new MatrixIndexException(LocalizedFormats.EMPTY_SELECTED_COLUMN_INDEX_ARRAY);
+ if (selectedRows == null ||
+ selectedColumns == null) {
+ throw new NullArgumentException();
+ }
+ if (selectedRows.length == 0 ||
+ selectedColumns.length == 0) {
+ throw new NoDataException();
}
for (final int row : selectedRows) {
@@ -1064,46 +1052,45 @@ public abstract class AbstractFieldMatri
}
/**
- * Check if a matrix is addition compatible with the instance
- * @param m matrix to check
- * @exception IllegalArgumentException if matrix is not addition compatible with instance
+ * Check if a matrix is addition compatible with the instance.
+ *
+ * @param m Matrix to check.
+ * @throws MatrixDimensionMismatchException if the matrix is not
+ * addition-compatible with instance.
*/
protected void checkAdditionCompatible(final FieldMatrix<T> m) {
- if ((getRowDimension() != m.getRowDimension()) ||
+ if ((getRowDimension() != m.getRowDimension()) ||
(getColumnDimension() != m.getColumnDimension())) {
- throw MathRuntimeException.createIllegalArgumentException(
- LocalizedFormats.NOT_ADDITION_COMPATIBLE_MATRICES,
- getRowDimension(), getColumnDimension(),
- m.getRowDimension(), m.getColumnDimension());
+ throw new MatrixDimensionMismatchException(m.getRowDimension(), m.getColumnDimension(),
+ getRowDimension(), getColumnDimension());
}
}
/**
- * Check if a matrix is subtraction compatible with the instance
- * @param m matrix to check
- * @exception IllegalArgumentException if matrix is not subtraction compatible with instance
+ * Check if a matrix is subtraction compatible with the instance.
+ *
+ * @param m Matrix to check.
+ * @throws MatrixDimensionMismatchException if the matrix is not
+ * subtraction-compatible with instance.
*/
protected void checkSubtractionCompatible(final FieldMatrix<T> m) {
- if ((getRowDimension() != m.getRowDimension()) ||
+ if ((getRowDimension() != m.getRowDimension()) ||
(getColumnDimension() != m.getColumnDimension())) {
- throw MathRuntimeException.createIllegalArgumentException(
- LocalizedFormats.NOT_SUBTRACTION_COMPATIBLE_MATRICES,
- getRowDimension(), getColumnDimension(),
- m.getRowDimension(), m.getColumnDimension());
+ throw new MatrixDimensionMismatchException(m.getRowDimension(), m.getColumnDimension(),
+ getRowDimension(), getColumnDimension());
}
}
/**
- * Check if a matrix is multiplication compatible with the instance
- * @param m matrix to check
- * @exception IllegalArgumentException if matrix is not multiplication compatible with instance
+ * Check if a matrix is multiplication compatible with the instance.
+ *
+ * @param m Matrix to check.
+ * @throws DimensionMismatchException if the matrix is not
+ * multiplication-compatible with instance.
*/
protected void checkMultiplicationCompatible(final FieldMatrix<T> m) {
if (getColumnDimension() != m.getRowDimension()) {
- throw MathRuntimeException.createIllegalArgumentException(
- LocalizedFormats.NOT_MULTIPLICATION_COMPATIBLE_MATRICES,
- getRowDimension(), getColumnDimension(),
- m.getRowDimension(), m.getColumnDimension());
+ throw new DimensionMismatchException(m.getRowDimension(), getColumnDimension());
}
}
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/Array2DRowFieldMatrix.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/Array2DRowFieldMatrix.java?rev=1005028&r1=1005027&r2=1005028&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/Array2DRowFieldMatrix.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/Array2DRowFieldMatrix.java Wed Oct 6 13:30:03 2010
@@ -303,8 +303,7 @@ public class Array2DRowFieldMatrix<T ext
/** {@inheritDoc} */
@Override
- public void setSubMatrix(final T[][] subMatrix, final int row, final int column)
- throws MatrixIndexException {
+ public void setSubMatrix(final T[][] subMatrix, final int row, final int column) {
if (data == null) {
if (row > 0) {
throw MathRuntimeException.createIllegalStateException(
@@ -341,50 +340,38 @@ public class Array2DRowFieldMatrix<T ext
/** {@inheritDoc} */
@Override
- public T getEntry(final int row, final int column)
- throws MatrixIndexException {
- try {
- return data[row][column];
- } catch (ArrayIndexOutOfBoundsException e) {
- throw new MatrixIndexException(
- LocalizedFormats.NO_SUCH_MATRIX_ENTRY, row, column, getRowDimension(), getColumnDimension());
- }
+ public T getEntry(final int row, final int column) {
+ checkRowIndex(row);
+ checkColumnIndex(column);
+
+ return data[row][column];
}
/** {@inheritDoc} */
@Override
- public void setEntry(final int row, final int column, final T value)
- throws MatrixIndexException {
- try {
- data[row][column] = value;
- } catch (ArrayIndexOutOfBoundsException e) {
- throw new MatrixIndexException(
- LocalizedFormats.NO_SUCH_MATRIX_ENTRY, row, column, getRowDimension(), getColumnDimension());
- }
+ public void setEntry(final int row, final int column, final T value) {
+ checkRowIndex(row);
+ checkColumnIndex(column);
+
+ data[row][column] = value;
}
/** {@inheritDoc} */
@Override
- public void addToEntry(final int row, final int column, final T increment)
- throws MatrixIndexException {
- try {
- data[row][column] = data[row][column].add(increment);
- } catch (ArrayIndexOutOfBoundsException e) {
- throw new MatrixIndexException(
- LocalizedFormats.NO_SUCH_MATRIX_ENTRY, row, column, getRowDimension(), getColumnDimension());
- }
+ public void addToEntry(final int row, final int column, final T increment) {
+ checkRowIndex(row);
+ checkColumnIndex(column);
+
+ data[row][column] = data[row][column].add(increment);
}
/** {@inheritDoc} */
@Override
- public void multiplyEntry(final int row, final int column, final T factor)
- throws MatrixIndexException {
- try {
- data[row][column] = data[row][column].multiply(factor);
- } catch (ArrayIndexOutOfBoundsException e) {
- throw new MatrixIndexException(
- LocalizedFormats.NO_SUCH_MATRIX_ENTRY, row, column, getRowDimension(), getColumnDimension());
- }
+ public void multiplyEntry(final int row, final int column, final T factor) {
+ checkRowIndex(row);
+ checkColumnIndex(column);
+
+ data[row][column] = data[row][column].multiply(factor);
}
/** {@inheritDoc} */
@@ -483,7 +470,7 @@ public class Array2DRowFieldMatrix<T ext
public T walkInRowOrder(final FieldMatrixChangingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
visitor.start(getRowDimension(), getColumnDimension(),
startRow, endRow, startColumn, endColumn);
@@ -501,7 +488,7 @@ public class Array2DRowFieldMatrix<T ext
public T walkInRowOrder(final FieldMatrixPreservingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
visitor.start(getRowDimension(), getColumnDimension(),
startRow, endRow, startColumn, endColumn);
@@ -550,7 +537,7 @@ public class Array2DRowFieldMatrix<T ext
public T walkInColumnOrder(final FieldMatrixChangingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
visitor.start(getRowDimension(), getColumnDimension(),
startRow, endRow, startColumn, endColumn);
@@ -568,7 +555,7 @@ public class Array2DRowFieldMatrix<T ext
public T walkInColumnOrder(final FieldMatrixPreservingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
visitor.start(getRowDimension(), getColumnDimension(),
startRow, endRow, startColumn, endColumn);
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/BlockFieldMatrix.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/BlockFieldMatrix.java?rev=1005028&r1=1005027&r2=1005028&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/BlockFieldMatrix.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/BlockFieldMatrix.java Wed Oct 6 13:30:03 2010
@@ -68,40 +68,31 @@ import org.apache.commons.math.util.Fast
* @since 2.0
*/
public class BlockFieldMatrix<T extends FieldElement<T>> extends AbstractFieldMatrix<T> implements Serializable {
-
/** Block size. */
public static final int BLOCK_SIZE = 36;
-
- /** Serializable version identifier */
+ /** Serializable version identifier. */
private static final long serialVersionUID = -4602336630143123183L;
-
/** Blocks of matrix entries. */
private final T blocks[][];
-
/** Number of rows of the matrix. */
private final int rows;
-
/** Number of columns of the matrix. */
private final int columns;
-
/** Number of block rows of the matrix. */
private final int blockRows;
-
/** Number of block columns of the matrix. */
private final int blockColumns;
/**
* Create a new matrix with the supplied row and column dimensions.
*
- * @param field field to which the elements belong
- * @param rows the number of rows in the new matrix
- * @param columns the number of columns in the new matrix
- * @throws IllegalArgumentException if row or column dimension is not
- * positive
+ * @param field Field to which the elements belong.
+ * @param rows Number of rows in the new matrix.
+ * @param columns Number of columns in the new matrix.
+ * @throws org.apache.commons.math.exception.NotStrictlyPositiveException
+ * if row or column dimension is not positive.
*/
- public BlockFieldMatrix(final Field<T> field, final int rows, final int columns)
- throws IllegalArgumentException {
-
+ public BlockFieldMatrix(final Field<T> field, final int rows, final int columns) {
super(field, rows, columns);
this.rows = rows;
this.columns = columns;
@@ -112,7 +103,6 @@ public class BlockFieldMatrix<T extends
// allocate storage blocks, taking care of smaller ones at right and bottom
blocks = createBlocksLayout(field, rows, columns);
-
}
/**
@@ -122,14 +112,13 @@ public class BlockFieldMatrix<T extends
* <pre>matrix = new BlockFieldMatrix<T>(getField(), rawData.length, rawData[0].length,
* toBlocksLayout(rawData), false);</pre>
* </p>
- * @param rawData data for new matrix, in raw layout
+ * @param rawData Data for the new matrix, in raw layout.
*
- * @exception IllegalArgumentException if <code>blockData</code> shape is
- * inconsistent with block layout
+ * @exception DimensionMismatchException if the {@code blockData} shape is
+ * inconsistent with block layout.
* @see #BlockFieldMatrix(int, int, FieldElement[][], boolean)
*/
- public BlockFieldMatrix(final T[][] rawData)
- throws IllegalArgumentException {
+ public BlockFieldMatrix(final T[][] rawData) {
this(rawData.length, rawData[0].length, toBlocksLayout(rawData), false);
}
@@ -142,16 +131,14 @@ public class BlockFieldMatrix<T extends
* @param copyArray if true, the input array will be copied, otherwise
* it will be referenced
*
- * @exception IllegalArgumentException if <code>blockData</code> shape is
- * inconsistent with block layout
+ * @exception DimensionMismatchException if the {@code blockData} shape is
+ * inconsistent with block layout.
* @see #createBlocksLayout(Field, int, int)
* @see #toBlocksLayout(FieldElement[][])
* @see #BlockFieldMatrix(FieldElement[][])
*/
public BlockFieldMatrix(final int rows, final int columns,
- final T[][] blockData, final boolean copyArray)
- throws IllegalArgumentException {
-
+ final T[][] blockData, final boolean copyArray) {
super(extractField(blockData), rows, columns);
this.rows = rows;
this.columns = columns;
@@ -181,7 +168,6 @@ public class BlockFieldMatrix<T extends
}
}
}
-
}
/**
@@ -200,16 +186,15 @@ public class BlockFieldMatrix<T extends
* #BlockFieldMatrix(int, int, FieldElement[][], boolean)}
* constructor.
* </p>
- * @param <T> the type of the field elements
- * @param rawData data array in raw layout
+ * @param <T> Type of the field elements.
+ * @param rawData Data array in raw layout.
* @return a new data array containing the same entries but in blocks layout
- * @exception IllegalArgumentException if <code>rawData</code> is not rectangular
- * (not all rows have the same length)
+ * @throws DimensionMismatchException if {@code rawData} is not rectangular
+ * (not all rows have the same length).
* @see #createBlocksLayout(Field, int, int)
* @see #BlockFieldMatrix(int, int, FieldElement[][], boolean)
*/
- public static <T extends FieldElement<T>> T[][] toBlocksLayout(final T[][] rawData)
- throws IllegalArgumentException {
+ public static <T extends FieldElement<T>> T[][] toBlocksLayout(final T[][] rawData) {
final int rows = rawData.length;
final int columns = rawData[0].length;
@@ -249,12 +234,10 @@ public class BlockFieldMatrix<T extends
}
++blockIndex;
-
}
}
return blocks;
-
}
/**
@@ -264,17 +247,16 @@ public class BlockFieldMatrix<T extends
* #BlockFieldMatrix(int, int, FieldElement[][], boolean)}
* constructor.
* </p>
- * @param <T> the type of the field elements
- * @param field field to which the elements belong
- * @param rows the number of rows in the new matrix
- * @param columns the number of columns in the new matrix
- * @return a new data array in blocks layout
+ * @param <T> Type of the field elements.
+ * @param field Field to which the elements belong.
+ * @param rows Number of rows in the new matrix.
+ * @param columns Number of columns in the new matrix.
+ * @return a new data array in blocks layout.
* @see #toBlocksLayout(FieldElement[][])
* @see #BlockFieldMatrix(int, int, FieldElement[][], boolean)
*/
public static <T extends FieldElement<T>> T[][] createBlocksLayout(final Field<T> field,
final int rows, final int columns) {
-
final int blockRows = (rows + BLOCK_SIZE - 1) / BLOCK_SIZE;
final int blockColumns = (columns + BLOCK_SIZE - 1) / BLOCK_SIZE;
@@ -294,13 +276,11 @@ public class BlockFieldMatrix<T extends
}
return blocks;
-
}
/** {@inheritDoc} */
@Override
- public FieldMatrix<T> createMatrix(final int rowDimension, final int columnDimension)
- throws IllegalArgumentException {
+ public FieldMatrix<T> createMatrix(final int rowDimension, final int columnDimension) {
return new BlockFieldMatrix<T>(getField(), rowDimension, columnDimension);
}
@@ -317,13 +297,11 @@ public class BlockFieldMatrix<T extends
}
return copied;
-
}
/** {@inheritDoc} */
@Override
- public FieldMatrix<T> add(final FieldMatrix<T> m)
- throws IllegalArgumentException {
+ public FieldMatrix<T> add(final FieldMatrix<T> m) {
try {
return add((BlockFieldMatrix<T>) m);
} catch (ClassCastException cce) {
@@ -360,7 +338,6 @@ public class BlockFieldMatrix<T extends
}
return out;
-
}
}
@@ -371,8 +348,7 @@ public class BlockFieldMatrix<T extends
* @return this + m
* @throws IllegalArgumentException if m is not the same size as this
*/
- public BlockFieldMatrix<T> add(final BlockFieldMatrix<T> m)
- throws IllegalArgumentException {
+ public BlockFieldMatrix<T> add(final BlockFieldMatrix<T> m) {
// safety check
checkAdditionCompatible(m);
@@ -390,7 +366,6 @@ public class BlockFieldMatrix<T extends
}
return out;
-
}
/** {@inheritDoc} */
@@ -433,7 +408,6 @@ public class BlockFieldMatrix<T extends
}
return out;
-
}
}
@@ -444,9 +418,7 @@ public class BlockFieldMatrix<T extends
* @return this - m
* @throws IllegalArgumentException if m is not the same size as this
*/
- public BlockFieldMatrix<T> subtract(final BlockFieldMatrix<T> m)
- throws IllegalArgumentException {
-
+ public BlockFieldMatrix<T> subtract(final BlockFieldMatrix<T> m) {
// safety check
checkSubtractionCompatible(m);
@@ -463,14 +435,11 @@ public class BlockFieldMatrix<T extends
}
return out;
-
}
/** {@inheritDoc} */
@Override
- public FieldMatrix<T> scalarAdd(final T d)
- throws IllegalArgumentException {
-
+ public FieldMatrix<T> scalarAdd(final T d) {
final BlockFieldMatrix<T> out = new BlockFieldMatrix<T>(getField(), rows, columns);
// perform subtraction block-wise, to ensure good cache behavior
@@ -483,13 +452,11 @@ public class BlockFieldMatrix<T extends
}
return out;
-
}
/** {@inheritDoc} */
@Override
- public FieldMatrix<T> scalarMultiply(final T d)
- throws IllegalArgumentException {
+ public FieldMatrix<T> scalarMultiply(final T d) {
final BlockFieldMatrix<T> out = new BlockFieldMatrix<T>(getField(), rows, columns);
@@ -503,13 +470,11 @@ public class BlockFieldMatrix<T extends
}
return out;
-
}
/** {@inheritDoc} */
@Override
- public FieldMatrix<T> multiply(final FieldMatrix<T> m)
- throws IllegalArgumentException {
+ public FieldMatrix<T> multiply(final FieldMatrix<T> m) {
try {
return multiply((BlockFieldMatrix<T>) m);
} catch (ClassCastException cce) {
@@ -564,7 +529,6 @@ public class BlockFieldMatrix<T extends
}
return out;
-
}
}
@@ -576,7 +540,7 @@ public class BlockFieldMatrix<T extends
* @throws IllegalArgumentException
* if columnDimension(this) != rowDimension(m)
*/
- public BlockFieldMatrix<T> multiply(BlockFieldMatrix<T> m) throws IllegalArgumentException {
+ public BlockFieldMatrix<T> multiply(BlockFieldMatrix<T> m) {
// safety check
checkMultiplicationCompatible(m);
@@ -634,12 +598,10 @@ public class BlockFieldMatrix<T extends
// go to next block
++blockIndex;
-
}
}
return out;
-
}
/** {@inheritDoc} */
@@ -669,15 +631,12 @@ public class BlockFieldMatrix<T extends
}
return data;
-
}
/** {@inheritDoc} */
@Override
public FieldMatrix<T> getSubMatrix(final int startRow, final int endRow,
- final int startColumn, final int endColumn)
- throws MatrixIndexException {
-
+ final int startColumn, final int endColumn) {
// safety checks
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
@@ -760,16 +719,12 @@ public class BlockFieldMatrix<T extends
outBlock, jWidth, 0, 0);
}
}
-
++qBlock;
}
-
++pBlock;
-
}
return out;
-
}
/**
@@ -804,9 +759,7 @@ public class BlockFieldMatrix<T extends
/** {@inheritDoc} */
@Override
- public void setSubMatrix(final T[][] subMatrix, final int row, final int column)
- throws MatrixIndexException {
-
+ public void setSubMatrix(final T[][] subMatrix, final int row, final int column) {
// safety checks
final int refLength = subMatrix[0].length;
if (refLength == 0) {
@@ -855,9 +808,7 @@ public class BlockFieldMatrix<T extends
/** {@inheritDoc} */
@Override
- public FieldMatrix<T> getRowMatrix(final int row)
- throws MatrixIndexException {
-
+ public FieldMatrix<T> getRowMatrix(final int row) {
checkRowIndex(row);
final BlockFieldMatrix<T> out = new BlockFieldMatrix<T>(getField(), 1, columns);
@@ -883,7 +834,6 @@ public class BlockFieldMatrix<T extends
}
return out;
-
}
/** {@inheritDoc} */
@@ -903,9 +853,10 @@ public class BlockFieldMatrix<T extends
* @param row the row to be set
* @param matrix row matrix (must have one row and the same number of columns
* as the instance)
- * @throws MatrixIndexException if the specified row index is invalid
- * @throws MatrixDimensionMismatchException if the matrix dimensions do not match one
- * instance row
+ * @throws org.apache.commons.math.exception.OutOfRangeException if the
+ * specified row index is invalid.
+ * @throws MatrixDimensionMismatchException if the matrix dimensions do
+ * not match one instance row.
*/
public void setRowMatrix(final int row, final BlockFieldMatrix<T> matrix) {
checkRowIndex(row);
@@ -937,14 +888,11 @@ public class BlockFieldMatrix<T extends
mIndex += jWidth;
}
}
-
}
/** {@inheritDoc} */
@Override
- public FieldMatrix<T> getColumnMatrix(final int column)
- throws MatrixIndexException {
-
+ public FieldMatrix<T> getColumnMatrix(final int column) {
checkColumnIndex(column);
final BlockFieldMatrix<T> out = new BlockFieldMatrix<T>(getField(), rows, 1);
@@ -968,7 +916,6 @@ public class BlockFieldMatrix<T extends
}
return out;
-
}
/** {@inheritDoc} */
@@ -982,15 +929,16 @@ public class BlockFieldMatrix<T extends
}
/**
- * Sets the entries in column number <code>column</code>
+ * Sets the entries in column number {@code column}
* as a column matrix. Column indices start at 0.
*
- * @param column the column to be set
- * @param matrix column matrix (must have one column and the same number of rows
- * as the instance)
- * @throws MatrixIndexException if the specified column index is invalid
- * @throws MatrixDimensionMismatchException if the matrix dimensions do not match one
- * instance column
+ * @param column Column to be set.
+ * @param matrix Column matrix (must have one column and the same number of rows
+ * as the instance).
+ * @throws org.apache.commons.math.exception.OutOfRangeException if
+ * the specified column index is invalid.
+ * @throws MatrixDimensionMismatchException if the matrix dimensions do
+ * not match one instance column.
*/
void setColumnMatrix(final int column, final BlockFieldMatrix<T> matrix) {
checkColumnIndex(column);
@@ -1024,9 +972,7 @@ public class BlockFieldMatrix<T extends
/** {@inheritDoc} */
@Override
- public FieldVector<T> getRowVector(final int row)
- throws MatrixIndexException {
-
+ public FieldVector<T> getRowVector(final int row) {
checkRowIndex(row);
final T[] outData = buildArray(getField(), columns);
@@ -1042,7 +988,6 @@ public class BlockFieldMatrix<T extends
}
return new ArrayFieldVector<T>(outData, false);
-
}
/** {@inheritDoc} */
@@ -1057,9 +1002,7 @@ public class BlockFieldMatrix<T extends
/** {@inheritDoc} */
@Override
- public FieldVector<T> getColumnVector(final int column)
- throws MatrixIndexException {
-
+ public FieldVector<T> getColumnVector(final int column) {
checkColumnIndex(column);
final T[] outData = buildArray(getField(), rows);
@@ -1077,7 +1020,6 @@ public class BlockFieldMatrix<T extends
}
return new ArrayFieldVector<T>(outData, false);
-
}
/** {@inheritDoc} */
@@ -1092,9 +1034,7 @@ public class BlockFieldMatrix<T extends
/** {@inheritDoc} */
@Override
- public T[] getRow(final int row)
- throws MatrixIndexException {
-
+ public T[] getRow(final int row) {
checkRowIndex(row);
final T[] out = buildArray(getField(), columns);
@@ -1110,7 +1050,6 @@ public class BlockFieldMatrix<T extends
}
return out;
-
}
/** {@inheritDoc} */
@@ -1136,9 +1075,7 @@ public class BlockFieldMatrix<T extends
/** {@inheritDoc} */
@Override
- public T[] getColumn(final int column)
- throws MatrixIndexException {
-
+ public T[] getColumn(final int column) {
checkColumnIndex(column);
final T[] out = buildArray(getField(), rows);
@@ -1183,78 +1120,65 @@ public class BlockFieldMatrix<T extends
/** {@inheritDoc} */
@Override
- public T getEntry(final int row, final int column)
- throws MatrixIndexException {
- try {
- final int iBlock = row / BLOCK_SIZE;
- final int jBlock = column / BLOCK_SIZE;
- final int k = (row - iBlock * BLOCK_SIZE) * blockWidth(jBlock) +
- (column - jBlock * BLOCK_SIZE);
- return blocks[iBlock * blockColumns + jBlock][k];
- } catch (ArrayIndexOutOfBoundsException e) {
- throw new MatrixIndexException(
- LocalizedFormats.NO_SUCH_MATRIX_ENTRY,
- row, column, getRowDimension(), getColumnDimension());
- }
+ public T getEntry(final int row, final int column) {
+ checkRowIndex(row);
+ checkColumnIndex(column);
+
+ final int iBlock = row / BLOCK_SIZE;
+ final int jBlock = column / BLOCK_SIZE;
+ final int k = (row - iBlock * BLOCK_SIZE) * blockWidth(jBlock) +
+ (column - jBlock * BLOCK_SIZE);
+
+ return blocks[iBlock * blockColumns + jBlock][k];
}
/** {@inheritDoc} */
@Override
- public void setEntry(final int row, final int column, final T value)
- throws MatrixIndexException {
- try {
- final int iBlock = row / BLOCK_SIZE;
- final int jBlock = column / BLOCK_SIZE;
- final int k = (row - iBlock * BLOCK_SIZE) * blockWidth(jBlock) +
- (column - jBlock * BLOCK_SIZE);
- blocks[iBlock * blockColumns + jBlock][k] = value;
- } catch (ArrayIndexOutOfBoundsException e) {
- throw new MatrixIndexException(
- LocalizedFormats.NO_SUCH_MATRIX_ENTRY,
- row, column, getRowDimension(), getColumnDimension());
- }
+ public void setEntry(final int row, final int column, final T value) {
+ checkRowIndex(row);
+ checkColumnIndex(column);
+
+ final int iBlock = row / BLOCK_SIZE;
+ final int jBlock = column / BLOCK_SIZE;
+ final int k = (row - iBlock * BLOCK_SIZE) * blockWidth(jBlock) +
+ (column - jBlock * BLOCK_SIZE);
+
+ blocks[iBlock * blockColumns + jBlock][k] = value;
}
/** {@inheritDoc} */
@Override
- public void addToEntry(final int row, final int column, final T increment)
- throws MatrixIndexException {
- try {
- final int iBlock = row / BLOCK_SIZE;
- final int jBlock = column / BLOCK_SIZE;
- final int k = (row - iBlock * BLOCK_SIZE) * blockWidth(jBlock) +
- (column - jBlock * BLOCK_SIZE);
- final T[] blockIJ = blocks[iBlock * blockColumns + jBlock];
- blockIJ[k] = blockIJ[k].add(increment);
- } catch (ArrayIndexOutOfBoundsException e) {
- throw new MatrixIndexException(
- LocalizedFormats.NO_SUCH_MATRIX_ENTRY,
- row, column, getRowDimension(), getColumnDimension());
- }
+ public void addToEntry(final int row, final int column, final T increment) {
+ checkRowIndex(row);
+ checkColumnIndex(column);
+
+ final int iBlock = row / BLOCK_SIZE;
+ final int jBlock = column / BLOCK_SIZE;
+ final int k = (row - iBlock * BLOCK_SIZE) * blockWidth(jBlock) +
+ (column - jBlock * BLOCK_SIZE);
+ final T[] blockIJ = blocks[iBlock * blockColumns + jBlock];
+
+ blockIJ[k] = blockIJ[k].add(increment);
}
/** {@inheritDoc} */
@Override
- public void multiplyEntry(final int row, final int column, final T factor)
- throws MatrixIndexException {
- try {
- final int iBlock = row / BLOCK_SIZE;
- final int jBlock = column / BLOCK_SIZE;
- final int k = (row - iBlock * BLOCK_SIZE) * blockWidth(jBlock) +
- (column - jBlock * BLOCK_SIZE);
- final T[] blockIJ = blocks[iBlock * blockColumns + jBlock];
- blockIJ[k] = blockIJ[k].multiply(factor);
- } catch (ArrayIndexOutOfBoundsException e) {
- throw new MatrixIndexException(
- LocalizedFormats.NO_SUCH_MATRIX_ENTRY,
- row, column, getRowDimension(), getColumnDimension());
- }
+ public void multiplyEntry(final int row, final int column, final T factor) {
+ checkRowIndex(row);
+ checkColumnIndex(column);
+
+ final int iBlock = row / BLOCK_SIZE;
+ final int jBlock = column / BLOCK_SIZE;
+ final int k = (row - iBlock * BLOCK_SIZE) * blockWidth(jBlock) +
+ (column - jBlock * BLOCK_SIZE);
+ final T[] blockIJ = blocks[iBlock * blockColumns + jBlock];
+
+ blockIJ[k] = blockIJ[k].multiply(factor);
}
/** {@inheritDoc} */
@Override
public FieldMatrix<T> transpose() {
-
final int nRows = getRowDimension();
final int nCols = getColumnDimension();
final BlockFieldMatrix<T> out = new BlockFieldMatrix<T>(getField(), nCols, nRows);
@@ -1449,7 +1373,7 @@ public class BlockFieldMatrix<T extends
public T walkInRowOrder(final FieldMatrixChangingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
visitor.start(rows, columns, startRow, endRow, startColumn, endColumn);
for (int iBlock = startRow / BLOCK_SIZE; iBlock < 1 + endRow / BLOCK_SIZE; ++iBlock) {
@@ -1479,7 +1403,7 @@ public class BlockFieldMatrix<T extends
public T walkInRowOrder(final FieldMatrixPreservingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
visitor.start(rows, columns, startRow, endRow, startColumn, endColumn);
for (int iBlock = startRow / BLOCK_SIZE; iBlock < 1 + endRow / BLOCK_SIZE; ++iBlock) {
@@ -1561,7 +1485,7 @@ public class BlockFieldMatrix<T extends
public T walkInOptimizedOrder(final FieldMatrixChangingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
visitor.start(rows, columns, startRow, endRow, startColumn, endColumn);
for (int iBlock = startRow / BLOCK_SIZE; iBlock < 1 + endRow / BLOCK_SIZE; ++iBlock) {
@@ -1591,7 +1515,7 @@ public class BlockFieldMatrix<T extends
public T walkInOptimizedOrder(final FieldMatrixPreservingVisitor<T> visitor,
final int startRow, final int endRow,
final int startColumn, final int endColumn)
- throws MatrixIndexException, MatrixVisitorException {
+ throws MatrixVisitorException {
checkSubMatrixIndex(startRow, endRow, startColumn, endColumn);
visitor.start(rows, columns, startRow, endRow, startColumn, endColumn);
for (int iBlock = startRow / BLOCK_SIZE; iBlock < 1 + endRow / BLOCK_SIZE; ++iBlock) {
Modified: commons/proper/math/trunk/src/main/resources/META-INF/localization/LocalizedFormats_fr.properties
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/resources/META-INF/localization/LocalizedFormats_fr.properties?rev=1005028&r1=1005027&r2=1005028&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/resources/META-INF/localization/LocalizedFormats_fr.properties (original)
+++ commons/proper/math/trunk/src/main/resources/META-INF/localization/LocalizedFormats_fr.properties Wed Oct 6 13:30:03 2010
@@ -43,6 +43,7 @@ CARDAN_ANGLES_SINGULARITY = singularit\u
CLASS_DOESNT_IMPLEMENT_COMPARABLE = la classe ({0}) n''implante pas l''interface Comparable
CLOSEST_ORTHOGONAL_MATRIX_HAS_NEGATIVE_DETERMINANT = la matrice orthogonale la plus proche a un d\u00e9terminant n\u00e9gatif {0}
COLUMN_INDEX_OUT_OF_RANGE = l''index de colonne {0} est hors du domaine autoris\u00e9 [{1}, {2}]
+COLUMN_INDEX = index de colonne ({0})
CONTINUED_FRACTION_INFINITY_DIVERGENCE = Divergence de fraction continue \u00e0 l''infini pour la valeur {0}
CONTINUED_FRACTION_NAN_DIVERGENCE = Divergence de fraction continue \u00e0 NaN pour la valeur {0}
CONTRACTION_CRITERIA_SMALLER_THAN_EXPANSION_FACTOR = crit\u00e8re de contraction ({0}) inf\u00e9rieur au facteur d''extension ({1}). Ceci induit une boucle infinie d''extensions/contractions car tout tableau de stockage fra\u00eechement \u00e9tendu respecte imm\u00e9diatement le crit\u00e8re de contraction.
@@ -100,7 +101,7 @@ INVALID_BRACKETING_PARAMETERS = param\u0
INVALID_INTERVAL_INITIAL_VALUE_PARAMETERS = param\u00e8tres de l''intervalle initial invalides : borne inf = {0}, valeur initiale = {1}, borne sup = {2}
INVALID_ITERATIONS_LIMITS = limites d''it\u00e9rations invalides : min = {0}, max = {1}
INVALID_MAX_ITERATIONS = valeur invalide pour le nombre maximal d''it\u00e9rations : {0}
-INVALID_REGRESSION_ARRAY= longueur du tableau de donn\u00e9es = {0} ne correspond pas au nombre d'observations = {1} et le nombre de variables explicatives = {2}
+INVALID_REGRESSION_ARRAY= longueur du tableau de donn\u00e9es = {0} ne correspond pas au nombre d''observations = {1} et le nombre de variables explicatives = {2}
INVALID_ROUNDING_METHOD = m\u00e9thode d''arondi {0} invalide, m\u00e9thodes valides : {1} ({2}), {3} ({4}), {5} ({6}), {7} ({8}), {9} ({10}), {11} ({12}), {13} ({14}), {15} ({16})
ITERATOR_EXHAUSTED = it\u00e9ration achev\u00e9e
LCM_OVERFLOW_32_BITS = d\u00e9passement de capacit\u00e9 : le MCM de {0} et {1} vaut 2^31
@@ -222,6 +223,7 @@ SIGNIFICANCE_LEVEL = niveau de significa
OUT_OF_ORDER_ABSCISSA_ARRAY = les abscisses doivent \u00eatre en ordre strictement croissant, mais l''\u00e9l\u00e9ment {0} vaut {1} alors que l''\u00e9l\u00e9ment {2} vaut {3}
OUT_OF_RANGE_ROOT_OF_UNITY_INDEX = l''indice de racine de l''unit\u00e9 {0} est hors du domaine autoris\u00e9 [{1};{2}]
OUT_OF_RANGE_SIMPLE = {0} hors du domaine [{1}, {2}]
+OUT_OF_RANGE = hors domaine
OVERFLOW_IN_FRACTION = d\u00e9passement de capacit\u00e9 pour la fraction {0}/{1}, son signe ne peut \u00eatre chang\u00e9
OVERFLOW_IN_ADDITION = d\u00e9passement de capacit\u00e9 pour l''addition : {0} + {1}
OVERFLOW_IN_SUBTRACTION = d\u00e9passement de capacit\u00e9 pour la soustraction : {0} - {1}
@@ -237,6 +239,7 @@ RANDOMKEY_MUTATION_WRONG_CLASS = RandomK
ROOTS_OF_UNITY_NOT_COMPUTED_YET = les racines de l''unit\u00e9 n''ont pas encore \u00e9t\u00e9 calcul\u00e9es
ROTATION_MATRIX_DIMENSIONS = une matrice {0}x{1} ne peut pas \u00eatre une matrice de rotation
ROW_INDEX_OUT_OF_RANGE = l''index de ligne {0} est hors du domaine autoris\u00e9 [{1}, {2}]
+ROW_INDEX = index de ligne ({0})
SAME_SIGN_AT_ENDPOINTS = les valeurs aux bornes de la fonction devraient avoir des signes difff\u00e9rents ; bornes : [{0}, {1}], valeurs : [{2}, {3}]
SAMPLE_SIZE_EXCEEDS_COLLECTION_SIZE = la taille de l''\u00e9chantillon ({0}) d\u00e9passe la taille de la collection ({1})
SAMPLE_SIZE_LARGER_THAN_POPULATION_SIZE = la taille de l''\u00e9chantillon doit \u00eatre inf\u00e9rieure
Modified: commons/proper/math/trunk/src/site/xdoc/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/site/xdoc/changes.xml?rev=1005028&r1=1005027&r2=1005028&view=diff
==============================================================================
--- commons/proper/math/trunk/src/site/xdoc/changes.xml (original)
+++ commons/proper/math/trunk/src/site/xdoc/changes.xml Wed Oct 6 13:30:03 2010
@@ -52,6 +52,9 @@ The <action> type attribute can be add,u
If the output is not quite correct, check for invisible trailing spaces!
-->
<release version="3.0" date="TBD" description="TBD">
+ <action dev="erans" type="update" issue="MATH-425">
+ Replaced old exceptions.
+ </action>
<action dev="erans" type="update" issue="MATH-310">
Made "sample" methods part of the "IntegerDistribution" and
"ContinuousDistribution" interfaces.
Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockFieldMatrixTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockFieldMatrixTest.java?rev=1005028&r1=1005027&r2=1005028&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockFieldMatrixTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockFieldMatrixTest.java Wed Oct 6 13:30:03 2010
@@ -25,6 +25,11 @@ import org.apache.commons.math.TestUtils
import org.apache.commons.math.fraction.Fraction;
import org.apache.commons.math.fraction.FractionField;
import org.apache.commons.math.exception.MatrixDimensionMismatchException;
+import org.apache.commons.math.exception.NoDataException;
+import org.apache.commons.math.exception.OutOfRangeException;
+import org.apache.commons.math.exception.NumberIsTooSmallException;
+import org.apache.commons.math.exception.NotStrictlyPositiveException;
+import org.apache.commons.math.exception.NullArgumentException;
/**
* Test cases for the {@link BlockFieldMatrix} class.
@@ -468,14 +473,14 @@ public final class BlockFieldMatrixTest
TestUtils.assertEquals(m.getColumn(2), testDataCol3);
try {
m.getRow(10);
- fail("expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// ignored
}
try {
m.getColumn(-1);
- fail("expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// ignored
}
}
@@ -485,8 +490,8 @@ public final class BlockFieldMatrixTest
assertEquals(m.getEntry(0,1),new Fraction(2));
try {
m.getEntry(10, 4);
- fail ("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail ("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
}
@@ -566,9 +571,22 @@ public final class BlockFieldMatrixTest
if (reference != null) {
assertEquals(new BlockFieldMatrix<Fraction>(reference), sub);
} else {
- fail("Expecting MatrixIndexException");
+ fail("Expecting OutOfRangeException or NotStrictlyPositiveException"
+ + " or NumberIsTooSmallException or NoDataException");
}
- } catch (MatrixIndexException e) {
+ } catch (OutOfRangeException e) {
+ if (reference != null) {
+ throw e;
+ }
+ } catch (NotStrictlyPositiveException e) {
+ if (reference != null) {
+ throw e;
+ }
+ } catch (NumberIsTooSmallException e) {
+ if (reference != null) {
+ throw e;
+ }
+ } catch (NoDataException e) {
if (reference != null) {
throw e;
}
@@ -582,9 +600,21 @@ public final class BlockFieldMatrixTest
if (reference != null) {
assertEquals(new BlockFieldMatrix<Fraction>(reference), sub);
} else {
- fail("Expecting MatrixIndexException");
+ fail("Expecting OutOfRangeException");
+ }
+ } catch (OutOfRangeException e) {
+ if (reference != null) {
+ throw e;
+ }
+ } catch (NotStrictlyPositiveException e) {
+ if (reference != null) {
+ throw e;
}
- } catch (MatrixIndexException e) {
+ } catch (NumberIsTooSmallException e) {
+ if (reference != null) {
+ throw e;
+ }
+ } catch (NoDataException e) {
if (reference != null) {
throw e;
}
@@ -628,7 +658,7 @@ public final class BlockFieldMatrixTest
checkCopy(m, null, -1, 1, 2, 2);
checkCopy(m, null, 1, 0, 2, 2);
checkCopy(m, null, 1, 0, 2, 4);
- checkCopy(m, null, new int[] {}, new int[] { 0 });
+ checkCopy(m, null, new int[] {}, new int[] { 0 });
checkCopy(m, null, new int[] { 0 }, new int[] { 4 });
}
@@ -642,9 +672,17 @@ public final class BlockFieldMatrixTest
if (reference != null) {
assertEquals(new BlockFieldMatrix<Fraction>(reference), new BlockFieldMatrix<Fraction>(sub));
} else {
- fail("Expecting MatrixIndexException");
+ fail("Expecting OutOfRangeException or NumberIsTooSmallException or NoDataException");
+ }
+ } catch (OutOfRangeException e) {
+ if (reference != null) {
+ throw e;
}
- } catch (MatrixIndexException e) {
+ } catch (NumberIsTooSmallException e) {
+ if (reference != null) {
+ throw e;
+ }
+ } catch (NoDataException e) {
if (reference != null) {
throw e;
}
@@ -661,9 +699,17 @@ public final class BlockFieldMatrixTest
if (reference != null) {
assertEquals(new BlockFieldMatrix<Fraction>(reference), new BlockFieldMatrix<Fraction>(sub));
} else {
- fail("Expecting MatrixIndexException");
+ fail("Expecting OutOfRangeException or NumberIsTooSmallException or NoDataException");
+ }
+ } catch (OutOfRangeException e) {
+ if (reference != null) {
+ throw e;
+ }
+ } catch (NumberIsTooSmallException e) {
+ if (reference != null) {
+ throw e;
}
- } catch (MatrixIndexException e) {
+ } catch (NoDataException e) {
if (reference != null) {
throw e;
}
@@ -678,14 +724,14 @@ public final class BlockFieldMatrixTest
assertEquals("Row3", mRow3, m.getRowMatrix(3));
try {
m.getRowMatrix(-1);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
try {
m.getRowMatrix(4);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
}
@@ -698,8 +744,8 @@ public final class BlockFieldMatrixTest
assertEquals(mRow3, m.getRowMatrix(0));
try {
m.setRowMatrix(-1, mRow3);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
try {
@@ -739,14 +785,14 @@ public final class BlockFieldMatrixTest
assertEquals(mColumn3, m.getColumnMatrix(3));
try {
m.getColumnMatrix(-1);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
try {
m.getColumnMatrix(4);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
}
@@ -759,8 +805,8 @@ public final class BlockFieldMatrixTest
assertEquals(mColumn3, m.getColumnMatrix(1));
try {
m.setColumnMatrix(-1, mColumn3);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
try {
@@ -800,14 +846,14 @@ public final class BlockFieldMatrixTest
assertEquals(mRow3, m.getRowVector(3));
try {
m.getRowVector(-1);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
try {
m.getRowVector(4);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
}
@@ -820,8 +866,8 @@ public final class BlockFieldMatrixTest
assertEquals(mRow3, m.getRowVector(0));
try {
m.setRowVector(-1, mRow3);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
try {
@@ -859,14 +905,14 @@ public final class BlockFieldMatrixTest
assertEquals(mColumn3, m.getColumnVector(3));
try {
m.getColumnVector(-1);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
try {
m.getColumnVector(4);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
}
@@ -879,8 +925,8 @@ public final class BlockFieldMatrixTest
assertEquals(mColumn3, m.getColumnVector(1));
try {
m.setColumnVector(-1, mColumn3);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
try {
@@ -924,14 +970,14 @@ public final class BlockFieldMatrixTest
checkArrays(subRow3[0], m.getRow(3));
try {
m.getRow(-1);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
try {
m.getRow(4);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
}
@@ -943,8 +989,8 @@ public final class BlockFieldMatrixTest
checkArrays(subRow3[0], m.getRow(0));
try {
m.setRow(-1, subRow3[0]);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
try {
@@ -983,14 +1029,14 @@ public final class BlockFieldMatrixTest
checkArrays(mColumn3, m.getColumn(3));
try {
m.getColumn(-1);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
try {
m.getColumn(4);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
}
@@ -1003,8 +1049,8 @@ public final class BlockFieldMatrixTest
checkArrays(mColumn3, m.getColumn(1));
try {
m.setColumn(-1, mColumn3);
- fail("Expecting MatrixIndexException");
- } catch (MatrixIndexException ex) {
+ fail("Expecting OutOfRangeException");
+ } catch (OutOfRangeException ex) {
// expected
}
try {
@@ -1107,21 +1153,21 @@ public final class BlockFieldMatrixTest
// dimension overflow
try {
m.setSubMatrix(testData,1,1);
- fail("expecting MatrixIndexException");
- } catch (MatrixIndexException e) {
+ fail("expecting OutOfRangeException");
+ } catch (OutOfRangeException e) {
// expected
}
// dimension underflow
try {
m.setSubMatrix(testData,-1,1);
- fail("expecting MatrixIndexException");
- } catch (MatrixIndexException e) {
+ fail("expecting OutOfRangeException");
+ } catch (OutOfRangeException e) {
// expected
}
try {
m.setSubMatrix(testData,1,-1);
- fail("expecting MatrixIndexException");
- } catch (MatrixIndexException e) {
+ fail("expecting OutOfRangeException");
+ } catch (OutOfRangeException e) {
// expected
}