dcosdg.f 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. *DECK DCOSDG
  2. DOUBLE PRECISION FUNCTION DCOSDG (X)
  3. C***BEGIN PROLOGUE DCOSDG
  4. C***PURPOSE Compute the cosine of an argument in degrees.
  5. C***LIBRARY SLATEC (FNLIB)
  6. C***CATEGORY C4A
  7. C***TYPE DOUBLE PRECISION (COSDG-S, DCOSDG-D)
  8. C***KEYWORDS COSINE, DEGREES, ELEMENTARY FUNCTIONS, FNLIB,
  9. C TRIGONOMETRIC
  10. C***AUTHOR Fullerton, W., (LANL)
  11. C***DESCRIPTION
  12. C
  13. C DCOSDG(X) calculates the double precision trigonometric cosine
  14. C for double precision argument X in units of degrees.
  15. C
  16. C***REFERENCES (NONE)
  17. C***ROUTINES CALLED (NONE)
  18. C***REVISION HISTORY (YYMMDD)
  19. C 770601 DATE WRITTEN
  20. C 890531 Changed all specific intrinsics to generic. (WRB)
  21. C 890531 REVISION DATE from Version 3.2
  22. C 891214 Prologue converted to Version 4.0 format. (BAB)
  23. C***END PROLOGUE DCOSDG
  24. DOUBLE PRECISION X, RADDEG
  25. SAVE RADDEG
  26. DATA RADDEG / 0.0174532925 1994329576 9236907684 886 D0 /
  27. C***FIRST EXECUTABLE STATEMENT DCOSDG
  28. DCOSDG = COS (RADDEG*X)
  29. C
  30. IF (MOD(X,90.D0).NE.0.D0) RETURN
  31. N = ABS(X)/90.D0 + 0.5D0
  32. N = MOD (N, 2)
  33. IF (N.EQ.0) DCOSDG = SIGN (1.0D0, DCOSDG)
  34. IF (N.EQ.1) DCOSDG = 0.0D0
  35. C
  36. RETURN
  37. END