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 530d38f018ad922b4fdf9a33ab18fb4f2928223d
Author: Alex Herbert <aherb...@apache.org>
AuthorDate: Mon Nov 21 17:01:13 2022 +0000

    Test inverse functions with p=-0.0
---
 .../statistics/distribution/BaseContinuousDistributionTest.java    | 2 ++
 .../statistics/distribution/BaseDiscreteDistributionTest.java      | 2 ++
 .../statistics/distribution/ExponentialDistributionTest.java       | 7 -------
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git 
a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BaseContinuousDistributionTest.java
 
b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BaseContinuousDistributionTest.java
index 92a213e..e976304 100644
--- 
a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BaseContinuousDistributionTest.java
+++ 
b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BaseContinuousDistributionTest.java
@@ -752,6 +752,7 @@ abstract class BaseContinuousDistributionTest
         // Test various quantities when the variable is outside the support.
         final double lo = dist.getSupportLowerBound();
         Assertions.assertEquals(0.0, dist.cumulativeProbability(lo), 
"cdf(lower)");
+        Assertions.assertEquals(lo, dist.inverseCumulativeProbability(-0.0), 
"icdf(-0.0)");
         Assertions.assertEquals(lo, dist.inverseCumulativeProbability(0.0), 
"icdf(0.0)");
         Assertions.assertEquals(lo, dist.inverseSurvivalProbability(1.0), 
"isf(1.0)");
         // Test for rounding errors during inversion
@@ -770,6 +771,7 @@ abstract class BaseContinuousDistributionTest
         Assertions.assertEquals(1.0, dist.cumulativeProbability(hi), 
"cdf(upper)");
         Assertions.assertEquals(0.0, dist.survivalProbability(hi), 
"sf(upper)");
         Assertions.assertEquals(hi, dist.inverseCumulativeProbability(1.0), 
"icdf(1.0)");
+        Assertions.assertEquals(hi, dist.inverseSurvivalProbability(-0.0), 
"isf(-0.0)");
         Assertions.assertEquals(hi, dist.inverseSurvivalProbability(0.0), 
"isf(0.0)");
         // Test for rounding errors during inversion
         Assertions.assertTrue(hi >= 
dist.inverseCumulativeProbability(Math.nextDown(1.0)), "hi >= 
icdf(nextDown(1.0))");
diff --git 
a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BaseDiscreteDistributionTest.java
 
b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BaseDiscreteDistributionTest.java
index 88ff744..6253e56 100644
--- 
a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BaseDiscreteDistributionTest.java
+++ 
b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BaseDiscreteDistributionTest.java
@@ -858,6 +858,7 @@ abstract class BaseDiscreteDistributionTest
         // Test various quantities when the variable is outside the support.
         final int lo = dist.getSupportLowerBound();
         TestUtils.assertEquals(dist.probability(lo), 
dist.cumulativeProbability(lo), tolerance, () -> "pmf(lower) != cdf(lower) for 
" + lo);
+        Assertions.assertEquals(lo, dist.inverseCumulativeProbability(-0.0), 
"icdf(-0.0)");
         Assertions.assertEquals(lo, dist.inverseCumulativeProbability(0.0), 
"icdf(0.0)");
         Assertions.assertEquals(lo, dist.inverseSurvivalProbability(1.0), 
"isf(1.0)");
 
@@ -872,6 +873,7 @@ abstract class BaseDiscreteDistributionTest
         final int hi = dist.getSupportUpperBound();
         Assertions.assertTrue(lo <= hi, "lower <= upper");
         Assertions.assertEquals(hi, dist.inverseCumulativeProbability(1.0), 
"icdf(1.0)");
+        Assertions.assertEquals(hi, dist.inverseSurvivalProbability(-0.0), 
"isf(-0.0)");
         Assertions.assertEquals(hi, dist.inverseSurvivalProbability(0.0), 
"isf(0.0)");
         if (hi != Integer.MAX_VALUE) {
             // For distributions defined up to integer max value we cannot 
test that
diff --git 
a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ExponentialDistributionTest.java
 
b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ExponentialDistributionTest.java
index 50c3e1b..549ae06 100644
--- 
a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ExponentialDistributionTest.java
+++ 
b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ExponentialDistributionTest.java
@@ -78,13 +78,6 @@ class ExponentialDistributionTest extends 
BaseContinuousDistributionTest {
         Assertions.assertEquals(0.17113903967753066326, d2.density(2.0), 
1e-15);
     }
 
-    @Test
-    void testInverseCDFWithZero() {
-        final ExponentialDistribution d1 = ExponentialDistribution.of(1);
-        Assertions.assertEquals(0.0, d1.inverseCumulativeProbability(0.0));
-        Assertions.assertEquals(0.0, d1.inverseCumulativeProbability(-0.0));
-    }
-
     @ParameterizedTest
     @CsvFileSource(resources = "exppdf.csv")
     void testPDF(double mean, double x, BigDecimal expected) {

Reply via email to