diff options
author | Alan Hayward <alan.hayward@arm.com> | 2018-03-19 10:26:29 +0000 |
---|---|---|
committer | Alan Hayward <alan.hayward@arm.com> | 2018-03-19 10:26:29 +0000 |
commit | 96709319a913282f0efeb5ffbb71a40dfdc68dee (patch) | |
tree | 8855f2b24c79d9d9b9edb1ad2e2990b0a3e2d7a9 /math/s_cos.c | |
parent | e353e4975195902e3d3f867681c4ea79ceae809e (diff) | |
download | arm-optimized-routines-96709319a913282f0efeb5ffbb71a40dfdc68dee.tar.gz |
Remove (s|k)_(sin|cos|tan) routines
Diffstat (limited to 'math/s_cos.c')
-rw-r--r-- | math/s_cos.c | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/math/s_cos.c b/math/s_cos.c deleted file mode 100644 index 5b500a7..0000000 --- a/math/s_cos.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * s_cos.c - double precision cosine function - * - * Copyright (C) 1998-2015, ARM Limited, All Rights Reserved - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * This file is part of the Optimized Routines project - */ - -/* @(#)s_cos.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* cos(x) - * Return cosine function of x. - * - * kernel function: - * __kernel_sin ... sine function on [-pi/4,pi/4] - * __kernel_cos ... cosine function on [-pi/4,pi/4] - * __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 - * 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 "arm_math.h" -#include "math_private.h" - -__attribute__((const)) double -ARM__cos(double x) -{ - double y[2],z=0.0; - int n, ix; - - /* High word of x. */ - ix = __HI(x); - - /* |x| ~< pi/4 */ - ix &= 0x7fffffff; - if(ix <= 0x3fe921fb) return ARM__kernel_cos(x,z); - - /* cos(Inf) */ - else if (ix==0x7ff00000 && !__LO(x)) - return MATHERR_COS_INF(x); - /* cos(NaN) */ - else if (ix>=0x7ff00000) - return DOUBLE_INFNAN(x); - - /* argument reduction needed */ - else { - n = ARM__ieee754_rem_pio2(x,y); - switch(n&3) { - case 0: return ARM__kernel_cos(y[0],y[1]); - case 1: return -ARM__kernel_sin(y[0],y[1],1); - case 2: return -ARM__kernel_cos(y[0],y[1]); - default: return ARM__kernel_sin(y[0],y[1],1); - } - } -} |