Author: celestin Date: Mon Oct 8 05:54:21 2012 New Revision: 1395455 URL: http://svn.apache.org/viewvc?rev=1395455&view=rev Log: MATH-875: deprecated sparseIterator() in the RealVector hierarchy, and replaced its use with iterator().
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/ArrayRealVector.java commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/RealVector.java Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/ArrayRealVector.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/ArrayRealVector.java?rev=1395455&r1=1395454&r2=1395455&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/ArrayRealVector.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/ArrayRealVector.java Mon Oct 8 05:54:21 2012 @@ -306,7 +306,7 @@ public class ArrayRealVector extends Rea } else { checkVectorDimensions(v); double[] out = data.clone(); - Iterator<Entry> it = v.sparseIterator(); + Iterator<Entry> it = v.iterator(); while (it.hasNext()) { final Entry e = it.next(); out[e.getIndex()] += e.getValue(); @@ -332,7 +332,7 @@ public class ArrayRealVector extends Rea } else { checkVectorDimensions(v); double[] out = data.clone(); - Iterator<Entry> it = v.sparseIterator(); + Iterator<Entry> it = v.iterator(); while (it.hasNext()) { final Entry e = it.next(); out[e.getIndex()] -= e.getValue(); Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/RealVector.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/RealVector.java?rev=1395455&r1=1395454&r2=1395455&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/RealVector.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/RealVector.java Mon Oct 8 05:54:21 2012 @@ -232,7 +232,7 @@ public abstract class RealVector { public RealVector add(RealVector v) throws DimensionMismatchException { checkVectorDimensions(v); RealVector result = v.copy(); - Iterator<Entry> it = sparseIterator(); + Iterator<Entry> it = iterator(); while (it.hasNext()) { final Entry e = it.next(); final int index = e.getIndex(); @@ -253,7 +253,7 @@ public abstract class RealVector { public RealVector subtract(RealVector v) throws DimensionMismatchException { checkVectorDimensions(v); RealVector result = v.mapMultiply(-1d); - Iterator<Entry> it = sparseIterator(); + Iterator<Entry> it = iterator(); while (it.hasNext()) { final Entry e = it.next(); final int index = e.getIndex(); @@ -415,7 +415,7 @@ public abstract class RealVector { */ public double getNorm() { double sum = 0; - Iterator<Entry> it = sparseIterator(); + Iterator<Entry> it = iterator(); while (it.hasNext()) { final Entry e = it.next(); final double value = e.getValue(); @@ -436,7 +436,7 @@ public abstract class RealVector { */ public double getL1Norm() { double norm = 0; - Iterator<Entry> it = sparseIterator(); + Iterator<Entry> it = iterator(); while (it.hasNext()) { final Entry e = it.next(); norm += FastMath.abs(e.getValue()); @@ -456,7 +456,7 @@ public abstract class RealVector { */ public double getLInfNorm() { double norm = 0; - Iterator<Entry> it = sparseIterator(); + Iterator<Entry> it = iterator(); while (it.hasNext()) { final Entry e = it.next(); norm = FastMath.max(norm, FastMath.abs(e.getValue())); @@ -756,7 +756,12 @@ public abstract class RealVector { * returns {@code true}.</p> * * @return a sparse iterator. + * @deprecated As of 3.1, this method is deprecated, because its interface + * is too confusing (see + * <a href="https://issues.apache.org/jira/browse/MATH-875">JIRA MATH-875</a>). + * This method will be completely removed in 4.0. */ + @Deprecated public Iterator<Entry> sparseIterator() { return new SparseEntryIterator(); } @@ -835,7 +840,7 @@ public abstract class RealVector { * @return a reference to this vector. */ public RealVector mapToSelf(UnivariateFunction function) { - Iterator<Entry> it = (function.value(0) == 0) ? sparseIterator() : iterator(); + Iterator<Entry> it = iterator(); while (it.hasNext()) { final Entry e = it.next(); e.setValue(function.value(e.getValue())); @@ -1137,7 +1142,13 @@ public abstract class RealVector { * operations which preserve the default value are to be done on the entries, * and the fraction of non-default values is small (i.e. someone took a * SparseVector, and passed it into the copy-constructor of ArrayRealVector) + * + * @deprecated As of 3.1, this class is deprecated, see + * <a href="https://issues.apache.org/jira/browse/MATH-875">JIRA MATH-875</a>. + * This class will be completely removed in 4.0. + */ + @Deprecated protected class SparseEntryIterator implements Iterator<Entry> { /** Dimension of the vector. */ private final int dim;