bief_gammln.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\bief_gammln.f
00002 !
00037                    DOUBLE PRECISION FUNCTION BIEF_GAMMLN
00038 !                  *************************************
00039 !
00040      &(XX)
00041 !
00042 !***********************************************************************
00043 ! BIEF   V6P3                                   07/03/2013
00044 !***********************************************************************
00045 !
00046 !
00047 !
00048 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00049 !| XX             |-->| OPERAND
00050 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00051 !
00052 !     USE BIEF
00053 !
00054       IMPLICIT NONE
00055       INTEGER LNG,LU
00056       COMMON/INFO/LNG,LU
00057 !
00058 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00059 !
00060       DOUBLE PRECISION, INTENT(IN) :: XX
00061 !
00062 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00063 !
00064       INTEGER J
00065       DOUBLE PRECISION COF(6),STP,HALF,ONE,FPF,X,TMP,SER
00066       DATA COF,STP/76.18009173D0,-86.50532033D0,24.01409822D0,
00067      &     -1.231739516D0,0.120858003D-2,-0.536382D-5,2.506628727465D0/
00068       DATA HALF,ONE,FPF/0.5D0,1.D0,5.5D0/
00069 !
00070       INTRINSIC LOG
00071 !
00072 !-----------------------------------------------------------------------
00073 !
00074       X   = XX - ONE
00075       TMP = X + FPF
00076       TMP = (X+HALF)*LOG(TMP) - TMP
00077       SER = ONE
00078 !
00079       DO J = 1,6
00080         X   = X + ONE
00081         SER = SER + COF(J)/X
00082       ENDDO
00083 !
00084       BIEF_GAMMLN = TMP + LOG(STP*SER)
00085 !
00086 !-----------------------------------------------------------------------
00087 !
00088       RETURN
00089       END

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0