Files
seta75D 2e8a93c394 Init
2021-10-11 18:20:23 -03:00

39 lines
772 B
C

#ifndef lint
static char sccsid[] = "@(#)d_sind.c 1.1 92/07/30 SMI";
#endif
/*
* Copyright (c) 1988 by Sun Microsystems, Inc.
*/
/*
* VMS Fortran compatibility function:
* sine of an angle expressed in degrees.
*/
#include <math.h>
static double pi_180 = 0.017453292519943295769;
double d_sind(x)
double *x;
{
double y,z;
int i;
if(!finite(*x)) return *x-(*x);
z = fmod(*x,360.0);
y = fabs(z);
i = signbit(z);
switch ((int)(y/45.0)) {
case 0: y = sin(y*pi_180); break;
case 1:
case 2: y = cos((90.0-y)*pi_180); break;
case 3:
case 4: y = sin((180.0-y)*pi_180); break;
case 5:
case 6: y = -cos((y-270.0)*pi_180); break;
default: y = sin((y-360.0)*pi_180); break;
}
return (i==0)? y: -y;
}