GeneralizedParetoDistribution implements ProbabilityDistribution<Double> { @Override public double getCDF(final Double x) { Validate.notNull(x); return 1 - Math.pow(1 + _ksi * getZ(x), -1. / _ksi); } GeneralizedParetoDistribution(final double mu, final double sigma, final double ksi);  GeneralizedParetoDistribution(final double mu, final double sigma, final double ksi, final RandomEngine engine); double getMu(); double getSigma(); double getKsi(); @Override double getCDF(final Double x); @Override double getInverseCDF(final Double p); @Override double getPDF(final Double x); @Override double nextRandom(); @Override int hashCode(); @Override boolean equals(final Object obj);  }
@Test public void testSupport() { ProbabilityDistribution<Double> dist = new GeneralizedParetoDistribution(MU, SIGMA, KSI, ENGINE); assertLimit(dist, MU - EPS); assertEquals(dist.getCDF(MU + EPS), 0, EPS); assertEquals(dist.getCDF(LARGE_X), 1, EPS); dist = new GeneralizedParetoDistribution(MU, SIGMA, -KSI); final double limit = MU + SIGMA / KSI; assertLimit(dist, MU - EPS); assertLimit(dist, limit + EPS); assertEquals(dist.getCDF(MU + EPS), 0, EPS); assertEquals(dist.getCDF(limit - 1e-15), 1, EPS); }