You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ah...@apache.org on 2022/11/21 19:23:19 UTC
[commons-statistics] 06/12: Use helper method to create tolerance
This is an automated email from the ASF dual-hosted git repository.
aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-statistics.git
commit 2a62b894669ce7a64af621464a88f010101f9b18
Author: Alex Herbert <ah...@apache.org>
AuthorDate: Mon Nov 21 18:55:42 2022 +0000
Use helper method to create tolerance
---
.../commons/statistics/distribution/BinomialDistributionTest.java | 8 ++++----
.../apache/commons/statistics/distribution/FDistributionTest.java | 4 ++--
.../commons/statistics/distribution/GammaDistributionTest.java | 4 ++--
.../commons/statistics/distribution/NakagamiDistributionTest.java | 4 ++--
.../commons/statistics/distribution/NormalDistributionTest.java | 4 ++--
.../commons/statistics/distribution/ParetoDistributionTest.java | 6 +++---
.../apache/commons/statistics/distribution/TDistributionTest.java | 2 +-
.../statistics/distribution/TruncatedNormalDistributionTest.java | 2 +-
.../commons/statistics/distribution/WeibullDistributionTest.java | 2 +-
9 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BinomialDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BinomialDistributionTest.java
index 8a46506..143b2b0 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BinomialDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BinomialDistributionTest.java
@@ -224,14 +224,14 @@ class BinomialDistributionTest extends BaseDiscreteDistributionTest {
// The next probability is accurate to the specified tolerance.
final BigDecimal prob1 = binomialProbability(n, p, 1);
final BigDecimal probn1 = binomialProbability(n, p, n - 1);
- TestUtils.assertEquals(prob1.doubleValue(), dist.probability(1), DoubleTolerances.relative(eps1), "pmf(1)");
- TestUtils.assertEquals(probn1.doubleValue(), dist.probability(n - 1), DoubleTolerances.relative(epsn1), "pmf(n-1)");
+ TestUtils.assertEquals(prob1.doubleValue(), dist.probability(1), createRelTolerance(eps1), "pmf(1)");
+ TestUtils.assertEquals(probn1.doubleValue(), dist.probability(n - 1), createRelTolerance(epsn1), "pmf(n-1)");
// Check the cumulative functions
final double cdf1 = prob0.add(prob1).doubleValue();
final double sfn2 = probn.add(probn1).doubleValue();
- TestUtils.assertEquals(cdf1, dist.cumulativeProbability(1), DoubleTolerances.relative(eps1), "cmf(1)");
- TestUtils.assertEquals(sfn2, dist.survivalProbability(n - 2), DoubleTolerances.relative(epsn1), "sf(n-2)");
+ TestUtils.assertEquals(cdf1, dist.cumulativeProbability(1), createRelTolerance(eps1), "cmf(1)");
+ TestUtils.assertEquals(sfn2, dist.survivalProbability(n - 2), createRelTolerance(epsn1), "sf(n-2)");
}
/**
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/FDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/FDistributionTest.java
index 43fcb13..69a4781 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/FDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/FDistributionTest.java
@@ -114,7 +114,7 @@ class FDistributionTest extends BaseContinuousDistributionTest {
double[] points,
double[] values) {
testLogDensity(FDistribution.of(numeratorDegreesOfFreedom, denominatorDegreesOfFreedom),
- points, values, DoubleTolerances.relative(1e-15));
+ points, values, createRelTolerance(1e-15));
}
static Stream<Arguments> testAdditionalLogDensity() {
@@ -163,7 +163,7 @@ class FDistributionTest extends BaseContinuousDistributionTest {
double[] values,
double relativeError) {
testDensity(FDistribution.of(numeratorDegreesOfFreedom, denominatorDegreesOfFreedom),
- points, values, DoubleTolerances.relative(relativeError));
+ points, values, createRelTolerance(relativeError));
}
static Stream<Arguments> testAdditionalDensity() {
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/GammaDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/GammaDistributionTest.java
index 3d9c73c..ffa787c 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/GammaDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/GammaDistributionTest.java
@@ -111,7 +111,7 @@ class GammaDistributionTest extends BaseContinuousDistributionTest {
@MethodSource
void testAdditionalDensity(double alpha, double rate, double[] x, double[] expected) {
final GammaDistribution dist = GammaDistribution.of(alpha, 1 / rate);
- testDensity(dist, x, expected, DoubleTolerances.relative(1e-9));
+ testDensity(dist, x, expected, createRelTolerance(1e-9));
}
static Stream<Arguments> testAdditionalDensity() {
@@ -153,7 +153,7 @@ class GammaDistributionTest extends BaseContinuousDistributionTest {
@MethodSource
void testAdditionalLogDensity(double alpha, double rate, double[] x, double[] expected) {
final GammaDistribution dist = GammaDistribution.of(alpha, 1 / rate);
- testLogDensity(dist, x, expected, DoubleTolerances.relative(1e-9));
+ testLogDensity(dist, x, expected, createRelTolerance(1e-9));
}
static Stream<Arguments> testAdditionalLogDensity() {
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/NakagamiDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/NakagamiDistributionTest.java
index 22c1cec..7cb1978 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/NakagamiDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/NakagamiDistributionTest.java
@@ -84,7 +84,7 @@ class NakagamiDistributionTest extends BaseContinuousDistributionTest {
// This computation is subject to cancellation due to subtraction of two large
// values to approach a result of zero.
// Use a moderate threshold.
- final DoubleTolerance tolerance = DoubleTolerances.relative(2e-10);
+ final DoubleTolerance tolerance = createRelTolerance(2e-10);
final NakagamiDistribution dist = NakagamiDistribution.of(mu, omega);
testMoments(dist, mean, variance, tolerance);
}
@@ -119,7 +119,7 @@ class NakagamiDistributionTest extends BaseContinuousDistributionTest {
// The mean is within 2 ULP.
// The variance is closer than the matlab result but the effect of cancellation
// prevents high accuracy.
- final DoubleTolerance tolerance = DoubleTolerances.relative(1e-12);
+ final DoubleTolerance tolerance = createRelTolerance(1e-12);
final NakagamiDistribution dist = NakagamiDistribution.of(mu, omega);
testMoments(dist, mean, variance, tolerance);
}
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/NormalDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/NormalDistributionTest.java
index cf5c608..bbfba7f 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/NormalDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/NormalDistributionTest.java
@@ -83,7 +83,7 @@ class NormalDistributionTest extends BaseContinuousDistributionTest {
/**
* Check to make sure top-coding of extreme values works correctly.
- * Verifies fixes for JIRA MATH-167, MATH-414
+ * Verifies fixes for JIRA MATH-167, MATH-414.
*/
@Test
void testLowerTail() {
@@ -106,7 +106,7 @@ class NormalDistributionTest extends BaseContinuousDistributionTest {
/**
* Check to make sure top-coding of extreme values works correctly.
- * Verifies fixes for JIRA MATH-167, MATH-414
+ * Verifies fixes for JIRA MATH-167, MATH-414.
*/
@Test
void testUpperTail() {
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ParetoDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ParetoDistributionTest.java
index 9319717..0ffd85f 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ParetoDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ParetoDistributionTest.java
@@ -65,7 +65,7 @@ class ParetoDistributionTest extends BaseContinuousDistributionTest {
})
void testAdditionalMoments(double scale, double shape, double mean, double variance) {
final ParetoDistribution dist = ParetoDistribution.of(scale, shape);
- testMoments(dist, mean, variance, DoubleTolerances.relative(1e-9));
+ testMoments(dist, mean, variance, createRelTolerance(1e-9));
}
@Test
@@ -100,12 +100,12 @@ class ParetoDistributionTest extends BaseContinuousDistributionTest {
final ParetoDistribution dist = ParetoDistribution.of(3, 0.5);
// BigDecimal: 1 - (scale/x).sqrt()
final double[] values = {1.480297366166875E-16, 8.141635513917804E-16};
- testCumulativeProbabilityHighPrecision(dist, x, values, DoubleTolerances.absolute(2e-17));
+ testCumulativeProbabilityHighPrecision(dist, x, values, createAbsTolerance(2e-17));
final ParetoDistribution dist2 = ParetoDistribution.of(3, 2);
// BigDecimal: 1 - (scale/x).pow(2)
final double[] values2 = {5.921189464667499E-16, 3.256654205567118E-15};
- testCumulativeProbabilityHighPrecision(dist2, x, values2, DoubleTolerances.absolute(8e-17));
+ testCumulativeProbabilityHighPrecision(dist2, x, values2, createAbsTolerance(8e-17));
}
/**
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/TDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/TDistributionTest.java
index c67bc49..f1e121b 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/TDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/TDistributionTest.java
@@ -97,7 +97,7 @@ class TDistributionTest extends BaseContinuousDistributionTest {
final double[] args30 = new double[]{1.310, 1.697, 2.042, 2.457, 2.750, 3.385};
final double[] args100 = new double[]{1.290, 1.660, 1.984, 2.364, 2.626, 3.174};
// Data points are not very exact so use a low tolerance.
- final DoubleTolerance tolerance = DoubleTolerances.absolute(1e-4);
+ final DoubleTolerance tolerance = createAbsTolerance(1e-4);
testSurvivalProbability(TDistribution.of(2), args2, prob, tolerance);
testSurvivalProbability(TDistribution.of(10), args10, prob, tolerance);
testSurvivalProbability(TDistribution.of(30), args30, prob, tolerance);
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/TruncatedNormalDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/TruncatedNormalDistributionTest.java
index 0dbf539..a05d73c 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/TruncatedNormalDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/TruncatedNormalDistributionTest.java
@@ -339,7 +339,7 @@ class TruncatedNormalDistributionTest extends BaseContinuousDistributionTest {
Assertions.assertTrue(var >= 0, () -> "Variance is not positive: " + var);
Assertions.assertEquals(var, TruncatedNormalDistribution.variance(-upper, -lower));
TestUtils.assertEquals(variance, var,
- DoubleTolerances.relative(-varianceRelativeError).or(DoubleTolerances.absolute(1.5 * 0x1.0p-52)),
+ createAbsOrRelTolerance(1.5 * 0x1.0p-52, -varianceRelativeError),
() -> String.format("variance(%s, %s)", lower, upper));
} else {
assertVariance(lower, upper, variance, varianceRelativeError);
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/WeibullDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/WeibullDistributionTest.java
index cb5ee80..d192420 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/WeibullDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/WeibullDistributionTest.java
@@ -60,7 +60,7 @@ class WeibullDistributionTest extends BaseContinuousDistributionTest {
@MethodSource
void testAdditionalMoments(double shape, double scale, double mean, double variance) {
final WeibullDistribution dist = WeibullDistribution.of(shape, scale);
- testMoments(dist, mean, variance, DoubleTolerances.absolute(1e-9));
+ testMoments(dist, mean, variance, createRelTolerance(1e-15));
}
static Stream<Arguments> testAdditionalMoments() {