123456789101112131415161718192021222324252627282930313233343536 |
- *DECK DSINDG
- DOUBLE PRECISION FUNCTION DSINDG (X)
- C***BEGIN PROLOGUE DSINDG
- C***PURPOSE Compute the sine of an argument in degrees.
- C***LIBRARY SLATEC (FNLIB)
- C***CATEGORY C4A
- C***TYPE DOUBLE PRECISION (SINDG-S, DSINDG-D)
- C***KEYWORDS DEGREES, ELEMENTARY FUNCTIONS, FNLIB, SINE, TRIGONOMETRIC
- C***AUTHOR Fullerton, W., (LANL)
- C***DESCRIPTION
- C
- C DSINDG(X) calculates the double precision sine for double
- C precision argument X where X is in degrees.
- C
- C***REFERENCES (NONE)
- C***ROUTINES CALLED (NONE)
- C***REVISION HISTORY (YYMMDD)
- C 770601 DATE WRITTEN
- C 890531 Changed all specific intrinsics to generic. (WRB)
- C 890531 REVISION DATE from Version 3.2
- C 891214 Prologue converted to Version 4.0 format. (BAB)
- C***END PROLOGUE DSINDG
- DOUBLE PRECISION X, RADDEG
- SAVE RADDEG
- DATA RADDEG / 0.0174532925 1994329576 9236907684 886 D0 /
- C***FIRST EXECUTABLE STATEMENT DSINDG
- DSINDG = SIN (RADDEG*X)
- C
- IF (MOD(X,90.D0).NE.0.D0) RETURN
- N = ABS(X)/90.D0 + 0.5D0
- N = MOD (N, 2)
- IF (N.EQ.0) DSINDG = 0.D0
- IF (N.EQ.1) DSINDG = SIGN (1.0D0, DSINDG)
- C
- RETURN
- END
|