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 2021/11/22 13:11:14 UTC

[commons-statistics] 03/03: [STATISTICS-48] Remove isSupportConnected from distribution interface

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 d7c53ab3e05b09f2522f7b7ee78e96ad97defe95
Author: aherbert <ah...@apache.org>
AuthorDate: Mon Nov 22 13:09:51 2021 +0000

    [STATISTICS-48] Remove isSupportConnected from distribution interface
    
    This method is an implementation detail only used by the
    AbstractContinuousDistribution to invert the cumulative or survival
    probability. It has been demoted to a protected member of that class and
    removed as a public interface member.
    
    All distributions currently only return true for this method. Removal
    from the public interface has no impact on the library.
---
 .../AbstractContinuousDistribution.java            | 30 ++++++++++++++++++++++
 .../statistics/distribution/BetaDistribution.java  | 12 ---------
 .../distribution/BinomialDistribution.java         | 12 ---------
 .../distribution/CauchyDistribution.java           | 12 ---------
 .../distribution/ChiSquaredDistribution.java       | 12 ---------
 .../distribution/ContinuousDistribution.java       |  9 -------
 .../distribution/DiscreteDistribution.java         |  9 -------
 .../distribution/ExponentialDistribution.java      | 12 ---------
 .../statistics/distribution/FDistribution.java     | 12 ---------
 .../statistics/distribution/GammaDistribution.java | 12 ---------
 .../distribution/GeometricDistribution.java        | 12 ---------
 .../distribution/GumbelDistribution.java           | 12 ---------
 .../distribution/HypergeometricDistribution.java   | 12 ---------
 .../distribution/LaplaceDistribution.java          | 12 ---------
 .../statistics/distribution/LevyDistribution.java  | 12 ---------
 .../distribution/LogNormalDistribution.java        | 12 ---------
 .../distribution/LogisticDistribution.java         | 12 ---------
 .../distribution/NakagamiDistribution.java         | 12 ---------
 .../distribution/NormalDistribution.java           | 12 ---------
 .../distribution/ParetoDistribution.java           | 12 ---------
 .../distribution/PascalDistribution.java           | 12 ---------
 .../distribution/PoissonDistribution.java          | 12 ---------
 .../statistics/distribution/TDistribution.java     | 12 ---------
 .../distribution/TriangularDistribution.java       | 12 ---------
 .../distribution/TruncatedNormalDistribution.java  | 12 ---------
 .../UniformContinuousDistribution.java             | 12 ---------
 .../distribution/UniformDiscreteDistribution.java  | 12 ---------
 .../distribution/WeibullDistribution.java          | 12 ---------
 .../statistics/distribution/ZipfDistribution.java  | 12 ---------
 .../AbstractDiscreteDistributionTest.java          | 17 ------------
 .../BaseContinuousDistributionTest.java            |  7 ++---
 .../distribution/BaseDiscreteDistributionTest.java |  7 ++---
 .../distribution/BaseDistributionTest.java         | 12 ---------
 .../distribution/ContinuousDistributionTest.java   |  4 ---
 .../distribution/DiscreteDistributionTest.java     |  4 ---
 .../distribution/DistributionTestData.java         | 14 ----------
 36 files changed, 34 insertions(+), 391 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 3ce4ad9..4d8b5f8 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
@@ -286,6 +286,36 @@ abstract class AbstractContinuousDistribution
         return x;
     }
 
