Print this page
11210 libm should be cstyle(1ONBLD) clean

*** 20,38 **** */ /* * Copyright 2011 Nexenta Systems, Inc. All rights reserved. */ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma weak __cosl = cosl ! /* INDENT OFF */ ! /* cosl(x) * Table look-up algorithm by K.C. Ng, November, 1989. * * kernel function: * __k_sinl ... sin function on [-pi/4,pi/4] * __k_cosl ... cos function on [-pi/4,pi/4] --- 20,40 ---- */ /* * Copyright 2011 Nexenta Systems, Inc. All rights reserved. */ + /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma weak __cosl = cosl ! /* BEGIN CSTYLED */ ! /* ! * cosl(x) * Table look-up algorithm by K.C. Ng, November, 1989. * * kernel function: * __k_sinl ... sin function on [-pi/4,pi/4] * __k_cosl ... cos function on [-pi/4,pi/4]
*** 58,108 **** * trig(NaN) is that NaN; * * Accuracy: * computer TRIG(x) returns trig(x) nearly rounded. */ ! /* INDENT ON */ #include "libm.h" #include "longdouble.h" #include <sys/isa_defs.h> long double ! cosl(long double x) { long double y[2], z = 0.0L; int n, ix; ! int *px = (int *) &x; /* trig(Inf or NaN) is NaN */ if (!finitel(x)) ! return x - x; /* High word of x. */ #if defined(__i386) || defined(__amd64) XTOI(px, ix); #else ix = px[0]; #endif /* |x| ~< pi/4 */ ix &= 0x7fffffff; - if (ix <= 0x3ffe9220) - return __k_cosl(x, z); /* argument reduction needed */ else { n = __rem_pio2l(x, y); switch (n & 3) { case 0: ! return __k_cosl(y[0], y[1]); case 1: ! return -__k_sinl(y[0], y[1]); case 2: ! return -__k_cosl(y[0], y[1]); case 3: ! return __k_sinl(y[0], y[1]); /* NOTREACHED */ } } ! return 0.0L; } --- 60,114 ---- * trig(NaN) is that NaN; * * Accuracy: * computer TRIG(x) returns trig(x) nearly rounded. */ ! /* END CSTYLED */ #include "libm.h" #include "longdouble.h" #include <sys/isa_defs.h> long double ! cosl(long double x) ! { long double y[2], z = 0.0L; int n, ix; ! int *px = (int *)&x; /* trig(Inf or NaN) is NaN */ if (!finitel(x)) ! return (x - x); /* High word of x. */ #if defined(__i386) || defined(__amd64) XTOI(px, ix); #else ix = px[0]; #endif /* |x| ~< pi/4 */ ix &= 0x7fffffff; + if (ix <= 0x3ffe9220) { + return (__k_cosl(x, z)); + } /* argument reduction needed */ else { n = __rem_pio2l(x, y); + switch (n & 3) { case 0: ! return (__k_cosl(y[0], y[1])); case 1: ! return (-__k_sinl(y[0], y[1])); case 2: ! return (-__k_cosl(y[0], y[1])); case 3: ! return (__k_sinl(y[0], y[1])); /* NOTREACHED */ } } ! ! return (0.0L); }