mirror of
https://github.com/apache/commons-math.git
synced 2025-02-08 02:59:36 +00:00
MATH-854: fill the "throws" clause of OpenMapRealVector.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1381730 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
d3cfd50cfc
commit
ad923872f3
@ -18,12 +18,14 @@ package org.apache.commons.math3.linear;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import org.apache.commons.math3.exception.DimensionMismatchException;
|
||||
import org.apache.commons.math3.exception.MathArithmeticException;
|
||||
import org.apache.commons.math3.exception.NotPositiveException;
|
||||
import org.apache.commons.math3.exception.OutOfRangeException;
|
||||
import org.apache.commons.math3.exception.util.LocalizedFormats;
|
||||
import org.apache.commons.math3.util.FastMath;
|
||||
import org.apache.commons.math3.util.OpenIntToDoubleHashMap;
|
||||
import org.apache.commons.math3.util.OpenIntToDoubleHashMap.Iterator;
|
||||
import org.apache.commons.math3.util.FastMath;
|
||||
|
||||
/**
|
||||
* This class implements the {@link RealVector} interface with a
|
||||
@ -222,7 +224,8 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public RealVector add(RealVector v) {
|
||||
public RealVector add(RealVector v)
|
||||
throws DimensionMismatchException {
|
||||
checkVectorDimensions(v.getDimension());
|
||||
if (v instanceof OpenMapRealVector) {
|
||||
return add((OpenMapRealVector) v);
|
||||
@ -237,10 +240,10 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
*
|
||||
* @param v Vector to add.
|
||||
* @return the sum of {@code this} and {@code v}.
|
||||
* @throws org.apache.commons.math3.exception.DimensionMismatchException
|
||||
* if the dimensions do not match.
|
||||
* @throws DimensionMismatchException if the dimensions do not match.
|
||||
*/
|
||||
public OpenMapRealVector add(OpenMapRealVector v) {
|
||||
public OpenMapRealVector add(OpenMapRealVector v)
|
||||
throws DimensionMismatchException {
|
||||
checkVectorDimensions(v.getDimension());
|
||||
boolean copyThis = entries.size() > v.entries.size();
|
||||
OpenMapRealVector res = copyThis ? this.copy() : v.copy();
|
||||
@ -314,19 +317,23 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
*
|
||||
* @param v Vector.
|
||||
* @return the dot product of this vector with {@code v}.
|
||||
* @throws DimensionMismatchException if {@code v} is not the same size as
|
||||
* {@code this} vector.
|
||||
*
|
||||
* @deprecated as of 3.1 (to be removed in 4.0). The computation is
|
||||
* performed by the parent class. The method must be kept to maintain
|
||||
* backwards compatibility.
|
||||
*/
|
||||
@Deprecated
|
||||
public double dotProduct(OpenMapRealVector v) {
|
||||
public double dotProduct(OpenMapRealVector v)
|
||||
throws DimensionMismatchException {
|
||||
return dotProduct((RealVector) v);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public OpenMapRealVector ebeDivide(RealVector v) {
|
||||
public OpenMapRealVector ebeDivide(RealVector v)
|
||||
throws DimensionMismatchException {
|
||||
checkVectorDimensions(v.getDimension());
|
||||
OpenMapRealVector res = new OpenMapRealVector(this);
|
||||
/*
|
||||
@ -343,7 +350,8 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public OpenMapRealVector ebeMultiply(RealVector v) {
|
||||
public OpenMapRealVector ebeMultiply(RealVector v)
|
||||
throws DimensionMismatchException {
|
||||
checkVectorDimensions(v.getDimension());
|
||||
OpenMapRealVector res = new OpenMapRealVector(this);
|
||||
Iterator iter = entries.iterator();
|
||||
@ -375,7 +383,8 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public OpenMapRealVector getSubVector(int index, int n) {
|
||||
public OpenMapRealVector getSubVector(int index, int n)
|
||||
throws NotPositiveException, OutOfRangeException {
|
||||
checkIndex(index);
|
||||
if (n < 0) {
|
||||
throw new NotPositiveException(LocalizedFormats.NUMBER_OF_ELEMENTS_SHOULD_BE_POSITIVE, n);
|
||||
@ -405,10 +414,11 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
*
|
||||
* @param v Vector to compute distance to.
|
||||
* @return the distance from {@code this} and {@code v}.
|
||||
* @throws org.apache.commons.math3.exception.DimensionMismatchException
|
||||
* if the dimensions do not match.
|
||||
* @throws DimensionMismatchException if the dimensions do not match.
|
||||
*/
|
||||
public double getDistance(OpenMapRealVector v) {
|
||||
public double getDistance(OpenMapRealVector v)
|
||||
throws DimensionMismatchException {
|
||||
checkVectorDimensions(v.getDimension());
|
||||
Iterator iter = entries.iterator();
|
||||
double res = 0;
|
||||
while (iter.hasNext()) {
|
||||
@ -432,7 +442,7 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public double getDistance(RealVector v) {
|
||||
public double getDistance(RealVector v) throws DimensionMismatchException {
|
||||
checkVectorDimensions(v.getDimension());
|
||||
if (v instanceof OpenMapRealVector) {
|
||||
return getDistance((OpenMapRealVector) v);
|
||||
@ -443,7 +453,7 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public double getEntry(int index) {
|
||||
public double getEntry(int index) throws OutOfRangeException {
|
||||
checkIndex(index);
|
||||
return entries.get(index);
|
||||
}
|
||||
@ -456,8 +466,11 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
*
|
||||
* @param v Vector to which distance is requested.
|
||||
* @return distance between this vector and {@code v}.
|
||||
* @throws DimensionMismatchException if the dimensions do not match.
|
||||
*/
|
||||
public double getL1Distance(OpenMapRealVector v) {
|
||||
public double getL1Distance(OpenMapRealVector v)
|
||||
throws DimensionMismatchException {
|
||||
checkVectorDimensions(v.getDimension());
|
||||
double max = 0;
|
||||
Iterator iter = entries.iterator();
|
||||
while (iter.hasNext()) {
|
||||
@ -479,7 +492,8 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public double getL1Distance(RealVector v) {
|
||||
public double getL1Distance(RealVector v)
|
||||
throws DimensionMismatchException {
|
||||
checkVectorDimensions(v.getDimension());
|
||||
if (v instanceof OpenMapRealVector) {
|
||||
return getL1Distance((OpenMapRealVector) v);
|
||||
@ -493,8 +507,11 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
*
|
||||
* @param v Vector to compute distance from.
|
||||
* @return the LInfDistance.
|
||||
* @throws DimensionMismatchException if the dimensions do not match.
|
||||
*/
|
||||
private double getLInfDistance(OpenMapRealVector v) {
|
||||
private double getLInfDistance(OpenMapRealVector v)
|
||||
throws DimensionMismatchException {
|
||||
checkVectorDimensions(v.getDimension());
|
||||
double max = 0;
|
||||
Iterator iter = entries.iterator();
|
||||
while (iter.hasNext()) {
|
||||
@ -519,7 +536,8 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public double getLInfDistance(RealVector v) {
|
||||
public double getLInfDistance(RealVector v)
|
||||
throws DimensionMismatchException {
|
||||
checkVectorDimensions(v.getDimension());
|
||||
if (v instanceof OpenMapRealVector) {
|
||||
return getLInfDistance((OpenMapRealVector) v);
|
||||
@ -576,7 +594,8 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setEntry(int index, double value) {
|
||||
public void setEntry(int index, double value)
|
||||
throws OutOfRangeException {
|
||||
checkIndex(index);
|
||||
if (!isDefaultValue(value)) {
|
||||
entries.put(index, value);
|
||||
@ -587,7 +606,8 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setSubVector(int index, RealVector v) {
|
||||
public void setSubVector(int index, RealVector v)
|
||||
throws OutOfRangeException {
|
||||
checkIndex(index);
|
||||
checkIndex(index + v.getDimension() - 1);
|
||||
for (int i = 0; i < v.getDimension(); i++) {
|
||||
@ -608,10 +628,10 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
*
|
||||
* @param v Vector to subtract from {@code this}.
|
||||
* @return the difference of {@code this} and {@code v}.
|
||||
* @throws org.apache.commons.math3.exception.DimensionMismatchException
|
||||
* if the dimensions do not match.
|
||||
* @throws DimensionMismatchException if the dimensions do not match.
|
||||
*/
|
||||
public OpenMapRealVector subtract(OpenMapRealVector v) {
|
||||
public OpenMapRealVector subtract(OpenMapRealVector v)
|
||||
throws DimensionMismatchException {
|
||||
checkVectorDimensions(v.getDimension());
|
||||
OpenMapRealVector res = copy();
|
||||
Iterator iter = v.getEntries().iterator();
|
||||
@ -629,7 +649,8 @@ public class OpenMapRealVector extends SparseRealVector
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public RealVector subtract(RealVector v) {
|
||||
public RealVector subtract(RealVector v)
|
||||
throws DimensionMismatchException {
|
||||
checkVectorDimensions(v.getDimension());
|
||||
if (v instanceof OpenMapRealVector) {
|
||||
return subtract((OpenMapRealVector) v);
|
||||
|
Loading…
x
Reference in New Issue
Block a user