code: public static double lanczos(final double x) {
          double sum = 0.0;
          for (int i = LANCZOS.length - 1; i > 0; --i) {
              sum += LANCZOS[i] / (x + i);
          }
          return sum + LANCZOS[0];
      }
docs: <p>
  Returns the Lanczos approximation used to compute the gamma function.
  The Lanczos approximation is related to the Gamma function by the
  following equation
  <center>
  {@code gamma(x) = sqrt(2 * pi) / x * (x + g + 0.5) ^ (x + 0.5)
  * exp(-x - g - 0.5) * lanczos(x)},
  </center>
  where {@code g} is the Lanczos constant.
  </p>
  
  @param x Argument.
  @return The Lanczos approximation.
  @see <a href="http://mathworld.wolfram.com/LanczosApproximation.html">Lanczos Approximation</a>
  equations (1) through (5), and Paul Godfrey's
  <a href="http://my.fit.edu/~gabdo/gamma.txt">Note on the computation
  of the convergent Lanczos complex Gamma approximation</a>
  @since 3.1