comparison libquadmath/math/sinq.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents 561a7518be6b
children 1830386684a0
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 /* s_sinl.c -- long double version of s_sin.c. 1 /* sinq.c -- __float128 version of s_sin.c.
2 * Conversion to long double by Jakub Jelinek, jj@ultra.linux.cz. 2 * Conversion to long double by Jakub Jelinek, jj@ultra.linux.cz.
3 */ 3 */
4 4
5 /* 5 /*
6 * ==================================================== 6 * ====================================================
11 * software is freely granted, provided that this notice 11 * software is freely granted, provided that this notice
12 * is preserved. 12 * is preserved.
13 * ==================================================== 13 * ====================================================
14 */ 14 */
15 15
16 /* sinl(x) 16 /* sinq(x)
17 * Return sine function of x. 17 * Return sine function of x.
18 * 18 *
19 * kernel function: 19 * kernel function:
20 * __kernel_sinl ... sine function on [-pi/4,pi/4] 20 * __quadmath_kernel_sinq ... sine function on [-pi/4,pi/4]
21 * __kernel_cosl ... cose function on [-pi/4,pi/4] 21 * __quadmath_kernel_cosq ... cose function on [-pi/4,pi/4]
22 * __ieee754_rem_pio2l ... argument reduction routine 22 * __quadmath_rem_pio2q ... argument reduction routine
23 * 23 *
24 * Method. 24 * Method.
25 * Let S,C and T denote the sin, cos and tan respectively on 25 * Let S,C and T denote the sin, cos and tan respectively on
26 * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 26 * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
27 * in [-pi/4 , +pi/4], and let n = k mod 4. 27 * in [-pi/4 , +pi/4], and let n = k mod 4.