mirror of
https://sourceware.org/git/glibc.git
synced 2025-05-30 04:04:54 +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:
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>
|
2017-09-13 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
* math/w_scalbln_template.c (strong_alias): Do not undefine and
|
* 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 <math.h>
|
||||||
#include <stdio.h>
|
#include <math_private.h>
|
||||||
#include <errno.h>
|
#include <math-svid-compat.h>
|
||||||
|
|
||||||
long double
|
#if LIBM_SVID_COMPAT
|
||||||
__expl(long double x)
|
long double __expl(long double x) /* wrapper exp */
|
||||||
{
|
{
|
||||||
fputs ("__expl not implemented\n", stderr);
|
# ifdef _IEEE_LIBM
|
||||||
__set_errno (ENOSYS);
|
return __ieee754_expl(x);
|
||||||
return 0.0;
|
# 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)
|
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 <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)
|
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
|
||||||
compat_symbol (libm, __exp, expl, GLIBC_2_0);
|
compat_symbol (libm, __exp, expl, GLIBC_2_0);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
#undef weak_alias
|
#undef weak_alias
|
||||||
#define weak_alias(n,a)
|
#define weak_alias(n,a)
|
||||||
#include <sysdeps/ieee754/ldbl-128/w_expl_compat.c>
|
#include <math/w_expl_compat.c>
|
||||||
#if LIBM_SVID_COMPAT
|
#if LIBM_SVID_COMPAT
|
||||||
long_double_symbol (libm, __expl, expl);
|
long_double_symbol (libm, __expl, expl);
|
||||||
#endif
|
#endif
|
Loading…
x
Reference in New Issue
Block a user