1 /* w_sinhf.c -- float version of w_sinh.c.
2  * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
3  */
4 
5 /*
6  * ====================================================
7  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
8  *
9  * Developed at SunPro, a Sun Microsystems, Inc. business.
10  * Permission to use, copy, modify, and distribute this
11  * software is freely granted, provided that this notice
12  * is preserved.
13  * ====================================================
14  */
15 
16 /*
17  * wrapper sinhf(x)
18  */
19 
20 #include <math.h>
21 #include "math_private.h"
22 
23 float
sinhf(float x)24 sinhf (float x)
25 {
26 #if defined(__UCLIBC_HAS_FENV__)
27 	float z = (float) __ieee754_sinh ((double) x);
28 	if (__builtin_expect (!isfinite (z), 0) && isfinite (x)
29 	    && _LIB_VERSION != _IEEE_)
30 	    return __kernel_standard_f (x, x, 125); /* sinhf overflow */
31 
32 	return z;
33 #else
34 	return (float) __ieee754_sinh ((double) x);
35 #endif
36 }
37 
38