code: public static double cdf(double x, double k, double theta, double shift) {
      if(x == Double.NEGATIVE_INFINITY) {
        return 0.;
      }
      if(x == Double.POSITIVE_INFINITY) {
        return 1.;
      }
      if(x != x) {
        return Double.NaN;
      }
      final double e = FastMath.exp((x - shift) * theta);
      return e < Double.POSITIVE_INFINITY ? GammaDistribution.regularizedGammaP(k, e) : 1.;
    }
docs: The CDF, static version.
  
  @param x Value
  @param k Shape k
  @param theta Theta = 1.0/Beta aka. "scaling" parameter
  @return cdf value