Print this page
11210 libm should be cstyle(1ONBLD) clean
@@ -16,35 +16,41 @@
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
+
/*
* Copyright 2011 Nexenta Systems, Inc. All rights reserved.
*/
+
/*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma weak __coshf = coshf
#include "libm.h"
float
-coshf(float x) {
+coshf(float x)
+{
double c;
float w;
int ix;
ix = *(int *)&x & ~0x80000000;
+
if (ix >= 0x7f800000) {
/* coshf(x) is |x| if x is +-Inf or NaN */
return (x * x);
}
+
if (ix >= 0x43000000) /* coshf(x) trivially overflows */
c = 1.0e100;
else
c = cosh((double)x);
+
w = (float)c;
return (w);
}