docs: public static double quantile(double val, double mu, double sigma, double k) {
      if(val < 0.0 || val > 1.0) {
        return Double.NaN;
      }
      if(k < 0) {
        return mu + sigma * Math.max((1. - FastMath.pow(-FastMath.log(val), k)) / k, 1. / k);
      }
      else if(k > 0) {
        return mu + sigma * Math.min((1. - FastMath.pow(-FastMath.log(val), k)) / k, 1. / k);
      }
      else { // Gumbel
        return mu + sigma * FastMath.log(1. / FastMath.log(1. / val));
      }
    }