Author: erans
Date: Sun Sep 26 21:53:56 2010
New Revision: 1001533
URL: http://svn.apache.org/viewvc?rev=1001533&view=rev
Log:
MATH-349
Removed deprecated code.
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ChiSquaredDistribution.java
commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ChiSquaredDistributionImpl.java
commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/ChiSquareTestImpl.java
commons/proper/math/trunk/src/site/xdoc/changes.xml
commons/proper/math/trunk/src/test/java/org/apache/commons/math/distribution/ChiSquareDistributionTest.java
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ChiSquaredDistribution.java
URL:
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ChiSquaredDistribution.java?rev=1001533&r1=1001532&r2=1001533&view=diff
==============================================================================
---
commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ChiSquaredDistribution.java
(original)
+++
commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ChiSquaredDistribution.java
Sun Sep 26 21:53:56 2010
@@ -29,15 +29,7 @@ package org.apache.commons.math.distribu
*
* @version $Revision$ $Date$
*/
-public interface ChiSquaredDistribution extends ContinuousDistribution,
HasDensity<Double> {
- /**
- * Modify the degrees of freedom.
- * @param degreesOfFreedom the new degrees of freedom.
- * @deprecated as of v2.1
- */
- @Deprecated
- void setDegreesOfFreedom(double degreesOfFreedom);
-
+public interface ChiSquaredDistribution extends ContinuousDistribution {
/**
* Access the degrees of freedom.
* @return the degrees of freedom.
@@ -49,5 +41,5 @@ public interface ChiSquaredDistribution
* @param x The point at which the density should be computed.
* @return The pdf at point x.
*/
- double density(Double x);
+ double density(double x);
}
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ChiSquaredDistributionImpl.java
URL:
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ChiSquaredDistributionImpl.java?rev=1001533&r1=1001532&r2=1001533&view=diff
==============================================================================
---
commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ChiSquaredDistributionImpl.java
(original)
+++
commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ChiSquaredDistributionImpl.java
Sun Sep 26 21:53:56 2010
@@ -28,73 +28,46 @@ import org.apache.commons.math.MathExcep
public class ChiSquaredDistributionImpl
extends AbstractContinuousDistribution
implements ChiSquaredDistribution, Serializable {
-
/**
* Default inverse cumulative probability accuracy
* @since 2.1
*/
public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY = 1e-9;
-
/** Serializable version identifier */
private static final long serialVersionUID = -8352658048349159782L;
-
/** Internal Gamma distribution. */
private GammaDistribution gamma;
-
/** Inverse cumulative probability accuracy */
private final double solverAbsoluteAccuracy;
/**
* Create a Chi-Squared distribution with the given degrees of freedom.
- * @param df degrees of freedom.
+ *
+ * @param degreesOfFreedom Degrees of freedom.
*/
- public ChiSquaredDistributionImpl(double df) {
- this(df, new GammaDistributionImpl(df / 2.0, 2.0));
- }
-
- /**
- * Create a Chi-Squared distribution with the given degrees of freedom.
- * @param df degrees of freedom.
- * @param g the underlying gamma distribution used to compute
probabilities.
- * @since 1.2
- * @deprecated as of 2.1 (to avoid possibly inconsistent state, the
- * "GammaDistribution" will be instantiated internally)
- */
- @Deprecated
- public ChiSquaredDistributionImpl(double df, GammaDistribution g) {
- super();
- setGammaInternal(g);
- setDegreesOfFreedomInternal(df);
- solverAbsoluteAccuracy = DEFAULT_INVERSE_ABSOLUTE_ACCURACY;
+ public ChiSquaredDistributionImpl(double degreesOfFreedom) {
+ this(degreesOfFreedom, DEFAULT_INVERSE_ABSOLUTE_ACCURACY);
}
/**
* Create a Chi-Squared distribution with the given degrees of freedom and
* inverse cumulative probability accuracy.
- * @param df degrees of freedom.
- * @param inverseCumAccuracy the maximum absolute error in inverse
cumulative probability estimates
- * (defaults to {...@link #DEFAULT_INVERSE_ABSOLUTE_ACCURACY})
+ *
+ * @param degreesOfFreedom Degrees of freedom.
+ * @param inverseCumAccuracy the maximum absolute error in inverse
+ * cumulative probability estimates (defaults to
+ * {...@link #DEFAULT_INVERSE_ABSOLUTE_ACCURACY}).
* @since 2.1
*/
- public ChiSquaredDistributionImpl(double df, double inverseCumAccuracy) {
- super();
- gamma = new GammaDistributionImpl(df / 2.0, 2.0);
- setDegreesOfFreedomInternal(df);
+ public ChiSquaredDistributionImpl(double degreesOfFreedom,
+ double inverseCumAccuracy) {
+ gamma = new GammaDistributionImpl(degreesOfFreedom / 2, 2);
solverAbsoluteAccuracy = inverseCumAccuracy;
}
/**
* Modify the degrees of freedom.
* @param degreesOfFreedom the new degrees of freedom.
- * @deprecated as of 2.1 (class will become immutable in 3.0)
- */
- @Deprecated
- public void setDegreesOfFreedom(double degreesOfFreedom) {
- setDegreesOfFreedomInternal(degreesOfFreedom);
- }
- /**
- * Modify the degrees of freedom.
- * @param degreesOfFreedom the new degrees of freedom.
*/
private void setDegreesOfFreedomInternal(double degreesOfFreedom) {
gamma.setAlpha(degreesOfFreedom / 2.0);
@@ -113,17 +86,6 @@ public class ChiSquaredDistributionImpl
*
* @param x The point at which the density should be computed.
* @return The pdf at point x.
- * @deprecated
- */
- public double density(Double x) {
- return density(x.doubleValue());
- }
-
- /**
- * Return the probability density for a particular point.
- *
- * @param x The point at which the density should be computed.
- * @return The pdf at point x.
* @since 2.1
*/
@Override
@@ -235,29 +197,6 @@ public class ChiSquaredDistributionImpl
}
/**
- * Modify the underlying gamma distribution. The caller is responsible for
- * insuring the gamma distribution has the proper parameter settings.
- * @param g the new distribution.
- * @since 1.2 made public
- * @deprecated as of 2.1 (class will become immutable in 3.0)
- */
- @Deprecated
- public void setGamma(GammaDistribution g) {
- setGammaInternal(g);
- }
- /**
- * Modify the underlying gamma distribution. The caller is responsible for
- * insuring the gamma distribution has the proper parameter settings.
- * @param g the new distribution.
- * @since 1.2 made public
- */
- private void setGammaInternal(GammaDistribution g) {
- this.gamma = g;
-
- }
-
-
- /**
* Return the absolute accuracy setting of the solver used to estimate
* inverse cumulative probabilities.
*
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/ChiSquareTestImpl.java
URL:
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/ChiSquareTestImpl.java?rev=1001533&r1=1001532&r2=1001533&view=diff
==============================================================================
---
commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/ChiSquareTestImpl.java
(original)
+++
commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/ChiSquareTestImpl.java
Sun Sep 26 21:53:56 2010
@@ -114,7 +114,7 @@ public class ChiSquareTestImpl implement
*/
public double chiSquareTest(double[] expected, long[] observed)
throws IllegalArgumentException, MathException {
- distribution.setDegreesOfFreedom(expected.length - 1.0);
+ distribution = new ChiSquaredDistributionImpl(expected.length - 1.0);
return 1.0 - distribution.cumulativeProbability(
chiSquare(expected, observed));
}
@@ -189,7 +189,7 @@ public class ChiSquareTestImpl implement
throws IllegalArgumentException, MathException {
checkArray(counts);
double df = ((double) counts.length -1) * ((double) counts[0].length -
1);
- distribution.setDegreesOfFreedom(df);
+ distribution = new ChiSquaredDistributionImpl(df);
return 1 - distribution.cumulativeProbability(chiSquare(counts));
}
@@ -292,7 +292,7 @@ public class ChiSquareTestImpl implement
*/
public double chiSquareTestDataSetsComparison(long[] observed1, long[]
observed2)
throws IllegalArgumentException, MathException {
- distribution.setDegreesOfFreedom((double) observed1.length - 1);
+ distribution = new ChiSquaredDistributionImpl((double)
observed1.length - 1);
return 1 - distribution.cumulativeProbability(
chiSquareDataSetsComparison(observed1, observed2));
}
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=1001533&r1=1001532&r2=1001533&view=diff
==============================================================================
--- commons/proper/math/trunk/src/site/xdoc/changes.xml (original)
+++ commons/proper/math/trunk/src/site/xdoc/changes.xml Sun Sep 26 21:53:56 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="fix" issue="MATH-349">
+ "ChiSquaredDistributionImpl" and "PoissonDistributionImpl" are
immutable.
+ </action>
<action dev="erans" type="update" issue="MATH-195">
Created "MatrixDimensionMismatch" to replace "InvalidMatrixException"
(when the latter is used to signal a row or column dimension mismatch).
Modified:
commons/proper/math/trunk/src/test/java/org/apache/commons/math/distribution/ChiSquareDistributionTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/distribution/ChiSquareDistributionTest.java?rev=1001533&r1=1001532&r2=1001533&view=diff
==============================================================================
---
commons/proper/math/trunk/src/test/java/org/apache/commons/math/distribution/ChiSquareDistributionTest.java
(original)
+++
commons/proper/math/trunk/src/test/java/org/apache/commons/math/distribution/ChiSquareDistributionTest.java
Sun Sep 26 21:53:56 2010
@@ -103,14 +103,6 @@ public class ChiSquareDistributionTest e
public void testDfAccessors() {
ChiSquaredDistribution distribution = (ChiSquaredDistribution)
getDistribution();
assertEquals(5d, distribution.getDegreesOfFreedom(), Double.MIN_VALUE);
- distribution.setDegreesOfFreedom(4d);
- assertEquals(4d, distribution.getDegreesOfFreedom(), Double.MIN_VALUE);
- try {
- distribution.setDegreesOfFreedom(0d);
- fail("Expecting IllegalArgumentException for df = 0");
- } catch (IllegalArgumentException ex) {
- // expected
- }
}
public void testDensity() {