You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by lu...@apache.org on 2010/06/17 01:03:42 UTC
svn commit: r955423 [2/6] - in /commons/proper/math/trunk/src:
main/java/org/apache/commons/math/
main/java/org/apache/commons/math/analysis/integration/
main/java/org/apache/commons/math/analysis/interpolation/
main/java/org/apache/commons/math/analys...
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/SplineInterpolator.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/SplineInterpolator.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/SplineInterpolator.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/SplineInterpolator.java Wed Jun 16 23:03:38 2010
@@ -19,6 +19,7 @@ package org.apache.commons.math.analysis
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.analysis.polynomials.PolynomialFunction;
import org.apache.commons.math.analysis.polynomials.PolynomialSplineFunction;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Computes a natural (also known as "free", "unclamped") cubic spline interpolation for the data set.
@@ -58,12 +59,12 @@ public class SplineInterpolator implemen
public PolynomialSplineFunction interpolate(double x[], double y[]) {
if (x.length != y.length) {
throw MathRuntimeException.createIllegalArgumentException(
- "dimension mismatch {0} != {1}", x.length, y.length);
+ LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, x.length, y.length);
}
if (x.length < 3) {
throw MathRuntimeException.createIllegalArgumentException(
- "{0} points are required, got only {1}", 3, x.length);
+ LocalizedFormats.WRONG_NUMBER_OF_POINTS, 3, x.length);
}
// Number of intervals. The number of data points is n + 1.
@@ -72,7 +73,7 @@ public class SplineInterpolator implemen
for (int i = 0; i < n; i++) {
if (x[i] >= x[i + 1]) {
throw MathRuntimeException.createIllegalArgumentException(
- "points {0} and {1} are not strictly increasing ({2} >= {3})",
+ LocalizedFormats.NOT_STRICTLY_INCREASING_NUMBER_OF_POINTS,
i, i+1, x[i], x[i+1]);
}
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/TricubicSplineInterpolatingFunction.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/TricubicSplineInterpolatingFunction.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/TricubicSplineInterpolatingFunction.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/TricubicSplineInterpolatingFunction.java Wed Jun 16 23:03:38 2010
@@ -16,6 +16,7 @@
*/
package org.apache.commons.math.analysis.interpolation;
+import org.apache.commons.math.util.LocalizedFormats;
import org.apache.commons.math.util.MathUtils;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.DimensionMismatchException;
@@ -156,7 +157,7 @@ public class TricubicSplineInterpolating
if (xLen == 0 || yLen == 0 || z.length == 0
|| f.length == 0 || f[0].length == 0) {
- throw MathRuntimeException.createIllegalArgumentException("no data");
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NO_DATA);
}
if (xLen != f.length) {
throw new DimensionMismatchException(xLen, f.length);
@@ -307,18 +308,21 @@ public class TricubicSplineInterpolating
public double value(double x, double y, double z) {
final int i = searchIndex(x, xval);
if (i == -1) {
- throw MathRuntimeException.createIllegalArgumentException("{0} out of [{1}, {2}] range",
- x, xval[0], xval[xval.length - 1]);
+ throw MathRuntimeException.createIllegalArgumentException(
+ LocalizedFormats.OUT_OF_RANGE_SIMPLE,
+ x, xval[0], xval[xval.length - 1]);
}
final int j = searchIndex(y, yval);
if (j == -1) {
- throw MathRuntimeException.createIllegalArgumentException("{0} out of [{1}, {2}] range",
- y, yval[0], yval[yval.length - 1]);
+ throw MathRuntimeException.createIllegalArgumentException(
+ LocalizedFormats.OUT_OF_RANGE_SIMPLE,
+ y, yval[0], yval[yval.length - 1]);
}
final int k = searchIndex(z, zval);
if (k == -1) {
- throw MathRuntimeException.createIllegalArgumentException("{0} out of [{1}, {2}] range",
- z, zval[0], zval[zval.length - 1]);
+ throw MathRuntimeException.createIllegalArgumentException(
+ LocalizedFormats.OUT_OF_RANGE_SIMPLE,
+ z, zval[0], zval[zval.length - 1]);
}
final double xN = (x - xval[i]) / (xval[i + 1] - xval[i]);
@@ -449,15 +453,15 @@ class TricubicSplineFunction
*/
public double value(double x, double y, double z) {
if (x < 0 || x > 1) {
- throw MathRuntimeException.createIllegalArgumentException("{0} out of [{1}, {2}] range",
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.OUT_OF_RANGE_SIMPLE,
x, 0, 1);
}
if (y < 0 || y > 1) {
- throw MathRuntimeException.createIllegalArgumentException("{0} out of [{1}, {2}] range",
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.OUT_OF_RANGE_SIMPLE,
y, 0, 1);
}
if (z < 0 || z > 1) {
- throw MathRuntimeException.createIllegalArgumentException("{0} out of [{1}, {2}] range",
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.OUT_OF_RANGE_SIMPLE,
z, 0, 1);
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/TricubicSplineInterpolator.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/TricubicSplineInterpolator.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/TricubicSplineInterpolator.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/interpolation/TricubicSplineInterpolator.java Wed Jun 16 23:03:38 2010
@@ -19,6 +19,7 @@ package org.apache.commons.math.analysis
import org.apache.commons.math.DimensionMismatchException;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.MathException;
+import org.apache.commons.math.util.LocalizedFormats;
import org.apache.commons.math.util.MathUtils;
/**
@@ -38,7 +39,7 @@ public class TricubicSplineInterpolator
final double[][][] fval)
throws MathException, IllegalArgumentException {
if (xval.length == 0 || yval.length == 0 || zval.length == 0 || fval.length == 0) {
- throw MathRuntimeException.createIllegalArgumentException("no data");
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NO_DATA);
}
if (xval.length != fval.length) {
throw new DimensionMismatchException(xval.length, fval.length);
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialFunction.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialFunction.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialFunction.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialFunction.java Wed Jun 16 23:03:38 2010
@@ -22,6 +22,7 @@ import java.util.Arrays;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.analysis.DifferentiableUnivariateRealFunction;
import org.apache.commons.math.analysis.UnivariateRealFunction;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Immutable representation of a real polynomial function with real coefficients.
@@ -33,10 +34,6 @@ import org.apache.commons.math.analysis.
*/
public class PolynomialFunction implements DifferentiableUnivariateRealFunction, Serializable {
- /** Message for empty coefficients array. */
- private static final String EMPTY_ARRAY_MESSAGE =
- "empty polynomials coefficients array";
-
/**
* Serialization identifier
*/
@@ -66,7 +63,7 @@ public class PolynomialFunction implemen
public PolynomialFunction(double c[]) {
super();
if (c.length < 1) {
- throw MathRuntimeException.createIllegalArgumentException(EMPTY_ARRAY_MESSAGE);
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.EMPTY_POLYNOMIALS_COEFFICIENTS_ARRAY);
}
int l = c.length;
while ((l > 1) && (c[l - 1] == 0)) {
@@ -126,7 +123,7 @@ public class PolynomialFunction implemen
protected static double evaluate(double[] coefficients, double argument) {
int n = coefficients.length;
if (n < 1) {
- throw MathRuntimeException.createIllegalArgumentException(EMPTY_ARRAY_MESSAGE);
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.EMPTY_POLYNOMIALS_COEFFICIENTS_ARRAY);
}
double result = coefficients[n - 1];
for (int j = n -2; j >=0; j--) {
@@ -235,7 +232,7 @@ public class PolynomialFunction implemen
protected static double[] differentiate(double[] coefficients) {
int n = coefficients.length;
if (n < 1) {
- throw MathRuntimeException.createIllegalArgumentException(EMPTY_ARRAY_MESSAGE);
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.EMPTY_POLYNOMIALS_COEFFICIENTS_ARRAY);
}
if (n == 1) {
return new double[]{0};
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialFunctionLagrangeForm.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialFunctionLagrangeForm.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialFunctionLagrangeForm.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialFunctionLagrangeForm.java Wed Jun 16 23:03:38 2010
@@ -20,6 +20,7 @@ import org.apache.commons.math.Duplicate
import org.apache.commons.math.FunctionEvaluationException;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.analysis.UnivariateRealFunction;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Implements the representation of a real polynomial function in
@@ -90,7 +91,7 @@ public class PolynomialFunctionLagrangeF
try {
return evaluate(x, y, z);
} catch (DuplicateSampleAbscissaException e) {
- throw new FunctionEvaluationException(e, z, e.getPattern(), e.getArguments());
+ throw new FunctionEvaluationException(e, z, e.getLocalizablePattern(), e.getArguments());
}
}
@@ -297,12 +298,12 @@ public class PolynomialFunctionLagrangeF
if (x.length != y.length) {
throw MathRuntimeException.createIllegalArgumentException(
- "dimension mismatch {0} != {1}", x.length, y.length);
+ LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, x.length, y.length);
}
if (x.length < 2) {
throw MathRuntimeException.createIllegalArgumentException(
- "{0} points are required, got only {1}", 2, x.length);
+ LocalizedFormats.WRONG_NUMBER_OF_POINTS, 2, x.length);
}
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialFunctionNewtonForm.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialFunctionNewtonForm.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialFunctionNewtonForm.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialFunctionNewtonForm.java Wed Jun 16 23:03:38 2010
@@ -19,6 +19,7 @@ package org.apache.commons.math.analysis
import org.apache.commons.math.FunctionEvaluationException;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.analysis.UnivariateRealFunction;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Implements the representation of a real polynomial function in
@@ -209,11 +210,11 @@ public class PolynomialFunctionNewtonFor
if (a.length < 1 || c.length < 1) {
throw MathRuntimeException.createIllegalArgumentException(
- "empty polynomials coefficients array");
+ LocalizedFormats.EMPTY_POLYNOMIALS_COEFFICIENTS_ARRAY);
}
if (a.length != c.length + 1) {
throw MathRuntimeException.createIllegalArgumentException(
- "array sizes should have difference 1 ({0} != {1} + 1)",
+ LocalizedFormats.ARRAY_SIZES_SHOULD_HAVE_DIFFERENCE_1,
a.length, c.length);
}
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialSplineFunction.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialSplineFunction.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialSplineFunction.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/polynomials/PolynomialSplineFunction.java Wed Jun 16 23:03:38 2010
@@ -22,6 +22,7 @@ import org.apache.commons.math.ArgumentO
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.analysis.DifferentiableUnivariateRealFunction;
import org.apache.commons.math.analysis.UnivariateRealFunction;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Represents a polynomial spline function.
@@ -97,17 +98,17 @@ public class PolynomialSplineFunction
public PolynomialSplineFunction(double knots[], PolynomialFunction polynomials[]) {
if (knots.length < 2) {
throw MathRuntimeException.createIllegalArgumentException(
- "spline partition must have at least {0} points, got {1}",
+ LocalizedFormats.NOT_ENOUGH_POINTS_IN_SPLINE_PARTITION,
2, knots.length);
}
if (knots.length - 1 != polynomials.length) {
throw MathRuntimeException.createIllegalArgumentException(
- "number of polynomial interpolants must match the number of segments ({0} != {1} - 1)",
+ LocalizedFormats.POLYNOMIAL_INTERPOLANTS_MISMATCH_SEGMENTS,
polynomials.length, knots.length);
}
if (!isStrictlyIncreasing(knots)) {
throw MathRuntimeException.createIllegalArgumentException(
- "knot values must be strictly increasing");
+ LocalizedFormats.NOT_STRICTLY_INCREASING_KNOT_VALUES);
}
this.n = knots.length -1;
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BrentSolver.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BrentSolver.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BrentSolver.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BrentSolver.java Wed Jun 16 23:03:38 2010
@@ -21,6 +21,7 @@ import org.apache.commons.math.FunctionE
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.MaxIterationsExceededException;
import org.apache.commons.math.analysis.UnivariateRealFunction;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Implements the <a href="http://mathworld.wolfram.com/BrentsMethod.html">
@@ -43,11 +44,6 @@ public class BrentSolver extends Univari
*/
public static final int DEFAULT_MAXIMUM_ITERATIONS = 100;
- /** Error message for non-bracketing interval. */
- private static final String NON_BRACKETING_MESSAGE =
- "function values at endpoints do not have different signs. " +
- "Endpoints: [{0}, {1}], Values: [{2}, {3}]";
-
/** Serializable version identifier */
private static final long serialVersionUID = 7694577816772532779L;
@@ -134,7 +130,7 @@ public class BrentSolver extends Univari
clearResult();
if ((initial < min) || (initial > max)) {
throw MathRuntimeException.createIllegalArgumentException(
- "invalid interval, initial value parameters: lower={0}, initial={1}, upper={2}",
+ LocalizedFormats.INVALID_INTERVAL_INITIAL_VALUE_PARAMETERS,
min, initial, max);
}
@@ -170,7 +166,7 @@ public class BrentSolver extends Univari
}
throw MathRuntimeException.createIllegalArgumentException(
- NON_BRACKETING_MESSAGE, min, max, yMin, yMax);
+ LocalizedFormats.SAME_SIGN_AT_ENDPOINTS, min, max, yMin, yMax);
}
@@ -217,7 +213,7 @@ public class BrentSolver extends Univari
} else {
// neither value is close to zero and min and max do not bracket root.
throw MathRuntimeException.createIllegalArgumentException(
- NON_BRACKETING_MESSAGE, min, max, yMin, yMax);
+ LocalizedFormats.SAME_SIGN_AT_ENDPOINTS, min, max, yMin, yMax);
}
} else if (sign < 0){
// solve using only the first endpoint as initial guess
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/LaguerreSolver.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/LaguerreSolver.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/LaguerreSolver.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/LaguerreSolver.java Wed Jun 16 23:03:38 2010
@@ -23,6 +23,7 @@ import org.apache.commons.math.MaxIterat
import org.apache.commons.math.analysis.UnivariateRealFunction;
import org.apache.commons.math.analysis.polynomials.PolynomialFunction;
import org.apache.commons.math.complex.Complex;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Implements the <a href="http://mathworld.wolfram.com/LaguerresMethod.html">
@@ -38,14 +39,6 @@ import org.apache.commons.math.complex.C
*/
public class LaguerreSolver extends UnivariateRealSolverImpl {
- /** Message for non-polynomial function. */
- private static final String NON_POLYNOMIAL_FUNCTION_MESSAGE =
- "function is not polynomial";
-
- /** Message for non-positive degree. */
- private static final String NON_POSITIVE_DEGREE_MESSAGE =
- "polynomial degree must be positive: degree={0}";
-
/** polynomial function to solve.
* @deprecated as of 2.0 the function is not stored anymore in the instance
*/
@@ -69,7 +62,7 @@ public class LaguerreSolver extends Univ
if (f instanceof PolynomialFunction) {
p = (PolynomialFunction) f;
} else {
- throw MathRuntimeException.createIllegalArgumentException(NON_POLYNOMIAL_FUNCTION_MESSAGE);
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.FUNCTION_NOT_POLYNOMIAL);
}
}
@@ -172,7 +165,7 @@ public class LaguerreSolver extends Univ
// check function type
if (!(f instanceof PolynomialFunction)) {
- throw MathRuntimeException.createIllegalArgumentException(NON_POLYNOMIAL_FUNCTION_MESSAGE);
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.FUNCTION_NOT_POLYNOMIAL);
}
// check for zeros before verifying bracketing
@@ -265,7 +258,7 @@ public class LaguerreSolver extends Univ
int iterationCount = 0;
if (n < 1) {
throw MathRuntimeException.createIllegalArgumentException(
- NON_POSITIVE_DEGREE_MESSAGE, n);
+ LocalizedFormats.NON_POSITIVE_POLYNOMIAL_DEGREE, n);
}
Complex c[] = new Complex[n+1]; // coefficients for deflated polynomial
for (int i = 0; i <= n; i++) {
@@ -313,7 +306,7 @@ public class LaguerreSolver extends Univ
int n = coefficients.length - 1;
if (n < 1) {
throw MathRuntimeException.createIllegalArgumentException(
- NON_POSITIVE_DEGREE_MESSAGE, n);
+ LocalizedFormats.NON_POSITIVE_POLYNOMIAL_DEGREE, n);
}
Complex N = new Complex(n, 0.0);
Complex N1 = new Complex(n - 1, 0.0);
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/NewtonSolver.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/NewtonSolver.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/NewtonSolver.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/NewtonSolver.java Wed Jun 16 23:03:38 2010
@@ -22,6 +22,7 @@ import org.apache.commons.math.MathRunti
import org.apache.commons.math.MaxIterationsExceededException;
import org.apache.commons.math.analysis.DifferentiableUnivariateRealFunction;
import org.apache.commons.math.analysis.UnivariateRealFunction;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Implements <a href="http://mathworld.wolfram.com/NewtonsMethod.html">
@@ -129,7 +130,7 @@ public class NewtonSolver extends Univar
throw new MaxIterationsExceededException(maximalIterationCount);
} catch (ClassCastException cce) {
- throw MathRuntimeException.createIllegalArgumentException("function is not differentiable");
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.FUNCTION_NOT_DIFFERENTIABLE);
}
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantSolver.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantSolver.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantSolver.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantSolver.java Wed Jun 16 23:03:38 2010
@@ -21,6 +21,7 @@ import org.apache.commons.math.FunctionE
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.MaxIterationsExceededException;
import org.apache.commons.math.analysis.UnivariateRealFunction;
+import org.apache.commons.math.util.LocalizedFormats;
/**
@@ -127,9 +128,7 @@ public class SecantSolver extends Univar
// Verify bracketing
if (y0 * y1 >= 0) {
throw MathRuntimeException.createIllegalArgumentException(
- "function values at endpoints do not have different signs, " +
- "endpoints: [{0}, {1}], values: [{2}, {3}]",
- min, max, y0, y1);
+ LocalizedFormats.SAME_SIGN_AT_ENDPOINTS, min, max, y0, y1);
}
double x2 = x0;
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/UnivariateRealSolverImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/UnivariateRealSolverImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/UnivariateRealSolverImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/UnivariateRealSolverImpl.java Wed Jun 16 23:03:38 2010
@@ -21,6 +21,7 @@ import org.apache.commons.math.Convergin
import org.apache.commons.math.FunctionEvaluationException;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.analysis.UnivariateRealFunction;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Provide a default implementation for several functions useful to generic
@@ -73,7 +74,7 @@ public abstract class UnivariateRealSolv
final double defaultAbsoluteAccuracy) {
super(defaultMaximalIterationCount, defaultAbsoluteAccuracy);
if (f == null) {
- throw MathRuntimeException.createIllegalArgumentException("function to solve cannot be null");
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NULL_FUNCTION);
}
this.f = f;
this.defaultFunctionValueAccuracy = 1.0e-15;
@@ -100,7 +101,7 @@ public abstract class UnivariateRealSolv
*/
protected void checkResultComputed() throws IllegalStateException {
if (!resultComputed) {
- throw MathRuntimeException.createIllegalStateException("no result available");
+ throw MathRuntimeException.createIllegalStateException(LocalizedFormats.NO_RESULT_AVAILABLE);
}
}
@@ -224,7 +225,7 @@ public abstract class UnivariateRealSolv
protected void verifySequence(final double lower, final double initial, final double upper) {
if (!isSequence(lower, initial, upper)) {
throw MathRuntimeException.createIllegalArgumentException(
- "invalid interval, initial value parameters: lower={0}, initial={1}, upper={2}",
+ LocalizedFormats.INVALID_INTERVAL_INITIAL_VALUE_PARAMETERS,
lower, initial, upper);
}
}
@@ -247,8 +248,7 @@ public abstract class UnivariateRealSolv
verifyInterval(lower, upper);
if (!isBracketing(lower, upper, function)) {
throw MathRuntimeException.createIllegalArgumentException(
- "function values at endpoints do not have different signs. " +
- "Endpoints: [{0}, {1}], Values: [{2}, {3}]",
+ LocalizedFormats.SAME_SIGN_AT_ENDPOINTS,
lower, upper, function.value(lower), function.value(upper));
}
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/UnivariateRealSolverUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/UnivariateRealSolverUtils.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/UnivariateRealSolverUtils.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/UnivariateRealSolverUtils.java Wed Jun 16 23:03:38 2010
@@ -20,6 +20,7 @@ import org.apache.commons.math.FunctionE
import org.apache.commons.math.ConvergenceException;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.analysis.UnivariateRealFunction;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Utility routines for {@link UnivariateRealSolver} objects.
@@ -28,10 +29,6 @@ import org.apache.commons.math.analysis.
*/
public class UnivariateRealSolverUtils {
- /** Message for null function.*/
- private static final String NULL_FUNCTION_MESSAGE =
- "function is null";
-
/**
* Default constructor.
*/
@@ -173,15 +170,15 @@ public class UnivariateRealSolverUtils {
FunctionEvaluationException {
if (function == null) {
- throw MathRuntimeException.createIllegalArgumentException(NULL_FUNCTION_MESSAGE);
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NULL_FUNCTION);
}
if (maximumIterations <= 0) {
throw MathRuntimeException.createIllegalArgumentException(
- "bad value for maximum iterations number: {0}", maximumIterations);
+ LocalizedFormats.INVALID_MAX_ITERATIONS, maximumIterations);
}
if (initial < lowerBound || initial > upperBound || lowerBound >= upperBound) {
throw MathRuntimeException.createIllegalArgumentException(
- "invalid bracketing parameters: lower bound={0}, initial={1}, upper bound={2}",
+ LocalizedFormats.INVALID_BRACKETING_PARAMETERS,
lowerBound, initial, upperBound);
}
double a = initial;
@@ -202,9 +199,7 @@ public class UnivariateRealSolverUtils {
if (fa * fb > 0.0 ) {
throw new ConvergenceException(
- "number of iterations={0}, maximum iterations={1}, " +
- "initial={2}, lower bound={3}, upper bound={4}, final a value={5}, " +
- "final b value={6}, f(a)={7}, f(b)={8}",
+ LocalizedFormats.FAILED_BRACKETING,
numIterations, maximumIterations, initial,
lowerBound, upperBound, a, b, fa, fb);
}
@@ -230,7 +225,7 @@ public class UnivariateRealSolverUtils {
*/
private static void setup(UnivariateRealFunction f) {
if (f == null) {
- throw MathRuntimeException.createIllegalArgumentException(NULL_FUNCTION_MESSAGE);
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NULL_FUNCTION);
}
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/Complex.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/Complex.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/Complex.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/Complex.java Wed Jun 16 23:03:38 2010
@@ -23,6 +23,7 @@ import java.util.List;
import org.apache.commons.math.FieldElement;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
import org.apache.commons.math.util.MathUtils;
/**
@@ -941,7 +942,7 @@ public class Complex implements FieldEle
if (n <= 0) {
throw MathRuntimeException.createIllegalArgumentException(
- "cannot compute nth root for null or negative n: {0}",
+ LocalizedFormats.CANNOT_COMPUTE_NTH_ROOT_FOR_NEGATIVE_N,
n);
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/ComplexFormat.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/ComplexFormat.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/ComplexFormat.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/ComplexFormat.java Wed Jun 16 23:03:38 2010
@@ -25,6 +25,7 @@ import java.util.Locale;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.util.CompositeFormat;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Formats a Complex number in cartesian format "Re(c) + Im(c)i". 'i' can
@@ -192,7 +193,7 @@ public class ComplexFormat extends Compo
toAppendTo, pos);
} else {
throw MathRuntimeException.createIllegalArgumentException(
- "cannot format a {0} instance as a complex number",
+ LocalizedFormats.CANNOT_FORMAT_INSTANCE_AS_COMPLEX,
obj.getClass().getName());
}
@@ -349,7 +350,7 @@ public class ComplexFormat extends Compo
public void setImaginaryCharacter(String imaginaryCharacter) {
if (imaginaryCharacter == null || imaginaryCharacter.length() == 0) {
throw MathRuntimeException.createIllegalArgumentException(
- "empty string for imaginary character");
+ LocalizedFormats.EMPTY_STRING_FOR_IMAGINARY_CHARACTER);
}
this.imaginaryCharacter = imaginaryCharacter;
}
@@ -363,7 +364,7 @@ public class ComplexFormat extends Compo
public void setImaginaryFormat(NumberFormat imaginaryFormat) {
if (imaginaryFormat == null) {
throw MathRuntimeException.createIllegalArgumentException(
- "null imaginary format");
+ LocalizedFormats.NULL_IMAGINARY_FORMAT);
}
this.imaginaryFormat = imaginaryFormat;
}
@@ -377,7 +378,7 @@ public class ComplexFormat extends Compo
public void setRealFormat(NumberFormat realFormat) {
if (realFormat == null) {
throw MathRuntimeException.createIllegalArgumentException(
- "null real format");
+ LocalizedFormats.NULL_REAL_FORMAT);
}
this.realFormat = realFormat;
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/ComplexUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/ComplexUtils.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/ComplexUtils.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/complex/ComplexUtils.java Wed Jun 16 23:03:38 2010
@@ -18,6 +18,7 @@
package org.apache.commons.math.complex;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Static implementations of common
@@ -62,7 +63,7 @@ public class ComplexUtils {
public static Complex polar2Complex(double r, double theta) {
if (r < 0) {
throw MathRuntimeException.createIllegalArgumentException(
- "negative complex module {0}", r);
+ LocalizedFormats.NEGATIVE_COMPLEX_MODULE, r);
}
return new Complex(r * Math.cos(theta), r * Math.sin(theta));
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractContinuousDistribution.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractContinuousDistribution.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractContinuousDistribution.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractContinuousDistribution.java Wed Jun 16 23:03:38 2010
@@ -26,6 +26,7 @@ import org.apache.commons.math.analysis.
import org.apache.commons.math.analysis.solvers.BrentSolver;
import org.apache.commons.math.analysis.solvers.UnivariateRealSolverUtils;
import org.apache.commons.math.random.RandomDataImpl;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Base class for continuous distributions. Default implementations are
@@ -69,7 +70,7 @@ public abstract class AbstractContinuous
*/
public double density(double x) throws MathRuntimeException {
throw new MathRuntimeException(new UnsupportedOperationException(),
- "This distribution does not have a density function implemented");
+ LocalizedFormats.NO_DENSITY_FOR_THIS_DISTRIBUTION);
}
/**
@@ -87,7 +88,7 @@ public abstract class AbstractContinuous
throws MathException {
if (p < 0.0 || p > 1.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "{0} out of [{1}, {2}] range", p, 0.0, 1.0);
+ LocalizedFormats.OUT_OF_RANGE_SIMPLE, p, 0.0, 1.0);
}
// by default, do simple root finding using bracketing and default solver.
@@ -99,11 +100,11 @@ public abstract class AbstractContinuous
try {
ret = cumulativeProbability(x) - p;
} catch (MathException ex) {
- throw new FunctionEvaluationException(ex, x, ex.getPattern(), ex.getArguments());
+ throw new FunctionEvaluationException(ex, x, ex.getLocalizablePattern(), ex.getArguments());
}
if (Double.isNaN(ret)) {
throw new FunctionEvaluationException(x,
- "Cumulative probability function returned NaN for argument {0} p = {1}", x, p);
+ LocalizedFormats.CUMULATIVE_PROBABILITY_RETURNED_NAN, x, p);
}
return ret;
}
@@ -176,7 +177,7 @@ public abstract class AbstractContinuous
*/
public double[] sample(int sampleSize) throws MathException {
if (sampleSize <= 0) {
- MathRuntimeException.createIllegalArgumentException("Sample size must be positive");
+ MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NOT_POSITIVE_SAMPLE_SIZE, sampleSize);
}
double[] out = new double[sampleSize];
for (int i = 0; i < sampleSize; i++) {
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractDistribution.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractDistribution.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractDistribution.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractDistribution.java Wed Jun 16 23:03:38 2010
@@ -20,6 +20,7 @@ import java.io.Serializable;
import org.apache.commons.math.MathException;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Base class for probability distributions.
@@ -60,7 +61,7 @@ public abstract class AbstractDistributi
throws MathException {
if (x0 > x1) {
throw MathRuntimeException.createIllegalArgumentException(
- "lower endpoint ({0}) must be less than or equal to upper endpoint ({1})",
+ LocalizedFormats.LOWER_ENDPOINT_ABOVE_UPPER_ENDPOINT,
x0, x1);
}
return cumulativeProbability(x1) - cumulativeProbability(x0);
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractIntegerDistribution.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractIntegerDistribution.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractIntegerDistribution.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractIntegerDistribution.java Wed Jun 16 23:03:38 2010
@@ -22,6 +22,7 @@ import org.apache.commons.math.FunctionE
import org.apache.commons.math.MathException;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.random.RandomDataImpl;
+import org.apache.commons.math.util.LocalizedFormats;
/**
@@ -34,15 +35,7 @@ import org.apache.commons.math.random.Ra
public abstract class AbstractIntegerDistribution extends AbstractDistribution
implements IntegerDistribution, Serializable {
- /** Message for endpoints in wrong order. */
- private static final String WRONG_ORDER_ENDPOINTS_MESSAGE =
- "lower endpoint ({0}) must be less than or equal to upper endpoint ({1})";
-
- /** Message for out of range point. */
- private static final String OUT_OF_RANGE_POINT =
- "{0} out of [{1}, {2}] range";
-
- /** Serializable version identifier */
+ /** Serializable version identifier */
private static final long serialVersionUID = -1146319659338487221L;
/**
@@ -95,7 +88,7 @@ public abstract class AbstractIntegerDis
throws MathException {
if (x0 > x1) {
throw MathRuntimeException.createIllegalArgumentException(
- WRONG_ORDER_ENDPOINTS_MESSAGE, x0, x1);
+ LocalizedFormats.LOWER_ENDPOINT_ABOVE_UPPER_ENDPOINT, x0, x1);
}
if (Math.floor(x0) < x0) {
return cumulativeProbability(((int) Math.floor(x0)) + 1,
@@ -152,7 +145,7 @@ public abstract class AbstractIntegerDis
public double cumulativeProbability(int x0, int x1) throws MathException {
if (x0 > x1) {
throw MathRuntimeException.createIllegalArgumentException(
- WRONG_ORDER_ENDPOINTS_MESSAGE, x0, x1);
+ LocalizedFormats.LOWER_ENDPOINT_ABOVE_UPPER_ENDPOINT, x0, x1);
}
return cumulativeProbability(x1) - cumulativeProbability(x0 - 1);
}
@@ -171,7 +164,7 @@ public abstract class AbstractIntegerDis
public int inverseCumulativeProbability(final double p) throws MathException{
if (p < 0.0 || p > 1.0) {
throw MathRuntimeException.createIllegalArgumentException(
- OUT_OF_RANGE_POINT, p, 0.0, 1.0);
+ LocalizedFormats.OUT_OF_RANGE_SIMPLE, p, 0.0, 1.0);
}
// by default, do simple bisection.
@@ -250,7 +243,7 @@ public abstract class AbstractIntegerDis
*/
public int[] sample(int sampleSize) throws MathException {
if (sampleSize <= 0) {
- MathRuntimeException.createIllegalArgumentException("Sample size must be positive");
+ MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NOT_POSITIVE_SAMPLE_SIZE, sampleSize);
}
int[] out = new int[sampleSize];
for (int i = 0; i < sampleSize; i++) {
@@ -274,11 +267,11 @@ public abstract class AbstractIntegerDis
try {
result = cumulativeProbability(argument);
} catch (MathException ex) {
- throw new FunctionEvaluationException(ex, argument, ex.getPattern(), ex.getArguments());
+ throw new FunctionEvaluationException(ex, argument, ex.getLocalizablePattern(), ex.getArguments());
}
if (Double.isNaN(result)) {
throw new FunctionEvaluationException(argument,
- "Discrete cumulative probability function returned NaN for argument {0}", argument);
+ LocalizedFormats.DISCRETE_CUMULATIVE_PROBABILITY_RETURNED_NAN, argument);
}
return result;
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/BinomialDistributionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/BinomialDistributionImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/BinomialDistributionImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/BinomialDistributionImpl.java Wed Jun 16 23:03:38 2010
@@ -21,6 +21,7 @@ import java.io.Serializable;
import org.apache.commons.math.MathException;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.special.Beta;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* The default implementation of {@link BinomialDistribution}.
@@ -92,7 +93,7 @@ public class BinomialDistributionImpl ex
private void setNumberOfTrialsInternal(int trials) {
if (trials < 0) {
throw MathRuntimeException.createIllegalArgumentException(
- "number of trials must be non-negative ({0})", trials);
+ LocalizedFormats.NEGATIVE_NUMBER_OF_TRIALS, trials);
}
numberOfTrials = trials;
}
@@ -119,7 +120,7 @@ public class BinomialDistributionImpl ex
private void setProbabilityOfSuccessInternal(double p) {
if (p < 0.0 || p > 1.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "{0} out of [{1}, {2}] range", p, 0.0, 1.0);
+ LocalizedFormats.OUT_OF_RANGE_SIMPLE, p, 0.0, 1.0);
}
probabilityOfSuccess = p;
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/CauchyDistributionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/CauchyDistributionImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/CauchyDistributionImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/CauchyDistributionImpl.java Wed Jun 16 23:03:38 2010
@@ -20,6 +20,7 @@ package org.apache.commons.math.distribu
import java.io.Serializable;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Default implementation of
@@ -136,7 +137,7 @@ public class CauchyDistributionImpl exte
double ret;
if (p < 0.0 || p > 1.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "{0} out of [{1}, {2}] range", p, 0.0, 1.0);
+ LocalizedFormats.OUT_OF_RANGE_SIMPLE, p, 0.0, 1.0);
} else if (p == 0) {
ret = Double.NEGATIVE_INFINITY;
} else if (p == 1) {
@@ -182,7 +183,7 @@ public class CauchyDistributionImpl exte
private void setScaleInternal(double s) {
if (s <= 0.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "scale must be positive ({0})", s);
+ LocalizedFormats.NOT_POSITIVE_SCALE, s);
}
scale = s;
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ExponentialDistributionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ExponentialDistributionImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ExponentialDistributionImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ExponentialDistributionImpl.java Wed Jun 16 23:03:38 2010
@@ -20,6 +20,7 @@ import java.io.Serializable;
import org.apache.commons.math.MathException;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* The default implementation of {@link ExponentialDistribution}.
@@ -83,7 +84,7 @@ public class ExponentialDistributionImpl
private void setMeanInternal(double newMean) {
if (newMean <= 0.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "mean must be positive ({0})", newMean);
+ LocalizedFormats.NOT_POSITIVE_MEAN, newMean);
}
this.mean = newMean;
}
@@ -165,7 +166,7 @@ public class ExponentialDistributionImpl
if (p < 0.0 || p > 1.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "{0} out of [{1}, {2}] range", p, 0.0, 1.0);
+ LocalizedFormats.OUT_OF_RANGE_SIMPLE, p, 0.0, 1.0);
} else if (p == 1.0) {
ret = Double.POSITIVE_INFINITY;
} else {
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/FDistributionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/FDistributionImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/FDistributionImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/FDistributionImpl.java Wed Jun 16 23:03:38 2010
@@ -21,6 +21,7 @@ import java.io.Serializable;
import org.apache.commons.math.MathException;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.special.Beta;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Default implementation of
@@ -38,10 +39,6 @@ public class FDistributionImpl
*/
public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY = 1e-9;
- /** Message for non positive degrees of freddom. */
- private static final String NON_POSITIVE_DEGREES_OF_FREEDOM_MESSAGE =
- "degrees of freedom must be positive ({0})";
-
/** Serializable version identifier */
private static final long serialVersionUID = -8516354193418641566L;
@@ -222,7 +219,7 @@ public class FDistributionImpl
private void setNumeratorDegreesOfFreedomInternal(double degreesOfFreedom) {
if (degreesOfFreedom <= 0.0) {
throw MathRuntimeException.createIllegalArgumentException(
- NON_POSITIVE_DEGREES_OF_FREEDOM_MESSAGE, degreesOfFreedom);
+ LocalizedFormats.NOT_POSITIVE_DEGREES_OF_FREEDOM, degreesOfFreedom);
}
this.numeratorDegreesOfFreedom = degreesOfFreedom;
}
@@ -256,7 +253,7 @@ public class FDistributionImpl
private void setDenominatorDegreesOfFreedomInternal(double degreesOfFreedom) {
if (degreesOfFreedom <= 0.0) {
throw MathRuntimeException.createIllegalArgumentException(
- NON_POSITIVE_DEGREES_OF_FREEDOM_MESSAGE, degreesOfFreedom);
+ LocalizedFormats.NOT_POSITIVE_DEGREES_OF_FREEDOM, degreesOfFreedom);
}
this.denominatorDegreesOfFreedom = degreesOfFreedom;
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/GammaDistributionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/GammaDistributionImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/GammaDistributionImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/GammaDistributionImpl.java Wed Jun 16 23:03:38 2010
@@ -21,6 +21,7 @@ import java.io.Serializable;
import org.apache.commons.math.MathException;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.special.Gamma;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* The default implementation of {@link GammaDistribution}.
@@ -145,7 +146,7 @@ public class GammaDistributionImpl exten
private void setAlphaInternal(double newAlpha) {
if (newAlpha <= 0.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "alpha must be positive ({0})",
+ LocalizedFormats.NOT_POSITIVE_ALPHA,
newAlpha);
}
this.alpha = newAlpha;
@@ -178,7 +179,7 @@ public class GammaDistributionImpl exten
private void setBetaInternal(double newBeta) {
if (newBeta <= 0.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "beta must be positive ({0})",
+ LocalizedFormats.NOT_POSITIVE_BETA,
newBeta);
}
this.beta = newBeta;
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/HypergeometricDistributionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/HypergeometricDistributionImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/HypergeometricDistributionImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/HypergeometricDistributionImpl.java Wed Jun 16 23:03:38 2010
@@ -20,6 +20,7 @@ package org.apache.commons.math.distribu
import java.io.Serializable;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
import org.apache.commons.math.util.MathUtils;
/**
@@ -56,13 +57,13 @@ public class HypergeometricDistributionI
if (numberOfSuccesses > populationSize) {
throw MathRuntimeException
.createIllegalArgumentException(
- "number of successes ({0}) must be less than or equal to population size ({1})",
+ LocalizedFormats.NUMBER_OF_SUCCESS_LARGER_THAN_POPULATION_SIZE,
numberOfSuccesses, populationSize);
}
if (sampleSize > populationSize) {
throw MathRuntimeException
.createIllegalArgumentException(
- "sample size ({0}) must be less than or equal to population size ({1})",
+ LocalizedFormats.SAMPLE_SIZE_LARGER_THAN_POPULATION_SIZE,
sampleSize, populationSize);
}
@@ -249,7 +250,7 @@ public class HypergeometricDistributionI
private void setNumberOfSuccessesInternal(int num) {
if (num < 0) {
throw MathRuntimeException.createIllegalArgumentException(
- "number of successes must be non-negative ({0})", num);
+ LocalizedFormats.NEGATIVE_NUMBER_OF_SUCCESSES, num);
}
numberOfSuccesses = num;
}
@@ -274,7 +275,7 @@ public class HypergeometricDistributionI
private void setPopulationSizeInternal(int size) {
if (size <= 0) {
throw MathRuntimeException.createIllegalArgumentException(
- "population size must be positive ({0})", size);
+ LocalizedFormats.NOT_POSITIVE_POPULATION_SIZE, size);
}
populationSize = size;
}
@@ -299,7 +300,7 @@ public class HypergeometricDistributionI
private void setSampleSizeInternal(int size) {
if (size < 0) {
throw MathRuntimeException.createIllegalArgumentException(
- "sample size must be positive ({0})", size);
+ LocalizedFormats.NOT_POSITIVE_SAMPLE_SIZE, size);
}
sampleSize = size;
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/NormalDistributionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/NormalDistributionImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/NormalDistributionImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/NormalDistributionImpl.java Wed Jun 16 23:03:38 2010
@@ -23,6 +23,7 @@ import org.apache.commons.math.MathExcep
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.MaxIterationsExceededException;
import org.apache.commons.math.special.Erf;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Default implementation of
@@ -138,7 +139,7 @@ public class NormalDistributionImpl exte
private void setStandardDeviationInternal(double sd) {
if (sd <= 0.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "standard deviation must be positive ({0})",
+ LocalizedFormats.NOT_POSITIVE_STANDARD_DEVIATION,
sd);
}
standardDeviation = sd;
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/PascalDistributionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/PascalDistributionImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/PascalDistributionImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/PascalDistributionImpl.java Wed Jun 16 23:03:38 2010
@@ -21,6 +21,7 @@ import java.io.Serializable;
import org.apache.commons.math.MathException;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.special.Beta;
+import org.apache.commons.math.util.LocalizedFormats;
import org.apache.commons.math.util.MathUtils;
/**
@@ -88,7 +89,7 @@ public class PascalDistributionImpl exte
private void setNumberOfSuccessesInternal(int successes) {
if (successes < 0) {
throw MathRuntimeException.createIllegalArgumentException(
- "number of successes must be non-negative ({0})",
+ LocalizedFormats.NEGATIVE_NUMBER_OF_SUCCESSES,
successes);
}
numberOfSuccesses = successes;
@@ -114,7 +115,7 @@ public class PascalDistributionImpl exte
private void setProbabilityOfSuccessInternal(double p) {
if (p < 0.0 || p > 1.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "{0} out of [{1}, {2}] range", p, 0.0, 1.0);
+ LocalizedFormats.OUT_OF_RANGE_SIMPLE, p, 0.0, 1.0);
}
probabilityOfSuccess = p;
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/PoissonDistributionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/PoissonDistributionImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/PoissonDistributionImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/PoissonDistributionImpl.java Wed Jun 16 23:03:38 2010
@@ -21,6 +21,7 @@ import java.io.Serializable;
import org.apache.commons.math.MathException;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.special.Gamma;
+import org.apache.commons.math.util.LocalizedFormats;
import org.apache.commons.math.util.MathUtils;
/**
@@ -168,7 +169,7 @@ public class PoissonDistributionImpl ext
double p) {
if (p <= 0) {
throw MathRuntimeException.createIllegalArgumentException(
- "the Poisson mean must be positive ({0})", p);
+ LocalizedFormats.NOT_POSITIVE_POISSON_MEAN, p);
}
mean = p;
normal = z;
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/TDistributionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/TDistributionImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/TDistributionImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/TDistributionImpl.java Wed Jun 16 23:03:38 2010
@@ -22,6 +22,7 @@ import org.apache.commons.math.MathExcep
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.special.Beta;
import org.apache.commons.math.special.Gamma;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Default implementation of
@@ -87,7 +88,7 @@ public class TDistributionImpl
private void setDegreesOfFreedomInternal(double newDegreesOfFreedom) {
if (newDegreesOfFreedom <= 0.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "degrees of freedom must be positive ({0})",
+ LocalizedFormats.NOT_POSITIVE_DEGREES_OF_FREEDOM,
newDegreesOfFreedom);
}
this.degreesOfFreedom = newDegreesOfFreedom;
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/WeibullDistributionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/WeibullDistributionImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/WeibullDistributionImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/WeibullDistributionImpl.java Wed Jun 16 23:03:38 2010
@@ -20,6 +20,7 @@ package org.apache.commons.math.distribu
import java.io.Serializable;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Default implementation of
@@ -149,7 +150,7 @@ public class WeibullDistributionImpl ext
double ret;
if (p < 0.0 || p > 1.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "{0} out of [{1}, {2}] range", p, 0.0, 1.0);
+ LocalizedFormats.OUT_OF_RANGE_SIMPLE, p, 0.0, 1.0);
} else if (p == 0) {
ret = 0.0;
} else if (p == 1) {
@@ -176,7 +177,7 @@ public class WeibullDistributionImpl ext
private void setShapeInternal(double alpha) {
if (alpha <= 0.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "shape must be positive ({0})",
+ LocalizedFormats.NOT_POSITIVE_SHAPE,
alpha);
}
this.shape = alpha;
@@ -198,7 +199,7 @@ public class WeibullDistributionImpl ext
private void setScaleInternal(double beta) {
if (beta <= 0.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "scale must be positive ({0})",
+ LocalizedFormats.NOT_POSITIVE_SCALE,
beta);
}
this.scale = beta;
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ZipfDistributionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ZipfDistributionImpl.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ZipfDistributionImpl.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ZipfDistributionImpl.java Wed Jun 16 23:03:38 2010
@@ -20,6 +20,7 @@ package org.apache.commons.math.distribu
import java.io.Serializable;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Implementation for the {@link ZipfDistribution}.
@@ -87,8 +88,7 @@ public class ZipfDistributionImpl extend
throws IllegalArgumentException {
if (n <= 0) {
throw MathRuntimeException.createIllegalArgumentException(
- "invalid number of elements {0} (must be positive)",
- n);
+ LocalizedFormats.INSUFFICIENT_DIMENSION, n, 0);
}
this.numberOfElements = n;
}
@@ -127,7 +127,7 @@ public class ZipfDistributionImpl extend
throws IllegalArgumentException {
if (s <= 0.0) {
throw MathRuntimeException.createIllegalArgumentException(
- "invalid exponent {0} (must be positive)",
+ LocalizedFormats.NOT_POSITIVE_EXPONENT,
s);
}
this.exponent = s;
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/AbstractEstimator.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/AbstractEstimator.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/AbstractEstimator.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/AbstractEstimator.java Wed Jun 16 23:03:38 2010
@@ -23,6 +23,7 @@ import org.apache.commons.math.linear.In
import org.apache.commons.math.linear.LUDecompositionImpl;
import org.apache.commons.math.linear.MatrixUtils;
import org.apache.commons.math.linear.RealMatrix;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Base class for implementing estimators.
@@ -150,7 +151,7 @@ public abstract class AbstractEstimator
throws EstimationException {
if (++costEvaluations > maxCostEval) {
- throw new EstimationException("maximal number of evaluations exceeded ({0})",
+ throw new EstimationException(LocalizedFormats.MAX_EVALUATIONS_EXCEEDED,
maxCostEval);
}
@@ -237,7 +238,7 @@ public abstract class AbstractEstimator
new LUDecompositionImpl(MatrixUtils.createRealMatrix(jTj)).getSolver().getInverse();
return inverse.getData();
} catch (InvalidMatrixException ime) {
- throw new EstimationException("unable to compute covariances: singular problem");
+ throw new EstimationException(LocalizedFormats.UNABLE_TO_COMPUTE_COVARIANCE_SINGULAR_PROBLEM);
}
}
@@ -257,7 +258,7 @@ public abstract class AbstractEstimator
int p = problem.getUnboundParameters().length;
if (m <= p) {
throw new EstimationException(
- "no degrees of freedom ({0} measurements, {1} parameters)",
+ LocalizedFormats.NO_DEGREES_OF_FREEDOM,
m, p);
}
double[] errors = new double[problem.getUnboundParameters().length];
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/EstimationException.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/EstimationException.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/EstimationException.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/EstimationException.java Wed Jun 16 23:03:38 2010
@@ -18,6 +18,8 @@
package org.apache.commons.math.estimation;
import org.apache.commons.math.MathException;
+import org.apache.commons.math.util.DummyLocalizable;
+import org.apache.commons.math.util.Localizable;
/**
* This class represents exceptions thrown by the estimation solvers.
@@ -42,6 +44,16 @@ extends MathException {
* @param parts to insert in the format (no translation)
*/
public EstimationException(String specifier, Object ... parts) {
+ this(new DummyLocalizable(specifier), parts);
+ }
+
+ /**
+ * Simple constructor.
+ * Build an exception by translating and formating a message
+ * @param specifier format specifier (to be translated)
+ * @param parts to insert in the format (no translation)
+ */
+ public EstimationException(Localizable specifier, Object ... parts) {
super(specifier, parts);
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/GaussNewtonEstimator.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/GaussNewtonEstimator.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/GaussNewtonEstimator.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/GaussNewtonEstimator.java Wed Jun 16 23:03:38 2010
@@ -25,6 +25,7 @@ import org.apache.commons.math.linear.Ma
import org.apache.commons.math.linear.RealMatrix;
import org.apache.commons.math.linear.RealVector;
import org.apache.commons.math.linear.ArrayRealVector;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* This class implements a solver for estimation problems.
@@ -213,7 +214,7 @@ public class GaussNewtonEstimator extend
}
} catch(InvalidMatrixException e) {
- throw new EstimationException("unable to solve: singular problem");
+ throw new EstimationException(LocalizedFormats.UNABLE_TO_SOLVE_SINGULAR_PROBLEM);
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/LevenbergMarquardtEstimator.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/LevenbergMarquardtEstimator.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/LevenbergMarquardtEstimator.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/estimation/LevenbergMarquardtEstimator.java Wed Jun 16 23:03:38 2010
@@ -19,6 +19,8 @@ package org.apache.commons.math.estimati
import java.io.Serializable;
import java.util.Arrays;
+import org.apache.commons.math.util.LocalizedFormats;
+
/**
* This class solves a least squares problem.
@@ -821,7 +823,7 @@ public class LevenbergMarquardtEstimator
}
if (Double.isInfinite(norm2) || Double.isNaN(norm2)) {
throw new EstimationException(
- "unable to perform Q.R decomposition on the {0}x{1} jacobian matrix",
+ LocalizedFormats.UNABLE_TO_PERFORM_QR_DECOMPOSITION_ON_JACOBIAN,
rows, cols);
}
if (norm2 > ak2) {
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/AbstractFormat.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/AbstractFormat.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/AbstractFormat.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/AbstractFormat.java Wed Jun 16 23:03:38 2010
@@ -24,6 +24,7 @@ import java.text.ParsePosition;
import java.util.Locale;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Common part shared by both {@link FractionFormat} and {@link BigFractionFormat}.
@@ -119,7 +120,7 @@ public abstract class AbstractFormat ext
public void setDenominatorFormat(final NumberFormat format) {
if (format == null) {
throw MathRuntimeException.createIllegalArgumentException(
- "denominator format can not be null");
+ LocalizedFormats.NULL_DENOMINATOR_FORMAT);
}
this.denominatorFormat = format;
}
@@ -133,7 +134,7 @@ public abstract class AbstractFormat ext
public void setNumeratorFormat(final NumberFormat format) {
if (format == null) {
throw MathRuntimeException.createIllegalArgumentException(
- "numerator format can not be null");
+ LocalizedFormats.NULL_NUMERATOR_FORMAT);
}
this.numeratorFormat = format;
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/BigFraction.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/BigFraction.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/BigFraction.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/BigFraction.java Wed Jun 16 23:03:38 2010
@@ -22,6 +22,7 @@ import java.math.BigInteger;
import org.apache.commons.math.FieldElement;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
import org.apache.commons.math.util.MathUtils;
/**
@@ -80,10 +81,6 @@ public class BigFraction
/** Serializable version identifier. */
private static final long serialVersionUID = -5630213147331578515L;
- /** Message for zero denominator. */
- private static final String FORBIDDEN_ZERO_DENOMINATOR =
- "denominator must be different from 0";
-
/** <code>BigInteger</code> representation of 100. */
private static final BigInteger ONE_HUNDRED_DOUBLE = BigInteger.valueOf(100);
@@ -123,13 +120,13 @@ public class BigFraction
*/
public BigFraction(BigInteger num, BigInteger den) {
if (num == null) {
- throw MathRuntimeException.createNullPointerException("numerator is null");
+ throw MathRuntimeException.createNullPointerException(LocalizedFormats.NULL_NUMERATOR);
}
if (den == null) {
- throw MathRuntimeException.createNullPointerException("denominator is null");
+ throw MathRuntimeException.createNullPointerException(LocalizedFormats.NULL_DENOMINATOR);
}
if (BigInteger.ZERO.equals(den)) {
- throw MathRuntimeException.createArithmeticException(FORBIDDEN_ZERO_DENOMINATOR);
+ throw MathRuntimeException.createArithmeticException(LocalizedFormats.ZERO_DENOMINATOR);
}
if (BigInteger.ZERO.equals(num)) {
numerator = BigInteger.ZERO;
@@ -179,10 +176,10 @@ public class BigFraction
*/
public BigFraction(final double value) throws IllegalArgumentException {
if (Double.isNaN(value)) {
- throw MathRuntimeException.createIllegalArgumentException("cannot convert NaN value");
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NAN_VALUE_CONVERSION);
}
if (Double.isInfinite(value)) {
- throw MathRuntimeException.createIllegalArgumentException("cannot convert infinite value");
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.INFINITE_VALUE_CONVERSION);
}
// compute m and k such that value = m * 2^k
@@ -619,7 +616,7 @@ public class BigFraction
*/
public BigFraction divide(final BigInteger bg) {
if (BigInteger.ZERO.equals(bg)) {
- throw MathRuntimeException.createArithmeticException(FORBIDDEN_ZERO_DENOMINATOR);
+ throw MathRuntimeException.createArithmeticException(LocalizedFormats.ZERO_DENOMINATOR);
}
return new BigFraction(numerator, denominator.multiply(bg));
}
@@ -672,7 +669,7 @@ public class BigFraction
*/
public BigFraction divide(final BigFraction fraction) {
if (BigInteger.ZERO.equals(fraction.numerator)) {
- throw MathRuntimeException.createArithmeticException(FORBIDDEN_ZERO_DENOMINATOR);
+ throw MathRuntimeException.createArithmeticException(LocalizedFormats.ZERO_DENOMINATOR);
}
return multiply(fraction.reciprocal());
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/BigFractionFormat.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/BigFractionFormat.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/BigFractionFormat.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/BigFractionFormat.java Wed Jun 16 23:03:38 2010
@@ -26,6 +26,7 @@ import java.text.ParsePosition;
import java.util.Locale;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Formats a BigFraction number in proper format or improper format.
@@ -174,7 +175,7 @@ public class BigFractionFormat extends A
toAppendTo, pos);
} else {
throw MathRuntimeException.createIllegalArgumentException(
- "cannot format given object as a fraction number");
+ LocalizedFormats.CANNOT_FORMAT_OBJECT_TO_FRACTION);
}
return ret;
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/Fraction.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/Fraction.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/Fraction.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/Fraction.java Wed Jun 16 23:03:38 2010
@@ -21,6 +21,7 @@ import java.math.BigInteger;
import org.apache.commons.math.FieldElement;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
import org.apache.commons.math.util.MathUtils;
/**
@@ -77,18 +78,6 @@ public class Fraction
/** A fraction representing "-1 / 1". */
public static final Fraction MINUS_ONE = new Fraction(-1, 1);
- /** Message for zero denominator. */
- private static final String ZERO_DENOMINATOR_MESSAGE =
- "zero denominator in fraction {0}/{1}";
-
- /** Message for overflow. */
- private static final String OVERFLOW_MESSAGE =
- "overflow in fraction {0}/{1}, cannot negate";
-
- /** Message for null fraction. */
- private static final String NULL_FRACTION =
- "null fraction";
-
/** Serializable version identifier */
private static final long serialVersionUID = 3698073679419233275L;
@@ -265,12 +254,12 @@ public class Fraction
public Fraction(int num, int den) {
if (den == 0) {
throw MathRuntimeException.createArithmeticException(
- ZERO_DENOMINATOR_MESSAGE, num, den);
+ LocalizedFormats.ZERO_DENOMINATOR_IN_FRACTION, num, den);
}
if (den < 0) {
if (num == Integer.MIN_VALUE || den == Integer.MIN_VALUE) {
throw MathRuntimeException.createArithmeticException(
- OVERFLOW_MESSAGE, num, den);
+ LocalizedFormats.OVERFLOW_IN_FRACTION, num, den);
}
num = -num;
den = -den;
@@ -413,7 +402,7 @@ public class Fraction
public Fraction negate() {
if (numerator==Integer.MIN_VALUE) {
throw MathRuntimeException.createArithmeticException(
- OVERFLOW_MESSAGE, numerator, denominator);
+ LocalizedFormats.OVERFLOW_IN_FRACTION, numerator, denominator);
}
return new Fraction(-numerator, denominator);
}
@@ -484,7 +473,7 @@ public class Fraction
*/
private Fraction addSub(Fraction fraction, boolean isAdd) {
if (fraction == null) {
- throw MathRuntimeException.createIllegalArgumentException(NULL_FRACTION);
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NULL_FRACTION);
}
// zero is identity for addition.
if (numerator == 0) {
@@ -521,7 +510,7 @@ public class Fraction
// result is (t/d2) / (u'/d1)(v'/d2)
BigInteger w = t.divide(BigInteger.valueOf(d2));
if (w.bitLength() > 31) {
- throw MathRuntimeException.createArithmeticException("overflow, numerator too large after multiply: {0}",
+ throw MathRuntimeException.createArithmeticException(LocalizedFormats.NUMERATOR_OVERFLOW_AFTER_MULTIPLY,
w);
}
return new Fraction (w.intValue(),
@@ -541,7 +530,7 @@ public class Fraction
*/
public Fraction multiply(Fraction fraction) {
if (fraction == null) {
- throw MathRuntimeException.createIllegalArgumentException(NULL_FRACTION);
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NULL_FRACTION);
}
if (numerator == 0 || fraction.numerator == 0) {
return ZERO;
@@ -576,11 +565,11 @@ public class Fraction
*/
public Fraction divide(Fraction fraction) {
if (fraction == null) {
- throw MathRuntimeException.createIllegalArgumentException(NULL_FRACTION);
+ throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NULL_FRACTION);
}
if (fraction.numerator == 0) {
throw MathRuntimeException.createArithmeticException(
- "the fraction to divide by must not be zero: {0}/{1}",
+ LocalizedFormats.ZERO_FRACTION_TO_DIVIDE_BY,
fraction.numerator, fraction.denominator);
}
return multiply(fraction.reciprocal());
@@ -609,7 +598,7 @@ public class Fraction
public static Fraction getReducedFraction(int numerator, int denominator) {
if (denominator == 0) {
throw MathRuntimeException.createArithmeticException(
- ZERO_DENOMINATOR_MESSAGE, numerator, denominator);
+ LocalizedFormats.ZERO_DENOMINATOR_IN_FRACTION, numerator, denominator);
}
if (numerator==0) {
return ZERO; // normalize zero.
@@ -622,7 +611,7 @@ public class Fraction
if (numerator==Integer.MIN_VALUE ||
denominator==Integer.MIN_VALUE) {
throw MathRuntimeException.createArithmeticException(
- OVERFLOW_MESSAGE, numerator, denominator);
+ LocalizedFormats.OVERFLOW_IN_FRACTION, numerator, denominator);
}
numerator = -numerator;
denominator = -denominator;
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/FractionConversionException.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/FractionConversionException.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/FractionConversionException.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/FractionConversionException.java Wed Jun 16 23:03:38 2010
@@ -18,6 +18,7 @@
package org.apache.commons.math.fraction;
import org.apache.commons.math.ConvergenceException;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Error thrown when a double value cannot be converted to a fraction
@@ -38,7 +39,7 @@ public class FractionConversionException
* @param maxIterations maximal number of iterations allowed
*/
public FractionConversionException(double value, int maxIterations) {
- super("Unable to convert {0} to fraction after {1} iterations", value, maxIterations);
+ super(LocalizedFormats.FAILED_FRACTION_CONVERSION, value, maxIterations);
}
/**
@@ -49,7 +50,7 @@ public class FractionConversionException
* @param q current denominator
*/
public FractionConversionException(double value, long p, long q) {
- super("Overflow trying to convert {0} to fraction ({1}/{2})", value, p, q);
+ super(LocalizedFormats.FRACTION_CONVERSION_OVERFLOW, value, p, q);
}
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/FractionFormat.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/FractionFormat.java?rev=955423&r1=955422&r2=955423&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/FractionFormat.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/fraction/FractionFormat.java Wed Jun 16 23:03:38 2010
@@ -25,6 +25,7 @@ import java.util.Locale;
import org.apache.commons.math.ConvergenceException;
import org.apache.commons.math.MathRuntimeException;
+import org.apache.commons.math.util.LocalizedFormats;
/**
* Formats a Fraction number in proper format or improper format. The number
@@ -180,12 +181,12 @@ public class FractionFormat extends Abst
toAppendTo, pos);
} catch (ConvergenceException ex) {
throw MathRuntimeException.createIllegalArgumentException(
- "cannot convert given object to a fraction number: {0}",
+ LocalizedFormats.CANNOT_CONVERT_OBJECT_TO_FRACTION,
ex.getLocalizedMessage());
}
} else {
throw MathRuntimeException.createIllegalArgumentException(
- "cannot format given object as a fraction number");
+ LocalizedFormats.CANNOT_FORMAT_OBJECT_TO_FRACTION);
}
return ret;