Fix exp2 errno setting on underflow (bug 16283).
[jlayton/glibc.git] / math / w_coshl.c
1 /* w_acoshl.c -- long double version of w_acosh.c.
2  * Conversion to long double by Ulrich Drepper,
3  * Cygnus Support, drepper@cygnus.com.
4  * Optimizations bu Ulrich Drepper <drepper@gmail.com>, 2011.
5  */
6
7 /*
8  * ====================================================
9  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
10  *
11  * Developed at SunPro, a Sun Microsystems, Inc. business.
12  * Permission to use, copy, modify, and distribute this
13  * software is freely granted, provided that this notice
14  * is preserved.
15  * ====================================================
16  */
17
18 /*
19  * wrapper coshl(x)
20  */
21
22 #include <math.h>
23 #include <math_private.h>
24
25 long double
26 __coshl (long double x)
27 {
28         long double z = __ieee754_coshl (x);
29         if (__builtin_expect (!__finitel (z), 0) && __finitel (x)
30             && _LIB_VERSION != _IEEE_)
31                 return __kernel_standard_l (x, x, 205); /* cosh overflow */
32
33         return z;
34 }
35 weak_alias (__coshl, coshl)