From 5046dbb4a7eba5eccfd258f92f4735c9ffc8d069 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Thu, 8 Jun 2017 15:39:03 -0400 Subject: Prepare for radical source tree reorganization. All top-level files and directories are moved into a temporary storage directory, REORG.TODO, except for files that will certainly still exist in their current form at top level when we're done (COPYING, COPYING.LIB, LICENSES, NEWS, README), all old ChangeLog files (which are moved to the new directory OldChangeLogs, instead), and the generated file INSTALL (which is just deleted; in the new order, there will be no generated files checked into version control). --- sysdeps/ieee754/ldbl-128ibm/s_cosl.c | 88 ------------------------------------ 1 file changed, 88 deletions(-) delete mode 100644 sysdeps/ieee754/ldbl-128ibm/s_cosl.c (limited to 'sysdeps/ieee754/ldbl-128ibm/s_cosl.c') diff --git a/sysdeps/ieee754/ldbl-128ibm/s_cosl.c b/sysdeps/ieee754/ldbl-128ibm/s_cosl.c deleted file mode 100644 index 54c6cc77d2..0000000000 --- a/sysdeps/ieee754/ldbl-128ibm/s_cosl.c +++ /dev/null @@ -1,88 +0,0 @@ -/* s_cosl.c -- long double version of s_cos.c. - * Conversion to long double by Jakub Jelinek, jj@ultra.linux.cz. - */ - -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* cosl(x) - * Return cosine function of x. - * - * kernel function: - * __kernel_sinl ... sine function on [-pi/4,pi/4] - * __kernel_cosl ... cosine function on [-pi/4,pi/4] - * __ieee754_rem_pio2l ... 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 - * in [-pi/4 , +pi/4], and let n = k mod 4. - * We have - * - * n sin(x) cos(x) tan(x) - * ---------------------------------------------------------- - * 0 S C T - * 1 C -S -1/T - * 2 -S -C T - * 3 -C S -1/T - * ---------------------------------------------------------- - * - * Special cases: - * Let trig be any of sin, cos, or tan. - * trig(+-INF) is NaN, with signals; - * trig(NaN) is that NaN; - * - * Accuracy: - * TRIG(x) returns trig(x) nearly rounded - */ - -#include -#include -#include -#include - -long double __cosl(long double x) -{ - long double y[2],z=0.0L; - int64_t n, ix; - double xhi; - - /* High word of x. */ - xhi = ldbl_high (x); - EXTRACT_WORDS64 (ix, xhi); - - /* |x| ~< pi/4 */ - ix &= 0x7fffffffffffffffLL; - if(ix <= 0x3fe921fb54442d18LL) - return __kernel_cosl(x,z); - - /* cos(Inf or NaN) is NaN */ - else if (ix>=0x7ff0000000000000LL) { - if (ix == 0x7ff0000000000000LL) - __set_errno (EDOM); - return x-x; - } - /* argument reduction needed */ - else { - n = __ieee754_rem_pio2l(x,y); - switch(n&3) { - case 0: - return __kernel_cosl(y[0],y[1]); - case 1: - return -__kernel_sinl(y[0],y[1],1); - case 2: - return -__kernel_cosl(y[0],y[1]); - default: - return __kernel_sinl(y[0],y[1],1); - } - } -} -long_double_symbol (libm, __cosl, cosl); -- cgit 1.4.1