You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ps...@apache.org on 2012/09/08 19:27:48 UTC

svn commit: r1382332 [2/2] - in /commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat: ./ descriptive/ descriptive/moment/

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/Skewness.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/Skewness.java?rev=1382332&r1=1382331&r2=1382332&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/Skewness.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/Skewness.java Sat Sep  8 17:27:47 2012
@@ -18,6 +18,7 @@ package org.apache.commons.math3.stat.de
 
 import java.io.Serializable;
 
+import org.apache.commons.math3.exception.MathIllegalArgumentException;
 import org.apache.commons.math3.exception.NullArgumentException;
 import org.apache.commons.math3.stat.descriptive.AbstractStorelessUnivariateStatistic;
 import org.apache.commons.math3.util.FastMath;
@@ -78,13 +79,17 @@ public class Skewness extends AbstractSt
      * to the {@code original}
      *
      * @param original the {@code Skewness} instance to copy
+     * @throws NullArgumentException if original is null
      */
-    public Skewness(Skewness original) {
+    public Skewness(Skewness original) throws NullArgumentException {
         copy(original, this);
     }
 
     /**
      * {@inheritDoc}
+     * <p>Note that when {@link #Skewness(ThirdMoment)} is used to
+     * create a Skewness, this method does nothing. In that case, the
+     * ThirdMoment should be incremented directly.</p>
      */
     @Override
     public void increment(final double d) {
@@ -146,12 +151,12 @@ public class Skewness extends AbstractSt
      * @param length the number of elements to include
      * @return the skewness of the values or Double.NaN if length is less than
      * 3
-     * @throws IllegalArgumentException if the array is null or the array index
+     * @throws MathIllegalArgumentException if the array is null or the array index
      *  parameters are not valid
      */
     @Override
     public double evaluate(final double[] values,final int begin,
-            final int length) {
+            final int length) throws MathIllegalArgumentException {
 
         // Initialize the skewness
         double skew = Double.NaN;
@@ -195,6 +200,7 @@ public class Skewness extends AbstractSt
     @Override
     public Skewness copy() {
         Skewness result = new Skewness();
+        // No try-catch or advertised exception because args are guaranteed non-null
         copy(this, result);
         return result;
     }

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/StandardDeviation.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/StandardDeviation.java?rev=1382332&r1=1382331&r2=1382332&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/StandardDeviation.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/StandardDeviation.java Sat Sep  8 17:27:47 2012
@@ -18,6 +18,7 @@ package org.apache.commons.math3.stat.de
 
 import java.io.Serializable;
 
+import org.apache.commons.math3.exception.MathIllegalArgumentException;
 import org.apache.commons.math3.exception.NullArgumentException;
 import org.apache.commons.math3.stat.descriptive.AbstractStorelessUnivariateStatistic;
 import org.apache.commons.math3.util.FastMath;
@@ -142,16 +143,16 @@ public class StandardDeviation extends A
      * <p>
      * Returns 0 for a single-value (i.e. length = 1) sample.</p>
      * <p>
-     * Throws <code>IllegalArgumentException</code> if the array is null.</p>
+     * Throws <code>MathIllegalArgumentException</code> if the array is null.</p>
      * <p>
      * Does not change the internal state of the statistic.</p>
      *
      * @param values the input array
      * @return the standard deviation of the values or Double.NaN if length = 0
-     * @throws IllegalArgumentException if the array is null
+     * @throws MathIllegalArgumentException if the array is null
      */
     @Override
-    public double evaluate(final double[] values)  {
+    public double evaluate(final double[] values) throws MathIllegalArgumentException  {
         return FastMath.sqrt(variance.evaluate(values));
     }
 
@@ -162,7 +163,7 @@ public class StandardDeviation extends A
      * <p>
      * Returns 0 for a single-value (i.e. length = 1) sample. </p>
      * <p>
-     * Throws <code>IllegalArgumentException</code> if the array is null.</p>
+     * Throws <code>MathIllegalArgumentException</code> if the array is null.</p>
      * <p>
      * Does not change the internal state of the statistic.</p>
      *
@@ -170,11 +171,12 @@ public class StandardDeviation extends A
      * @param begin index of the first array element to include
      * @param length the number of elements to include
      * @return the standard deviation of the values or Double.NaN if length = 0
-     * @throws IllegalArgumentException if the array is null or the array index
+     * @throws MathIllegalArgumentException if the array is null or the array index
      *  parameters are not valid
      */
     @Override
-    public double evaluate(final double[] values, final int begin, final int length)  {
+    public double evaluate(final double[] values, final int begin, final int length)
+    throws MathIllegalArgumentException  {
        return FastMath.sqrt(variance.evaluate(values, begin, length));
     }
 
@@ -199,11 +201,11 @@ public class StandardDeviation extends A
      * @param begin index of the first array element to include
      * @param length the number of elements to include
      * @return the standard deviation of the values or Double.NaN if length = 0
-     * @throws IllegalArgumentException if the array is null or the array index
+     * @throws MathIllegalArgumentException if the array is null or the array index
      *  parameters are not valid
      */
     public double evaluate(final double[] values, final double mean,
-            final int begin, final int length)  {
+            final int begin, final int length) throws MathIllegalArgumentException  {
         return FastMath.sqrt(variance.evaluate(values, mean, begin, length));
     }
 
@@ -219,16 +221,17 @@ public class StandardDeviation extends A
      * is supplied only to save computation when the mean has already been
      * computed.</p>
      * <p>
-     * Throws <code>IllegalArgumentException</code> if the array is null.</p>
+     * Throws <code>MathIllegalArgumentException</code> if the array is null.</p>
      * <p>
      * Does not change the internal state of the statistic.</p>
      *
      * @param values the input array
      * @param mean the precomputed mean value
      * @return the standard deviation of the values or Double.NaN if length = 0
-     * @throws IllegalArgumentException if the array is null
+     * @throws MathIllegalArgumentException if the array is null
      */
-    public double evaluate(final double[] values, final double mean)  {
+    public double evaluate(final double[] values, final double mean)
+    throws MathIllegalArgumentException  {
         return FastMath.sqrt(variance.evaluate(values, mean));
     }
 
@@ -252,6 +255,7 @@ public class StandardDeviation extends A
     @Override
     public StandardDeviation copy() {
         StandardDeviation result = new StandardDeviation();
+        // No try-catch or advertised exception because args are guaranteed non-null
         copy(this, result);
         return result;
     }

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/ThirdMoment.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/ThirdMoment.java?rev=1382332&r1=1382331&r2=1382332&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/ThirdMoment.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/ThirdMoment.java Sat Sep  8 17:27:47 2012
@@ -76,8 +76,9 @@ class ThirdMoment extends SecondMoment i
      * to the {@code original}
      *
      * @param original the {@code ThirdMoment} instance to copy
+     * @throws NullArgumentException if orginal is null
      */
-    public ThirdMoment(ThirdMoment original) {
+    public ThirdMoment(ThirdMoment original) throws NullArgumentException {
         copy(original, this);
     }
 
@@ -121,6 +122,7 @@ class ThirdMoment extends SecondMoment i
     @Override
     public ThirdMoment copy() {
         ThirdMoment result = new ThirdMoment();
+        // No try-catch or advertised exception because args are guaranteed non-null
         copy(this, result);
         return result;
     }

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/Variance.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/Variance.java?rev=1382332&r1=1382331&r2=1382332&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/Variance.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/Variance.java Sat Sep  8 17:27:47 2012
@@ -18,6 +18,7 @@ package org.apache.commons.math3.stat.de
 
 import java.io.Serializable;
 
+import org.apache.commons.math3.exception.MathIllegalArgumentException;
 import org.apache.commons.math3.exception.NullArgumentException;
 import org.apache.commons.math3.exception.util.LocalizedFormats;
 import org.apache.commons.math3.stat.descriptive.WeightedEvaluation;
@@ -146,8 +147,9 @@ public class Variance extends AbstractSt
      * to the {@code original}
      *
      * @param original the {@code Variance} instance to copy
+     * @throws NullArgumentException if original is null
      */
-    public Variance(Variance original) {
+    public Variance(Variance original) throws NullArgumentException {
         copy(original, this);
     }
 
@@ -214,16 +216,16 @@ public class Variance extends AbstractSt
      * <p>
      * Returns 0 for a single-value (i.e. length = 1) sample.</p>
      * <p>
-     * Throws <code>IllegalArgumentException</code> if the array is null.</p>
+     * Throws <code>MathIllegalArgumentException</code> if the array is null.</p>
      * <p>
      * Does not change the internal state of the statistic.</p>
      *
      * @param values the input array
      * @return the variance of the values or Double.NaN if length = 0
-     * @throws IllegalArgumentException if the array is null
+     * @throws MathIllegalArgumentException if the array is null
      */
     @Override
-    public double evaluate(final double[] values) {
+    public double evaluate(final double[] values) throws MathIllegalArgumentException {
         if (values == null) {
             throw new NullArgumentException(LocalizedFormats.INPUT_ARRAY);
         }
@@ -241,17 +243,18 @@ public class Variance extends AbstractSt
      * <p>
      * Does not change the internal state of the statistic.</p>
      * <p>
-     * Throws <code>IllegalArgumentException</code> if the array is null.</p>
+     * Throws <code>MathIllegalArgumentException</code> if the array is null.</p>
      *
      * @param values the input array
      * @param begin index of the first array element to include
      * @param length the number of elements to include
      * @return the variance of the values or Double.NaN if length = 0
-     * @throws IllegalArgumentException if the array is null or the array index
+     * @throws MathIllegalArgumentException if the array is null or the array index
      *  parameters are not valid
      */
     @Override
-    public double evaluate(final double[] values, final int begin, final int length) {
+    public double evaluate(final double[] values, final int begin, final int length)
+    throws MathIllegalArgumentException {
 
         double var = Double.NaN;
 
@@ -300,18 +303,18 @@ public class Variance extends AbstractSt
      * <p>
      * Does not change the internal state of the statistic.</p>
      * <p>
-     * Throws <code>IllegalArgumentException</code> if either array is null.</p>
+     * Throws <code>MathIllegalArgumentException</code> if either array is null.</p>
      *
      * @param values the input array
      * @param weights the weights array
      * @param begin index of the first array element to include
      * @param length the number of elements to include
      * @return the weighted variance of the values or Double.NaN if length = 0
-     * @throws IllegalArgumentException if the parameters are not valid
+     * @throws MathIllegalArgumentException if the parameters are not valid
      * @since 2.1
      */
     public double evaluate(final double[] values, final double[] weights,
-                           final int begin, final int length) {
+                           final int begin, final int length) throws MathIllegalArgumentException {
 
         double var = Double.NaN;
 
@@ -347,7 +350,7 @@ public class Variance extends AbstractSt
      * <p>
      * Returns 0 for a single-value (i.e. length = 1) sample.</p>
      * <p>
-     * Throws <code>IllegalArgumentException</code> if any of the following are true:
+     * Throws <code>MathIllegalArgumentException</code> if any of the following are true:
      * <ul><li>the values array is null</li>
      *     <li>the weights array is null</li>
      *     <li>the weights array does not have the same length as the values array</li>
@@ -358,15 +361,16 @@ public class Variance extends AbstractSt
      * <p>
      * Does not change the internal state of the statistic.</p>
      * <p>
-     * Throws <code>IllegalArgumentException</code> if either array is null.</p>
+     * Throws <code>MathIllegalArgumentException</code> if either array is null.</p>
      *
      * @param values the input array
      * @param weights the weights array
      * @return the weighted variance of the values
-     * @throws IllegalArgumentException if the parameters are not valid
+     * @throws MathIllegalArgumentException if the parameters are not valid
      * @since 2.1
      */
-    public double evaluate(final double[] values, final double[] weights) {
+    public double evaluate(final double[] values, final double[] weights)
+    throws MathIllegalArgumentException {
         return evaluate(values, weights, 0, values.length);
     }
 
@@ -384,7 +388,7 @@ public class Variance extends AbstractSt
      * <p>
      * Returns 0 for a single-value (i.e. length = 1) sample.</p>
      * <p>
-     * Throws <code>IllegalArgumentException</code> if the array is null.</p>
+     * Throws <code>MathIllegalArgumentException</code> if the array is null.</p>
      * <p>
      * Does not change the internal state of the statistic.</p>
      *
@@ -393,11 +397,11 @@ public class Variance extends AbstractSt
      * @param begin index of the first array element to include
      * @param length the number of elements to include
      * @return the variance of the values or Double.NaN if length = 0
-     * @throws IllegalArgumentException if the array is null or the array index
+     * @throws MathIllegalArgumentException if the array is null or the array index
      *  parameters are not valid
      */
     public double evaluate(final double[] values, final double mean,
-            final int begin, final int length) {
+            final int begin, final int length) throws MathIllegalArgumentException {
 
         double var = Double.NaN;
 
@@ -440,16 +444,16 @@ public class Variance extends AbstractSt
      * <p>
      * Returns 0 for a single-value (i.e. length = 1) sample.</p>
      * <p>
-     * Throws <code>IllegalArgumentException</code> if the array is null.</p>
+     * Throws <code>MathIllegalArgumentException</code> if the array is null.</p>
      * <p>
      * Does not change the internal state of the statistic.</p>
      *
      * @param values the input array
      * @param mean the precomputed mean value
      * @return the variance of the values or Double.NaN if the array is empty
-     * @throws IllegalArgumentException if the array is null
+     * @throws MathIllegalArgumentException if the array is null
      */
-    public double evaluate(final double[] values, final double mean) {
+    public double evaluate(final double[] values, final double mean) throws MathIllegalArgumentException {
         return evaluate(values, mean, 0, values.length);
     }
 
@@ -477,7 +481,7 @@ public class Variance extends AbstractSt
      * <p>
      * Returns 0 for a single-value (i.e. length = 1) sample.</p>
      * <p>
-     * Throws <code>IllegalArgumentException</code> if any of the following are true:
+     * Throws <code>MathIllegalArgumentException</code> if any of the following are true:
      * <ul><li>the values array is null</li>
      *     <li>the weights array is null</li>
      *     <li>the weights array does not have the same length as the values array</li>
@@ -495,11 +499,12 @@ public class Variance extends AbstractSt
      * @param begin index of the first array element to include
      * @param length the number of elements to include
      * @return the variance of the values or Double.NaN if length = 0
-     * @throws IllegalArgumentException if the parameters are not valid
+     * @throws MathIllegalArgumentException if the parameters are not valid
      * @since 2.1
      */
     public double evaluate(final double[] values, final double[] weights,
-                           final double mean, final int begin, final int length) {
+    final double mean, final int begin, final int length)
+    throws MathIllegalArgumentException {
 
         double var = Double.NaN;
 
@@ -554,7 +559,7 @@ public class Variance extends AbstractSt
      * <p>
      * Returns 0 for a single-value (i.e. length = 1) sample.</p>
      * <p>
-     * Throws <code>IllegalArgumentException</code> if any of the following are true:
+     * Throws <code>MathIllegalArgumentException</code> if any of the following are true:
      * <ul><li>the values array is null</li>
      *     <li>the weights array is null</li>
      *     <li>the weights array does not have the same length as the values array</li>
@@ -569,10 +574,11 @@ public class Variance extends AbstractSt
      * @param weights the weights array
      * @param mean the precomputed weighted mean value
      * @return the variance of the values or Double.NaN if length = 0
-     * @throws IllegalArgumentException if the parameters are not valid
+     * @throws MathIllegalArgumentException if the parameters are not valid
      * @since 2.1
      */
-    public double evaluate(final double[] values, final double[] weights, final double mean) {
+    public double evaluate(final double[] values, final double[] weights, final double mean)
+    throws MathIllegalArgumentException {
         return evaluate(values, weights, mean, 0, values.length);
     }
 
@@ -596,6 +602,7 @@ public class Variance extends AbstractSt
     @Override
     public Variance copy() {
         Variance result = new Variance();
+        // No try-catch or advertised exception because parameters are guaranteed non-null
         copy(this, result);
         return result;
     }

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/VectorialMean.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/VectorialMean.java?rev=1382332&r1=1382331&r2=1382332&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/VectorialMean.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/stat/descriptive/moment/VectorialMean.java Sat Sep  8 17:27:47 2012
@@ -49,7 +49,7 @@ public class VectorialMean implements Se
      * @param v vector to add
      * @throws DimensionMismatchException if the vector does not have the right dimension
      */
-    public void increment(double[] v) {
+    public void increment(double[] v) throws DimensionMismatchException {
         if (v.length != means.length) {
             throw new DimensionMismatchException(v.length, means.length);
         }