Fix exp2 errno setting on underflow (bug 16283).
[jlayton/glibc.git] / math / w_hypotf.c
1 /* w_hypotf.c -- float version of w_hypot.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 hypotf(x,y)
18  */
19
20 #include <math.h>
21 #include <math_private.h>
22
23
24 float
25 __hypotf(float x, float y)
26 {
27         float z = __ieee754_hypotf(x,y);
28         if(__builtin_expect(!__finitef(z), 0)
29            && __finitef(x) && __finitef(y) && _LIB_VERSION != _IEEE_)
30             /* hypot overflow */
31             return __kernel_standard_f(x, y, 104);
32
33         return z;
34 }
35 weak_alias (__hypotf, hypotf)