mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Move exp compat wrappers under math/
Move exp compat wrappers to math/w_exp{,f,l}_compat.c to be consistent with other wrappers. * sysdeps/ieee754/dbl-64/w_exp_compat.c: Move to... * math/w_exp_compat.c: ... here. * sysdeps/ieee754/flt-32/w_expf_compat.c: Move to... * math/w_expf_compat.c: ... here. * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Move to... * math/w_expl_compat.c: ... here. * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Remove. * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Remove. * sysdeps/ieee754/ldbl-opt/w_exp_compat.c: Use the new path. * sysdeps/ieee754/ldbl-opt/w_expl_compat.c: Likewise.
This commit is contained in:
@ -1,13 +1,45 @@
|
||||
/* w_expl.c -- long double version of w_exp.c.
|
||||
* Conversion to long double by Ulrich Drepper,
|
||||
* Cygnus Support, drepper@cygnus.com.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ====================================================
|
||||
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
* Permission to use, copy, modify, and distribute this
|
||||
* software is freely granted, provided that this notice
|
||||
* is preserved.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
#if defined(LIBM_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$NetBSD: $";
|
||||
#endif
|
||||
|
||||
/*
|
||||
* wrapper expl(x)
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <math_private.h>
|
||||
#include <math-svid-compat.h>
|
||||
|
||||
long double
|
||||
__expl(long double x)
|
||||
#if LIBM_SVID_COMPAT
|
||||
long double __expl(long double x) /* wrapper exp */
|
||||
{
|
||||
fputs ("__expl not implemented\n", stderr);
|
||||
__set_errno (ENOSYS);
|
||||
return 0.0;
|
||||
}
|
||||
# ifdef _IEEE_LIBM
|
||||
return __ieee754_expl(x);
|
||||
# else
|
||||
long double z = __ieee754_expl (x);
|
||||
if (__glibc_unlikely (!isfinite (z) || z == 0)
|
||||
&& isfinite (x) && _LIB_VERSION != _IEEE_)
|
||||
return __kernel_standard_l (x, x, 206 + !!signbit (x));
|
||||
|
||||
return z;
|
||||
# endif
|
||||
}
|
||||
hidden_def (__expl)
|
||||
weak_alias (__expl, expl)
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user