docs: public static double logGamma(final double x) {
      if(Double.isNaN(x) || (x <= 0.0)) {
        return Double.NaN;
      }
      double g = 607.0 / 128.0;
      double tmp = x + g + .5;
      tmp = (x + 0.5) * FastMath.log(tmp) - tmp;
      double ser = LANCZOS[0];
      for(int i = LANCZOS.length - 1; i > 0; --i) {
        ser += LANCZOS[i] / (x + i);
      }
      return tmp + FastMath.log(MathUtil.SQRTTWOPI * ser / x);
    }