1 /* @(#)w_sqrt.c 5.1 93/09/24 */
2 /*
3 * ====================================================
4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
5 *
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
9 * is preserved.
10 * ====================================================
11 */
12
13 #include <sys/cdefs.h>
14 __RCSID("$NetBSD: w_sqrtl.c,v 1.2 2013/11/20 11:39:00 joerg Exp $");
15
16 /*
17 * wrapper sqrtl(x)
18 */
19
20 #include "namespace.h"
21 #include "math.h"
22 #include "math_private.h"
23
24 #ifdef __HAVE_LONG_DOUBLE
25
__weak_alias(sqrtl,_sqrtl)26 __weak_alias(sqrtl, _sqrtl)
27
28 long double
29 sqrtl(long double x) /* wrapper sqrtl */
30 {
31 #ifdef _IEEE_LIBM
32 return __ieee754_sqrtl(x);
33 #else
34 long double z;
35 z = __ieee754_sqrtl(x);
36 if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
37 if(x<0.0) {
38 return __kernel_standard(x,x,226); /* sqrtl(negative) */
39 } else
40 return z;
41 #endif
42 }
43
44 #endif /* __HAVE_LONG_DOUBLE */
45