dli.f 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. *DECK DLI
  2. DOUBLE PRECISION FUNCTION DLI (X)
  3. C***BEGIN PROLOGUE DLI
  4. C***PURPOSE Compute the logarithmic integral.
  5. C***LIBRARY SLATEC (FNLIB)
  6. C***CATEGORY C5
  7. C***TYPE DOUBLE PRECISION (ALI-S, DLI-D)
  8. C***KEYWORDS FNLIB, LOGARITHMIC INTEGRAL, SPECIAL FUNCTIONS
  9. C***AUTHOR Fullerton, W., (LANL)
  10. C***DESCRIPTION
  11. C
  12. C DLI(X) calculates the double precision logarithmic integral
  13. C for double precision argument X.
  14. C
  15. C***REFERENCES (NONE)
  16. C***ROUTINES CALLED DEI, XERMSG
  17. C***REVISION HISTORY (YYMMDD)
  18. C 770701 DATE WRITTEN
  19. C 890531 Changed all specific intrinsics to generic. (WRB)
  20. C 890531 REVISION DATE from Version 3.2
  21. C 891214 Prologue converted to Version 4.0 format. (BAB)
  22. C 900315 CALLs to XERROR changed to CALLs to XERMSG. (THJ)
  23. C***END PROLOGUE DLI
  24. DOUBLE PRECISION X, DEI
  25. C***FIRST EXECUTABLE STATEMENT DLI
  26. IF (X .LE. 0.D0) CALL XERMSG ('SLATEC', 'DLI',
  27. + 'LOG INTEGRAL UNDEFINED FOR X LE 0', 1, 2)
  28. IF (X .EQ. 1.D0) CALL XERMSG ('SLATEC', 'DLI',
  29. + 'LOG INTEGRAL UNDEFINED FOR X = 0', 2, 2)
  30. C
  31. DLI = DEI (LOG(X))
  32. C
  33. RETURN
  34. END