*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