mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-08 14:20:07 +00: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:
parent
0fc56478a9
commit
bcea7ad608
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
||||
2017-09-13 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||||
|
||||
* 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.
|
||||
|
||||
2017-09-13 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* math/w_scalbln_template.c (strong_alias): Do not undefine and
|
||||
|
@ -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
|
||||
|
@ -1,45 +0,0 @@
|
||||
/* 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 <math_private.h>
|
||||
#include <math-svid-compat.h>
|
||||
|
||||
#if LIBM_SVID_COMPAT
|
||||
long double __expl(long double x) /* wrapper exp */
|
||||
{
|
||||
# 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
|
@ -1,24 +0,0 @@
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
#include <math-svid-compat.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
|
||||
#if LIBM_SVID_COMPAT
|
||||
long double __expl(long double x) /* wrapper exp */
|
||||
{
|
||||
long double z;
|
||||
z = __ieee754_expl(x);
|
||||
if (_LIB_VERSION == _IEEE_)
|
||||
return z;
|
||||
if (isfinite(x))
|
||||
{
|
||||
if (!isfinite (z))
|
||||
return __kernel_standard_l(x,x,206); /* exp overflow */
|
||||
else if (z == 0.0L)
|
||||
return __kernel_standard_l(x,x,207); /* exp underflow */
|
||||
}
|
||||
return z;
|
||||
}
|
||||
hidden_def (__expl)
|
||||
long_double_symbol (libm, __expl, expl);
|
||||
#endif
|
@ -1,37 +0,0 @@
|
||||
/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
#include <math-svid-compat.h>
|
||||
|
||||
#if LIBM_SVID_COMPAT
|
||||
/* wrapper expl */
|
||||
long double
|
||||
__expl (long double x)
|
||||
{
|
||||
long double z = __ieee754_expl (x);
|
||||
if (__builtin_expect (!isfinite (z) || z == 0, 0)
|
||||
&& isfinite (x) && _LIB_VERSION != _IEEE_)
|
||||
return __kernel_standard_l (x, x, 206 + !!signbit (x));
|
||||
|
||||
return z;
|
||||
}
|
||||
hidden_def (__expl)
|
||||
weak_alias (__expl, expl)
|
||||
#endif
|
@ -1,5 +1,5 @@
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <sysdeps/ieee754/dbl-64/w_exp_compat.c>
|
||||
#include <math/w_exp_compat.c>
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
|
||||
compat_symbol (libm, __exp, expl, GLIBC_2_0);
|
||||
#endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <math_ldbl_opt.h>
|
||||
#undef weak_alias
|
||||
#define weak_alias(n,a)
|
||||
#include <sysdeps/ieee754/ldbl-128/w_expl_compat.c>
|
||||
#include <math/w_expl_compat.c>
|
||||
#if LIBM_SVID_COMPAT
|
||||
long_double_symbol (libm, __expl, expl);
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user