class WeibullDistribution extends AbstractRealDistribution {

    @Override
    public double inverseCumulativeProbability(double p) {
        double ret;
        if (p < 0.0 || p > 1.0) {
            throw new OutOfRangeException(p, 0.0, 1.0);
        } else if (p == 0) {
            ret = 0.0;
        } else  if (p == 1) {
            ret = Double.POSITIVE_INFINITY;
        } else {
            ret = scale * FastMath.pow(-FastMath.log1p(-p), 1.0 / shape);
        }
        return ret;
    }

    public  WeibullDistribution(double alpha, double beta);
    public  WeibullDistribution(double alpha, double beta,
                               double inverseCumAccuracy);
    public  WeibullDistribution(RandomGenerator rng, double alpha, double beta);
    public  WeibullDistribution(RandomGenerator rng,
                               double alpha,
                               double beta,
                               double inverseCumAccuracy);

}