diff options
Diffstat (limited to 'lib/msun/src/s_cosf.c')
-rw-r--r-- | lib/msun/src/s_cosf.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/msun/src/s_cosf.c b/lib/msun/src/s_cosf.c index 2d65ee9..3a3b891 100644 --- a/lib/msun/src/s_cosf.c +++ b/lib/msun/src/s_cosf.c @@ -34,7 +34,7 @@ c4pio2 = 4*M_PI_2; /* 0x401921FB, 0x54442D18 */ float cosf(float x) { - float y[2]; + double y; int32_t n, hx, ix; GET_FLOAT_WORD(hx,x); @@ -71,13 +71,13 @@ cosf(float x) /* general argument reduction needed */ else { - n = __ieee754_rem_pio2f(x,y); + n = __ieee754_rem_pio2f(x,&y); switch(n&3) { - case 0: return __kernel_cosdf((double)y[0]+y[1]); - case 1: return __kernel_sindf(-(double)y[0]-y[1]); - case 2: return -__kernel_cosdf((double)y[0]+y[1]); + case 0: return __kernel_cosdf(y); + case 1: return __kernel_sindf(-y); + case 2: return -__kernel_cosdf(y); default: - return __kernel_sindf((double)y[0]+y[1]); + return __kernel_sindf(y); } } } |