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 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