dlgams.f 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. *DECK DLGAMS
  2. SUBROUTINE DLGAMS (X, DLGAM, SGNGAM)
  3. C***BEGIN PROLOGUE DLGAMS
  4. C***PURPOSE Compute the logarithm of the absolute value of the Gamma
  5. C function.
  6. C***LIBRARY SLATEC (FNLIB)
  7. C***CATEGORY C7A
  8. C***TYPE DOUBLE PRECISION (ALGAMS-S, DLGAMS-D)
  9. C***KEYWORDS ABSOLUTE VALUE OF THE LOGARITHM OF THE GAMMA FUNCTION,
  10. C FNLIB, SPECIAL FUNCTIONS
  11. C***AUTHOR Fullerton, W., (LANL)
  12. C***DESCRIPTION
  13. C
  14. C DLGAMS(X,DLGAM,SGNGAM) calculates the double precision natural
  15. C logarithm of the absolute value of the Gamma function for
  16. C double precision argument X and stores the result in double
  17. C precision argument DLGAM.
  18. C
  19. C***REFERENCES (NONE)
  20. C***ROUTINES CALLED DLNGAM
  21. C***REVISION HISTORY (YYMMDD)
  22. C 770701 DATE WRITTEN
  23. C 890531 Changed all specific intrinsics to generic. (WRB)
  24. C 890531 REVISION DATE from Version 3.2
  25. C 891214 Prologue converted to Version 4.0 format. (BAB)
  26. C***END PROLOGUE DLGAMS
  27. DOUBLE PRECISION X, DLGAM, SGNGAM, DLNGAM
  28. C***FIRST EXECUTABLE STATEMENT DLGAMS
  29. DLGAM = DLNGAM(X)
  30. SGNGAM = 1.0D0
  31. IF (X.GT.0.D0) RETURN
  32. C
  33. INT = MOD (-AINT(X), 2.0D0) + 0.1D0
  34. IF (INT.EQ.0) SGNGAM = -1.0D0
  35. C
  36. RETURN
  37. END