summaryrefslogtreecommitdiff
path: root/native/fdlibm/s_sin.c
diff options
context:
space:
mode:
Diffstat (limited to 'native/fdlibm/s_sin.c')
-rw-r--r--native/fdlibm/s_sin.c70
1 files changed, 8 insertions, 62 deletions
diff --git a/native/fdlibm/s_sin.c b/native/fdlibm/s_sin.c
index d31545554..43394e577 100644
--- a/native/fdlibm/s_sin.c
+++ b/native/fdlibm/s_sin.c
@@ -1,66 +1,16 @@
-/* @(#)s_sin.c 5.1 93/09/24 */
+/* @(#)s_sin.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
- * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
+ * software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
-/*
-FUNCTION
- <<sin>>, <<sinf>>, <<cos>>, <<cosf>>---sine or cosine
-INDEX
-sin
-INDEX
-sinf
-INDEX
-cos
-INDEX
-cosf
-ANSI_SYNOPSIS
- #include <math.h>
- double sin(double <[x]>);
- float sinf(float <[x]>);
- double cos(double <[x]>);
- float cosf(float <[x]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double sin(<[x]>)
- double <[x]>;
- float sinf(<[x]>)
- float <[x]>;
-
- double cos(<[x]>)
- double <[x]>;
- float cosf(<[x]>)
- float <[x]>;
-
-DESCRIPTION
- <<sin>> and <<cos>> compute (respectively) the sine and cosine
- of the argument <[x]>. Angles are specified in radians.
-
- <<sinf>> and <<cosf>> are identical, save that they take and
- return <<float>> values.
-
-
-RETURNS
- The sine or cosine of <[x]> is returned.
-
-PORTABILITY
- <<sin>> and <<cos>> are ANSI C.
- <<sinf>> and <<cosf>> are extensions.
-
-QUICKREF
- sin ansi pure
- sinf - pure
-*/
-
/* sin(x)
* Return sine function of x.
*
@@ -70,8 +20,8 @@ QUICKREF
* __ieee754_rem_pio2 ... argument reduction routine
*
* Method.
- * Let S,C and T denote the sin, cos and tan respectively on
- * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
+ * Let S,C and T denote the sin, cos and tan respectively on
+ * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
* in [-pi/4 , +pi/4], and let n = k mod 4.
* We have
*
@@ -89,13 +39,11 @@ QUICKREF
* trig(NaN) is that NaN;
*
* Accuracy:
- * TRIG(x) returns trig(x) nearly rounded
+ * TRIG(x) returns trig(x) nearly rounded
*/
#include "fdlibm.h"
-#ifndef _DOUBLE_IS_32BITS
-
#ifdef __STDC__
double sin(double x)
#else
@@ -104,10 +52,10 @@ QUICKREF
#endif
{
double y[2],z=0.0;
- int32_t n,ix;
+ int n, ix;
/* High word of x. */
- GET_HIGH_WORD(ix,x);
+ ix = __HI(x);
/* |x| ~< pi/4 */
ix &= 0x7fffffff;
@@ -128,5 +76,3 @@ QUICKREF
}
}
}
-
-#endif /* _DOUBLE_IS_32BITS */