Alter DistributionException to use %s not %g.
Many distributions have integer parameters. These cannot be formatted
using %g. The alternative is to cast them all to a double. The output
would have a decimal point and trailing zeros:
1 => 1.0000
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 75b5a5e..abc16ca 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
@@ -37,7 +37,7 @@
int x1) {
if (x1 < x0) {
throw new DistributionException(DistributionException.TOO_SMALL,
- (double) x1, (double) x0);
+ x1, x0);
}
return cumulativeProbability(x1) - cumulativeProbability(x0);
}
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 23a6c36..e3090c0 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
@@ -39,7 +39,7 @@
double p) {
if (trials < 0) {
throw new DistributionException(DistributionException.NEGATIVE,
- trials);
+ trials);
}
if (p < 0 ||
p > 1) {
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 c865bd3..447fee2 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
@@ -23,17 +23,17 @@
*/
class DistributionException extends IllegalArgumentException {
/** Error message for "too large" condition. */
- static final String TOO_LARGE = "%g > %g";
+ static final String TOO_LARGE = "%s > %s";
/** Error message for "too small" condition. */
- static final String TOO_SMALL = "%g < %g";
+ static final String TOO_SMALL = "%s < %s";
/** Error message for "out of range" condition. */
- static final String OUT_OF_RANGE = "Number %g is out of range [%g, %g]";
+ static final String OUT_OF_RANGE = "Number %s is out of range [%s, %s]";
/** Error message for "invalid probability" condition. */
- static final String INVALID_PROBABILITY = "Not a probability: %.16e is out of range [0, 1]";
+ static final String INVALID_PROBABILITY = "Not a probability: %s is out of range [0, 1]";
/** Error message for "out of range" condition. */
- static final String NEGATIVE = "Number %g is negative";
+ static final String NEGATIVE = "Number %s is negative";
/** Error message for "mismatch" condition. */
- static final String MISMATCH = "Expected %g but was %g";
+ static final String MISMATCH = "Expected %s but was %s";
/** Serializable version identifier. */
private static final long serialVersionUID = 20180119L;
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/HypergeometricDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/HypergeometricDistribution.java
index 3dd7dd3..d4674f9 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/HypergeometricDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/HypergeometricDistribution.java
@@ -43,24 +43,24 @@
int sampleSize) {
if (populationSize <= 0) {
throw new DistributionException(DistributionException.NEGATIVE,
- (double) populationSize);
+ populationSize);
}
if (numberOfSuccesses < 0) {
throw new DistributionException(DistributionException.NEGATIVE,
- (double) numberOfSuccesses);
+ numberOfSuccesses);
}
if (sampleSize < 0) {
throw new DistributionException(DistributionException.NEGATIVE,
- (double) sampleSize);
+ sampleSize);
}
if (numberOfSuccesses > populationSize) {
throw new DistributionException(DistributionException.TOO_LARGE,
- (double) numberOfSuccesses, (double) populationSize);
+ numberOfSuccesses, populationSize);
}
if (sampleSize > populationSize) {
throw new DistributionException(DistributionException.TOO_LARGE,
- (double) sampleSize, (double) populationSize);
+ sampleSize, populationSize);
}
this.numberOfSuccesses = numberOfSuccesses;