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() {