C+ C NAME: C GAMMALN C PURPOSE: C Calculate natural logarithm of gamma function for X>1 C CATEGORY: C Math: special functions C CALLING SEQUENCE: function GAMMALN(XX) C INPUTS: C XX real*4 (read-only) x-value where gamma fnc is evaluated C OUTPUTS: C GAMMALN real*4 logarithm of gamma function in X C SIDE EFFECTS: C RESTRICTIONS: C PROCEDURE: C Lanczos formulae. Calculations are performed in double precision. C MODIFICATION HISTORY: C Numerical Recipes, p. 157. C- real XX double precision COF(6) /76.18009173d0,-86.50532033d0,24.01409822d0, & -1.231739516d0,.120858003d-2,-.536382d-5/ double precision STP /2.50662827465d0/ double precision HALF /0.5d0/ double precision ONE /1.0d0/ double precision FPF /5.5d0/ double precision X double precision TMP double precision SER X = XX-ONE TMP = X+FPF TMP = (X+HALF)*LOG(TMP)-TMP SER = ONE do J=1,6 X = X+ONE SER = SER+COF(J)/X end do GAMMALN = TMP+log(STP*SER) return end