This is an automated email from the ASF dual-hosted git repository. erans pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-statistics.git
commit 1f6ef78fb0d15e99e72964430e8ecdf180c462ae Author: Gilles Sadowski <gillese...@gmail.com> AuthorDate: Mon Apr 27 07:17:52 2020 +0200 Specialized exception message when passing an invalid probability value. Disable localization of exception messages. --- .../AbstractContinuousDistribution.java | 2 +- .../distribution/AbstractDiscreteDistribution.java | 2 +- .../distribution/BinomialDistribution.java | 2 +- .../distribution/CauchyDistribution.java | 2 +- .../ConstantContinuousDistribution.java | 2 +- .../distribution/DistributionException.java | 23 +++++++++++----------- .../distribution/ExponentialDistribution.java | 2 +- .../distribution/GeometricDistribution.java | 4 ++-- .../distribution/GumbelDistribution.java | 2 +- .../distribution/LaplaceDistribution.java | 2 +- .../statistics/distribution/LevyDistribution.java | 2 +- .../distribution/LogisticDistribution.java | 2 +- .../distribution/NormalDistribution.java | 2 +- .../distribution/PascalDistribution.java | 2 +- .../distribution/TriangularDistribution.java | 2 +- .../UniformContinuousDistribution.java | 2 +- .../distribution/WeibullDistribution.java | 2 +- 17 files changed, 29 insertions(+), 28 deletions(-) diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractContinuousDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractContinuousDistribution.java index 9057cbf..0d8f3f7 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractContinuousDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractContinuousDistribution.java @@ -84,7 +84,7 @@ abstract class AbstractContinuousDistribution */ if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } double lowerBound = getSupportLowerBound(); diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractDiscreteDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractDiscreteDistribution.java index 41d8025..0a5d24e 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractDiscreteDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractDiscreteDistribution.java @@ -57,7 +57,7 @@ abstract class AbstractDiscreteDistribution public int inverseCumulativeProbability(final double p) { if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } int lower = getSupportLowerBound(); diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/BinomialDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/BinomialDistribution.java index 7846f1e..23a6c36 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/BinomialDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/BinomialDistribution.java @@ -43,7 +43,7 @@ public class BinomialDistribution extends AbstractDiscreteDistribution { } if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } probabilityOfSuccess = p; diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/CauchyDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/CauchyDistribution.java index b0eb0ca..2967e62 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/CauchyDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/CauchyDistribution.java @@ -83,7 +83,7 @@ public class CauchyDistribution extends AbstractContinuousDistribution { double ret; if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } else if (p == 0) { ret = Double.NEGATIVE_INFINITY; } else if (p == 1) { diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ConstantContinuousDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ConstantContinuousDistribution.java index 85c480d..dd3778f 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ConstantContinuousDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ConstantContinuousDistribution.java @@ -52,7 +52,7 @@ public class ConstantContinuousDistribution extends AbstractContinuousDistributi public double inverseCumulativeProbability(final double p) { if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } return value; } diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/DistributionException.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/DistributionException.java index 167599e..c865bd3 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/DistributionException.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/DistributionException.java @@ -16,34 +16,35 @@ */ package org.apache.commons.statistics.distribution; -import java.text.MessageFormat; +import java.util.Locale; /** * Package private exception class with constants for frequently used messages. */ class DistributionException extends IllegalArgumentException { /** Error message for "too large" condition. */ - static final String TOO_LARGE = "{0} > {1}"; + static final String TOO_LARGE = "%g > %g"; /** Error message for "too small" condition. */ - static final String TOO_SMALL = "{0} < {1}"; + static final String TOO_SMALL = "%g < %g"; /** Error message for "out of range" condition. */ - static final String OUT_OF_RANGE = "Number {0} is out of range [{1}, {2}]"; + static final String OUT_OF_RANGE = "Number %g is out of range [%g, %g]"; + /** Error message for "invalid probability" condition. */ + static final String INVALID_PROBABILITY = "Not a probability: %.16e is out of range [0, 1]"; /** Error message for "out of range" condition. */ - static final String NEGATIVE = "Number {0} is negative"; + static final String NEGATIVE = "Number %g is negative"; /** Error message for "mismatch" condition. */ - static final String MISMATCH = "Expected {1} but was {0}"; + static final String MISMATCH = "Expected %g but was %g"; /** Serializable version identifier. */ private static final long serialVersionUID = 20180119L; /** - * Create an exception where the message is constructed by applying - * the {@code format()} method from {@code java.text.MessageFormat}. + * Creates an exception. * - * @param message the exception message with replaceable parameters - * @param formatArguments the arguments for formatting the message + * @param message Exception message with replaceable parameters. + * @param formatArguments Arguments for formatting the message. */ DistributionException(String message, Object... formatArguments) { - super(MessageFormat.format(message, formatArguments)); + super(String.format((Locale) null, message, formatArguments)); } } diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ExponentialDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ExponentialDistribution.java index 3ae91c0..7013213 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ExponentialDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ExponentialDistribution.java @@ -95,7 +95,7 @@ public class ExponentialDistribution extends AbstractContinuousDistribution { if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } else if (p == 1) { ret = Double.POSITIVE_INFINITY; } else { diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/GeometricDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/GeometricDistribution.java index a0758f7..ad87994 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/GeometricDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/GeometricDistribution.java @@ -35,7 +35,7 @@ public class GeometricDistribution extends AbstractDiscreteDistribution { */ public GeometricDistribution(double p) { if (p <= 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } probabilityOfSuccess = p; @@ -147,7 +147,7 @@ public class GeometricDistribution extends AbstractDiscreteDistribution { public int inverseCumulativeProbability(double p) { if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } if (p == 1) { return Integer.MAX_VALUE; diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/GumbelDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/GumbelDistribution.java index dcd3e31..c1d32ad 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/GumbelDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/GumbelDistribution.java @@ -94,7 +94,7 @@ public class GumbelDistribution extends AbstractContinuousDistribution { @Override public double inverseCumulativeProbability(double p) { if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } else if (p == 0) { return Double.NEGATIVE_INFINITY; } else if (p == 1) { diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LaplaceDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LaplaceDistribution.java index e26c370..e7d6212 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LaplaceDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LaplaceDistribution.java @@ -83,7 +83,7 @@ public class LaplaceDistribution extends AbstractContinuousDistribution { public double inverseCumulativeProbability(double p) { if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } else if (p == 0) { return Double.NEGATIVE_INFINITY; } else if (p == 1) { diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LevyDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LevyDistribution.java index 329a1ad..4f59f28 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LevyDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LevyDistribution.java @@ -105,7 +105,7 @@ public class LevyDistribution extends AbstractContinuousDistribution { public double inverseCumulativeProbability(final double p) { if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } final double t = InverseErfc.value(p); return mu + halfC / (t * t); diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LogisticDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LogisticDistribution.java index ad6e223..11d3509 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LogisticDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LogisticDistribution.java @@ -95,7 +95,7 @@ public class LogisticDistribution extends AbstractContinuousDistribution { public double inverseCumulativeProbability(double p) { if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } else if (p == 0) { return 0; } else if (p == 1) { diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/NormalDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/NormalDistribution.java index f322c97..e30e230 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/NormalDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/NormalDistribution.java @@ -99,7 +99,7 @@ public class NormalDistribution extends AbstractContinuousDistribution { public double inverseCumulativeProbability(final double p) { if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } return mean + standardDeviation * SQRT2 * InverseErf.value(2 * p - 1); } diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/PascalDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/PascalDistribution.java index 7520bba..6660481 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/PascalDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/PascalDistribution.java @@ -75,7 +75,7 @@ public class PascalDistribution extends AbstractDiscreteDistribution { } if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } numberOfSuccesses = r; diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/TriangularDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/TriangularDistribution.java index 1738d75..b47d58e 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/TriangularDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/TriangularDistribution.java @@ -202,7 +202,7 @@ public class TriangularDistribution extends AbstractContinuousDistribution { public double inverseCumulativeProbability(double p) { if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } if (p == 0) { return a; diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/UniformContinuousDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/UniformContinuousDistribution.java index acee3c7..5d9780d 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/UniformContinuousDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/UniformContinuousDistribution.java @@ -74,7 +74,7 @@ public class UniformContinuousDistribution extends AbstractContinuousDistributio public double inverseCumulativeProbability(final double p) { if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } return p * (upper - lower) + lower; } diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/WeibullDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/WeibullDistribution.java index 7022c8f..3640325 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/WeibullDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/WeibullDistribution.java @@ -140,7 +140,7 @@ public class WeibullDistribution extends AbstractContinuousDistribution { double ret; if (p < 0 || p > 1) { - throw new DistributionException(DistributionException.OUT_OF_RANGE, p, 0, 1); + throw new DistributionException(DistributionException.INVALID_PROBABILITY, p); } else if (p == 0) { ret = 0.0; } else if (p == 1) {