+
+    /**
+     * Indicates whether the support is connected, i.e. whether all values between the
+     * lower and upper bound of the support are included in the support.
+     *
+     * <p>This method is used in the default implementation of the inverse cumulative and
+     * survival probability functions.
+     *
+     * <p>The default value is true which assumes the cdf and sf have no plateau regions
+     * where the same probability value is returned for a large range of x.
+     * Override this method if there are gaps in the support of the cdf and sf.
+     *
+     * <p>If false then the inverse will perform an additional step to ensure that the
+     * lower-bound of the interval on which the cdf is constant should be returned. This
+     * will search from the initial point x downwards if a smaller value also has the same
+     * cumulative (survival) probability.
+     *
+     * <p>Any plateau with a width in x smaller than the inverse absolute accuracy will
+     * not be searched.
+     *
+     * <p>Note: This method was public in commons math. It has been reduced to protected
+     * in commons statistics as it is an implementation detail.
+     *
+     * @return whether the support is connected.
+     * @see <a href="https://issues.apache.org/jira/browse/MATH-699">MATH-699</a>
+     */
+    protected boolean isSupportConnected() {
+        return true;
+    }
+
     /**
      * Test the probability function for a plateau at the point x. If detected
      * search the plateau for the lowest point y such that
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/BetaDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/BetaDistribution.java
index 77e44a7..b67425f 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/BetaDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/BetaDistribution.java
@@ -223,18 +223,6 @@ public final class BetaDistribution extends AbstractContinuousDistribution {
     /**
      * {@inheritDoc}
      *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
-    /**
-     * {@inheritDoc}
-     *
      * <p>Sampling is performed using Cheng's algorithm:
      * <blockquote>
      * <pre>
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 a4f8837..d59e237 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
@@ -167,18 +167,6 @@ public final class BinomialDistribution extends AbstractDiscreteDistribution {
         return probabilityOfSuccess > 0.0 ? numberOfTrials : 0;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     protected int getMedian() {
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 3a08311..60ed069 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
@@ -190,18 +190,6 @@ public final class CauchyDistribution extends AbstractContinuousDistribution {
         return Double.POSITIVE_INFINITY;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     protected double getMedian() {
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ChiSquaredDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ChiSquaredDistribution.java
index 780c304..fa86783 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ChiSquaredDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ChiSquaredDistribution.java
@@ -153,18 +153,6 @@ public final class ChiSquaredDistribution extends AbstractContinuousDistribution
     /**
      * {@inheritDoc}
      *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
-    /**
-     * {@inheritDoc}
-     *
      * <p>
      * Sampling algorithms:
      * <ul>
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ContinuousDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ContinuousDistribution.java
index 1b1c425..7391d2b 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ContinuousDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ContinuousDistribution.java
@@ -170,15 +170,6 @@ public interface ContinuousDistribution {
     double getSupportUpperBound();
 
     /**
-     * Indicates whether the support is connected, i.e. whether
-     * all values between the lower and upper bound of the support
-     * are included in the support.
-     *
-     * @return whether the support is connected.
-     */
-    boolean isSupportConnected();
-
-    /**
      * Creates a sampler.
      *
      * @param rng Generator of uniformly distributed numbers.
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/DiscreteDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/DiscreteDistribution.java
index 7cfcb4e..a96ce86 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/DiscreteDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/DiscreteDistribution.java
@@ -191,15 +191,6 @@ public interface DiscreteDistribution {
     int getSupportUpperBound();
 
     /**
-     * Indicates whether the support is connected, i.e. whether all
-     * integers between the lower and upper bound of the support are
-     * included in the support.
-     *
-     * @return whether the support is connected.
-     */
-    boolean isSupportConnected();
-
-    /**
      * Creates a sampler.
      *
      * @param rng Generator of uniformly distributed numbers.
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 58267d5..fb0a409 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
@@ -184,18 +184,6 @@ public final class ExponentialDistribution extends AbstractContinuousDistributio
         return SUPPORT_HI;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     protected double getMedian() {
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/FDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/FDistribution.java
index a894227..458d7ea 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/FDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/FDistribution.java
@@ -270,16 +270,4 @@ public final class FDistribution extends AbstractContinuousDistribution {
     public double getSupportUpperBound() {
         return SUPPORT_HI;
     }
-
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
 }
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/GammaDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/GammaDistribution.java
index 3a68a7d..8da73c2 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/GammaDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/GammaDistribution.java
@@ -354,18 +354,6 @@ public final class GammaDistribution extends AbstractContinuousDistribution {
     /**
      * {@inheritDoc}
      *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
-    /**
-     * {@inheritDoc}
-     *
      * <p>
      * Sampling algorithms:
      * <ul>
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 7e001dd..7d9e623 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
@@ -236,18 +236,6 @@ public final class GeometricDistribution extends AbstractDiscreteDistribution {
         return probabilityOfSuccess < 1 ? Integer.MAX_VALUE : 0;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     public Sampler createSampler(UniformRandomProvider rng) {
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 cc52082..76c0349 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
@@ -194,18 +194,6 @@ public final class GumbelDistribution extends AbstractContinuousDistribution {
         return SUPPORT_HI;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     protected double getMedian() {
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 6a0e31f..8d9c1d5 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
@@ -281,16 +281,4 @@ public final class HypergeometricDistribution extends AbstractDiscreteDistributi
     public int getSupportUpperBound() {
         return upperBound;
     }
-
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
 }
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 de8255b..5b70a78 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
@@ -179,18 +179,6 @@ public final class LaplaceDistribution extends AbstractContinuousDistribution {
         return Double.POSITIVE_INFINITY;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     protected double getMedian() {
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 2125816..57bf4da 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
@@ -214,18 +214,6 @@ public final class LevyDistribution extends AbstractContinuousDistribution {
         return Double.POSITIVE_INFINITY;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     protected double getMedian() {
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LogNormalDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LogNormalDistribution.java
index 875a0be..4f5681f 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LogNormalDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/LogNormalDistribution.java
@@ -260,18 +260,6 @@ public final class LogNormalDistribution extends AbstractContinuousDistribution
         return Double.POSITIVE_INFINITY;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     public ContinuousDistribution.Sampler createSampler(final UniformRandomProvider rng) {
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 09ce61c..5bf8527 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
@@ -201,18 +201,6 @@ public final class LogisticDistribution extends AbstractContinuousDistribution {
         return SUPPORT_HI;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     protected double getMedian() {
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/NakagamiDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/NakagamiDistribution.java
index ae7428f..6f32b9a 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/NakagamiDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/NakagamiDistribution.java
@@ -174,16 +174,4 @@ public final class NakagamiDistribution extends AbstractContinuousDistribution {
     public double getSupportUpperBound() {
         return SUPPORT_HI;
     }
-
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
 }
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 730157f..fd0be84 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
@@ -190,18 +190,6 @@ public final class NormalDistribution extends AbstractContinuousDistribution {
         return Double.POSITIVE_INFINITY;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     public ContinuousDistribution.Sampler createSampler(final UniformRandomProvider rng) {
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ParetoDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ParetoDistribution.java
index 5462cb1..c57b6a8 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ParetoDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ParetoDistribution.java
@@ -284,18 +284,6 @@ public final class ParetoDistribution extends AbstractContinuousDistribution {
         return Double.POSITIVE_INFINITY;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     public ContinuousDistribution.Sampler createSampler(final UniformRandomProvider rng) {
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 618048f..a66f363 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
@@ -219,16 +219,4 @@ public final class PascalDistribution extends AbstractDiscreteDistribution {
     public int getSupportUpperBound() {
         return probabilityOfSuccess < 1 ? Integer.MAX_VALUE : 0;
     }
-
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
 }
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/PoissonDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/PoissonDistribution.java
index b1b3d45..4d2f0aa 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/PoissonDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/PoissonDistribution.java
@@ -174,18 +174,6 @@ public final class PoissonDistribution extends AbstractDiscreteDistribution {
         return Integer.MAX_VALUE;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     public DiscreteDistribution.Sampler createSampler(final UniformRandomProvider rng) {
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/TDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/TDistribution.java
index e3e7ed5..2832f37 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/TDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/TDistribution.java
@@ -305,16 +305,4 @@ public abstract class TDistribution extends AbstractContinuousDistribution {
     public double getSupportUpperBound() {
         return Double.POSITIVE_INFINITY;
     }
-
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
 }
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 f5b7b8a..81ce547 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
@@ -258,16 +258,4 @@ public final class TriangularDistribution extends AbstractContinuousDistribution
     public double getSupportUpperBound() {
         return b;
     }
-
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
 }
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/TruncatedNormalDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/TruncatedNormalDistribution.java
index 45066fc..55e6368 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/TruncatedNormalDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/TruncatedNormalDistribution.java
@@ -259,18 +259,6 @@ public final class TruncatedNormalDistribution extends AbstractContinuousDistrib
     }
 
     /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
-    /**
      * Clip to the value to the range [lower, upper].
      * This is used to handle floating-point error at the support bound.
      *
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 ce1c67a..84b35f7 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
@@ -195,18 +195,6 @@ public final class UniformContinuousDistribution extends AbstractContinuousDistr
         return upper;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     public ContinuousDistribution.Sampler createSampler(final UniformRandomProvider rng) {
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/UniformDiscreteDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/UniformDiscreteDistribution.java
index b57f54c..dbfad35 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/UniformDiscreteDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/UniformDiscreteDistribution.java
@@ -252,18 +252,6 @@ public final class UniformDiscreteDistribution extends AbstractDiscreteDistribut
         return upper;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     public DiscreteDistribution.Sampler createSampler(final UniformRandomProvider rng) {
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 1b55cf4..a2de523 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
@@ -286,18 +286,6 @@ public final class WeibullDistribution extends AbstractContinuousDistribution {
         return SUPPORT_HI;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     public ContinuousDistribution.Sampler createSampler(final UniformRandomProvider rng) {
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ZipfDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ZipfDistribution.java
index 08d1c3a..1ca8b2d 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ZipfDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ZipfDistribution.java
@@ -266,18 +266,6 @@ public final class ZipfDistribution extends AbstractDiscreteDistribution {
         return getNumberOfElements();
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p>The support of this distribution is connected.
-     *
-     * @return {@code true}
-     */
-    @Override
-    public boolean isSupportConnected() {
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     public DiscreteDistribution.Sampler createSampler(final UniformRandomProvider rng) {
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/AbstractDiscreteDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/AbstractDiscreteDistributionTest.java
index d27bdfb..916f17e 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/AbstractDiscreteDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/AbstractDiscreteDistributionTest.java
@@ -127,10 +127,6 @@ class AbstractDiscreteDistributionTest {
             public int getSupportUpperBound() {
                 return Integer.MIN_VALUE + 3;
             }
-            @Override
-            public boolean isSupportConnected() {
-                throw new AssertionError();
-            }
         };
         Assertions.assertEquals(dist.getSupportLowerBound(), dist.inverseCumulativeProbability(0.0));
         Assertions.assertEquals(Integer.MIN_VALUE, dist.inverseCumulativeProbability(0.05));
@@ -182,10 +178,6 @@ class AbstractDiscreteDistributionTest {
             public int getSupportUpperBound() {
                 return 3;
             }
-            @Override
-            public boolean isSupportConnected() {
-                throw new AssertionError();
-            }
         };
         Assertions.assertEquals(dist.getSupportLowerBound(), dist.inverseCumulativeProbability(0.0));
         Assertions.assertEquals(0, dist.inverseCumulativeProbability(0.05));
@@ -228,10 +220,6 @@ class AbstractDiscreteDistributionTest {
             public int getSupportUpperBound() {
                 return Integer.MAX_VALUE;
             }
-            @Override
-            public boolean isSupportConnected() {
-                return false;
-            }
         };
         Assertions.assertThrows(IllegalStateException.class, () -> dist.inverseCumulativeProbability(0.5));
         Assertions.assertThrows(IllegalStateException.class, () -> dist.inverseSurvivalProbability(0.5));
@@ -282,10 +270,5 @@ class AbstractDiscreteDistributionTest {
         public int getSupportUpperBound() {
             return 6;
         }
-
-        @Override
-        public final boolean isSupportConnected() {
-            return true;
-        }
     }
 }
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 f5a1b44..bb9bb72 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
@@ -98,8 +98,6 @@ import org.junit.jupiter.params.provider.MethodSource;
  * The default will use the expected CDF values (SF = 1 - CDF).
  * <li>A tolerance for equality assertions. The default is set by {@link #getAbsoluteTolerance()}
  * and {@link #getRelativeTolerance()}.
- * <li>A flag to indicate the returned value for {@link ContinuousDistribution#isSupportConnected()}.
- * The default is set by {@link #isSupportConnected()}.
  * </ul>
  *
  * <p>If the distribution provides higher precision implementations of
@@ -431,7 +429,7 @@ abstract class BaseContinuousDistributionTest
      */
     Stream<Arguments> testSupport() {
         return data.stream().map(d -> {
-            return Arguments.of(namedDistribution(d.getParameters()), d.getLower(), d.getUpper(), d.isConnected());
+            return Arguments.of(namedDistribution(d.getParameters()), d.getLower(), d.getUpper());
         });
     }
 
@@ -896,10 +894,9 @@ abstract class BaseContinuousDistributionTest
      */
     @ParameterizedTest
     @MethodSource
-    final void testSupport(ContinuousDistribution dist, double lower, double upper, boolean connected) {
+    final void testSupport(ContinuousDistribution dist, double lower, double upper) {
         Assertions.assertEquals(lower, dist.getSupportLowerBound(), "lower bound");
         Assertions.assertEquals(upper, dist.getSupportUpperBound(), "upper bound");
-        Assertions.assertEquals(connected, dist.isSupportConnected(), "is connected");
     }
 
     /**
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 a1bce72..21ceeb2 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
@@ -97,8 +97,6 @@ import org.junit.jupiter.params.provider.MethodSource;
  * The default will use the expected CDF values (SF = 1 - CDF).
  * <li>A tolerance for equality assertions. The default is set by {@link #getAbsoluteTolerance()}
  * and {@link #getRelativeTolerance()}.
- * <li>A flag to indicate the returned value for {@link DiscreteDistribution#isSupportConnected()}.
- * The default is set by {@link #isSupportConnected()}.
  * </ul>
  *
  * <p>If the distribution provides higher precision implementations of
@@ -451,7 +449,7 @@ abstract class BaseDiscreteDistributionTest
      */
     Stream<Arguments> testSupport() {
         return data.stream().map(d -> {
-            return Arguments.of(namedDistribution(d.getParameters()), d.getLower(), d.getUpper(), d.isConnected());
+            return Arguments.of(namedDistribution(d.getParameters()), d.getLower(), d.getUpper());
         });
     }
 
@@ -1071,10 +1069,9 @@ abstract class BaseDiscreteDistributionTest
      */
     @ParameterizedTest
     @MethodSource
-    final void testSupport(DiscreteDistribution dist, double lower, double upper, boolean connected) {
+    final void testSupport(DiscreteDistribution dist, double lower, double upper) {
         Assertions.assertEquals(lower, dist.getSupportLowerBound(), "lower bound");
         Assertions.assertEquals(upper, dist.getSupportUpperBound(), "upper bound");
-        Assertions.assertEquals(connected, dist.isSupportConnected(), "is connected");
     }
 
     /**
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BaseDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BaseDistributionTest.java
index 37b108e..2f18b37 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BaseDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BaseDistributionTest.java
@@ -103,7 +103,6 @@ abstract class BaseDistributionTest<T, D extends DistributionTestData> {
         final String key = getDistributionName().toLowerCase(Locale.ROOT);
         // Set defaults
         final Properties defaults = new Properties();
-        defaults.setProperty(DistributionTestData.KEY_CONNECTED, String.valueOf(isSupportConnected()));
         defaults.setProperty(DistributionTestData.KEY_TOLERANCE_ABSOLUTE, String.valueOf(getAbsoluteTolerance()));
         defaults.setProperty(DistributionTestData.KEY_TOLERANCE_RELATIVE, String.valueOf(getRelativeTolerance()));
         defaults.setProperty(DistributionTestData.KEY_TOLERANCE_ABSOLUTE_HP, String.valueOf(getHighPrecisionAbsoluteTolerance()));
@@ -199,17 +198,6 @@ abstract class BaseDistributionTest<T, D extends DistributionTestData> {
     }
 
     /**
-     * The expected value for the distribution {@code isSupportConnected()} method.
-     * The default is {@code true}. Test class should override this when the distribution
-     * is not support connected.
-     *
-     * @return true if the distribution is support connected
-     */
-    protected boolean isSupportConnected() {
-        return true;
-    }
-
-    /**
      * Gets the distribution name. This is used to search for test case resource files.
      *
      * <p>The default implementation removes the text {@code DistributionTest} from the
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionTest.java
index 8e6d1f5..9d46350 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionTest.java
@@ -34,10 +34,6 @@ class ContinuousDistributionTest {
 
         final ContinuousDistribution dist = new ContinuousDistribution() {
             @Override
-            public boolean isSupportConnected() {
-                return false;
-            }
-            @Override
             public double inverseCumulativeProbability(double p) {
                 // For the default inverseSurvivalProbability(double) method
                 return 10 * p;
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionTest.java
index 17a261c..dd17016 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionTest.java
@@ -179,10 +179,6 @@ class DiscreteDistributionTest {
             throw new AssertionError();
         }
         @Override
-        public boolean isSupportConnected() {
-            throw new AssertionError();
-        }
-        @Override
         public Sampler createSampler(UniformRandomProvider rng) {
             throw new AssertionError();
         }
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DistributionTestData.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DistributionTestData.java
index c343cd4..a3bbb9b 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DistributionTestData.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DistributionTestData.java
@@ -31,8 +31,6 @@ abstract class DistributionTestData {
     // These values are expected to be the same for all test cases
     // and may be set in the properties before creating the test data instance.
 
-    /** The key for the support connected value. */
-    static final String KEY_CONNECTED = "connected";
     /** The key for the absolute tolerance value. */
     static final String KEY_TOLERANCE_ABSOLUTE = "tolerance.absolute";
     /** The key for the relative tolerance value. */
@@ -60,8 +58,6 @@ abstract class DistributionTestData {
     private final double mean;
     /** Variance. */
     private final double variance;
-    /** Support connected flag. */
-    private final boolean connected;
     /** Test absolute tolerance for calculations. */
     private final double absoluteTolerance;
     /** Test relative tolerance for calculations. */
@@ -510,7 +506,6 @@ abstract class DistributionTestData {
                             .map(DistributionTestData::parseParameter).toArray();
         mean = getAsDouble(props, "mean");
         variance = getAsDouble(props, "variance");
-        connected = getAsBoolean(props, KEY_CONNECTED);
         absoluteTolerance = getAsDouble(props, KEY_TOLERANCE_ABSOLUTE);
         absoluteToleranceHp = getAsDouble(props, KEY_TOLERANCE_ABSOLUTE_HP);
         relativeTolerance = getAsDouble(props, KEY_TOLERANCE_RELATIVE);
@@ -868,15 +863,6 @@ abstract class DistributionTestData {
     }
 
     /**
-     * Checks if the support is connected (continuous from lower to upper bound).
-     *
-     * @return true if the support is connected
-     */
-    boolean isConnected() {
-        return connected;
-    }
-
-    /**
      * Gets the absolute tolerance used when comparing expected and actual results.
      *
      * @return the absolute tolerance