blob: e2c676517f3a114a8bd549a5c0c677155496e650 [file] [log] [blame]
The Android Open Source Projectb07e1d92009-03-03 19:29:30 -08001
2/* @(#)w_hypot.c 1.3 95/01/18 */
3/*
4 * ====================================================
5 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
6 *
7 * Developed at SunSoft, a Sun Microsystems, Inc. business.
8 * Permission to use, copy, modify, and distribute this
9 * software is freely granted, provided that this notice
10 * is preserved.
11 * ====================================================
12 */
13
14/*
15 * wrapper ieee_hypot(x,y)
16 */
17
18#include "fdlibm.h"
19
20
21#ifdef __STDC__
22 double ieee_hypot(double x, double y)/* wrapper hypot */
23#else
24 double ieee_hypot(x,y) /* wrapper hypot */
25 double x,y;
26#endif
27{
28#ifdef _IEEE_LIBM
29 return __ieee754_hypot(x,y);
30#else
31 double z;
32 z = __ieee754_hypot(x,y);
33 if(_LIB_VERSION == _IEEE_) return z;
34 if((!ieee_finite(z))&&ieee_finite(x)&&ieee_finite(y))
35 return __kernel_standard(x,y,4); /* hypot overflow */
36 else
37 return z;
38#endif
39}