Clean up complex.h handling of float128.
[glibc.git] / math / w_hypotf_compat.c
blob82870ce5512f5ebebc39fc375a901590169802a1
1 /* w_hypotf.c -- float version of w_hypot.c.
2 * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
3 */
5 /*
6 * ====================================================
7 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
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 * ====================================================
17 * wrapper hypotf(x,y)
20 #include <math.h>
21 #include <math_private.h>
22 #include <math-svid-compat.h>
23 #include <libm-alias-float.h>
26 #if LIBM_SVID_COMPAT
27 float
28 __hypotf(float x, float y)
30 float z = __ieee754_hypotf(x,y);
31 if(__builtin_expect(!isfinite(z), 0)
32 && isfinite(x) && isfinite(y) && _LIB_VERSION != _IEEE_)
33 /* hypot overflow */
34 return __kernel_standard_f(x, y, 104);
36 return z;
38 libm_alias_float (__hypot, hypot)
39 #endif