1 /* @(#)w_hypot.c 5.1 93/09/24 */
3 * ====================================================
4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
6 * Developed at SunPro, a Sun Microsystems, Inc. business.
7 * Permission to use, copy, modify, and distribute this
8 * software is freely granted, provided that this notice
10 * ====================================================
18 #include <math_private.h>
19 #include <math-svid-compat.h>
20 #include <libm-alias-double.h>
23 #if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_35)
25 __hypot_compat (double x
, double y
)
27 double z
= __ieee754_hypot(x
,y
);
28 if(__builtin_expect(!isfinite(z
), 0)
29 && isfinite(x
) && isfinite(y
) && _LIB_VERSION
!= _IEEE_
)
30 return __kernel_standard(x
, y
, 4); /* hypot overflow */
34 compat_symbol (libm
, __hypot_compat
, hypot
, GLIBC_2_0
);
35 # ifdef NO_LONG_DOUBLE
36 weak_alias (__hypot_compat
, hypotl
)
38 # ifdef LONG_DOUBLE_COMPAT
39 LONG_DOUBLE_COMPAT_CHOOSE_libm_hypotl (
40 compat_symbol (libm
, __hypot_compat
, hypotl
, FIRST_VERSION_libm_hypotl
), );