mirror of
git://sourceware.org/git/glibc.git
synced 2025-04-18 14:30:43 +08:00
Remove math-finite.h
Remove math-finite.h redirections for math functions. Passes buildmanyglibc. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
parent
e8ac1f71c8
commit
7bdb921d70
@ -1,197 +0,0 @@
|
||||
/* Entry points to finite-math-only compiler runs.
|
||||
Copyright (C) 2011-2019 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _MATH_H
|
||||
# error "Never use <bits/math-finite.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
#define __REDIRFROM(...) __REDIRFROM_X(__VA_ARGS__)
|
||||
|
||||
#define __REDIRTO(...) __REDIRTO_X(__VA_ARGS__)
|
||||
|
||||
#define __MATH_REDIRCALL_X(from, args, to) \
|
||||
extern _Mdouble_ __REDIRECT_NTH (from, args, to)
|
||||
#define __MATH_REDIRCALL(function, reentrant, args) \
|
||||
__MATH_REDIRCALL_X \
|
||||
(__REDIRFROM (function, reentrant), args, \
|
||||
__REDIRTO (function, reentrant))
|
||||
#define __MATH_REDIRCALL_2(from, reentrant, args, to) \
|
||||
__MATH_REDIRCALL_X \
|
||||
(__REDIRFROM (from, reentrant), args, \
|
||||
__REDIRTO (to, reentrant))
|
||||
|
||||
#define __MATH_REDIRCALL_INTERNAL(function, reentrant, args) \
|
||||
__MATH_REDIRCALL_X \
|
||||
(__REDIRFROM (__CONCAT (__, function), \
|
||||
__CONCAT (reentrant, _finite)), \
|
||||
args, __REDIRTO (function, _r))
|
||||
|
||||
|
||||
/* acos. */
|
||||
__MATH_REDIRCALL (acos, , (_Mdouble_));
|
||||
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
|
||||
/* acosh. */
|
||||
__MATH_REDIRCALL (acosh, , (_Mdouble_));
|
||||
#endif
|
||||
|
||||
/* asin. */
|
||||
__MATH_REDIRCALL (asin, , (_Mdouble_));
|
||||
|
||||
/* atan2. */
|
||||
__MATH_REDIRCALL (atan2, , (_Mdouble_, _Mdouble_));
|
||||
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
|
||||
/* atanh. */
|
||||
__MATH_REDIRCALL (atanh, , (_Mdouble_));
|
||||
#endif
|
||||
|
||||
/* cosh. */
|
||||
__MATH_REDIRCALL (cosh, , (_Mdouble_));
|
||||
|
||||
/* exp. */
|
||||
__MATH_REDIRCALL (exp, , (_Mdouble_));
|
||||
|
||||
#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C2X)
|
||||
/* exp10. */
|
||||
__MATH_REDIRCALL (exp10, , (_Mdouble_));
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
/* exp2. */
|
||||
__MATH_REDIRCALL (exp2, , (_Mdouble_));
|
||||
#endif
|
||||
|
||||
/* fmod. */
|
||||
__MATH_REDIRCALL (fmod, , (_Mdouble_, _Mdouble_));
|
||||
|
||||
#if defined __USE_XOPEN || defined __USE_ISOC99
|
||||
/* hypot. */
|
||||
__MATH_REDIRCALL (hypot, , (_Mdouble_, _Mdouble_));
|
||||
#endif
|
||||
|
||||
#if (__MATH_DECLARING_DOUBLE && (defined __USE_MISC || defined __USE_XOPEN)) \
|
||||
|| (!__MATH_DECLARING_DOUBLE && defined __USE_MISC)
|
||||
/* j0. */
|
||||
__MATH_REDIRCALL (j0, , (_Mdouble_));
|
||||
|
||||
/* y0. */
|
||||
__MATH_REDIRCALL (y0, , (_Mdouble_));
|
||||
|
||||
/* j1. */
|
||||
__MATH_REDIRCALL (j1, , (_Mdouble_));
|
||||
|
||||
/* y1. */
|
||||
__MATH_REDIRCALL (y1, , (_Mdouble_));
|
||||
|
||||
/* jn. */
|
||||
__MATH_REDIRCALL (jn, , (int, _Mdouble_));
|
||||
|
||||
/* yn. */
|
||||
__MATH_REDIRCALL (yn, , (int, _Mdouble_));
|
||||
#endif
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* lgamma_r. */
|
||||
__MATH_REDIRCALL (lgamma, _r, (_Mdouble_, int *));
|
||||
#endif
|
||||
|
||||
/* Redirect __lgammal_r_finite to __lgamma_r_finite when __NO_LONG_DOUBLE_MATH
|
||||
is set and to itself otherwise. It also redirects __lgamma_r_finite and
|
||||
__lgammaf_r_finite to themselves. */
|
||||
__MATH_REDIRCALL_INTERNAL (lgamma, _r, (_Mdouble_, int *));
|
||||
|
||||
#if ((defined __USE_XOPEN || defined __USE_ISOC99) \
|
||||
&& defined __extern_always_inline)
|
||||
/* lgamma. */
|
||||
__extern_always_inline _Mdouble_
|
||||
__NTH (__REDIRFROM (lgamma, ) (_Mdouble_ __d))
|
||||
{
|
||||
# if defined __USE_MISC || defined __USE_XOPEN
|
||||
return __REDIRTO (lgamma, _r) (__d, &signgam);
|
||||
# else
|
||||
int __local_signgam = 0;
|
||||
return __REDIRTO (lgamma, _r) (__d, &__local_signgam);
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ((defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)) \
|
||||
&& defined __extern_always_inline) && !__MATH_DECLARING_FLOATN
|
||||
/* gamma. */
|
||||
__extern_always_inline _Mdouble_
|
||||
__NTH (__REDIRFROM (gamma, ) (_Mdouble_ __d))
|
||||
{
|
||||
return __REDIRTO (lgamma, _r) (__d, &signgam);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* log. */
|
||||
__MATH_REDIRCALL (log, , (_Mdouble_));
|
||||
|
||||
/* log10. */
|
||||
__MATH_REDIRCALL (log10, , (_Mdouble_));
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
/* log2. */
|
||||
__MATH_REDIRCALL (log2, , (_Mdouble_));
|
||||
#endif
|
||||
|
||||
/* pow. */
|
||||
__MATH_REDIRCALL (pow, , (_Mdouble_, _Mdouble_));
|
||||
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
|
||||
/* remainder. */
|
||||
__MATH_REDIRCALL (remainder, , (_Mdouble_, _Mdouble_));
|
||||
#endif
|
||||
|
||||
#if ((__MATH_DECLARING_DOUBLE \
|
||||
&& (defined __USE_MISC \
|
||||
|| (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8))) \
|
||||
|| (!defined __MATH_DECLARE_LDOUBLE && defined __USE_MISC)) \
|
||||
&& !__MATH_DECLARING_FLOATN
|
||||
/* scalb. */
|
||||
__MATH_REDIRCALL (scalb, , (_Mdouble_, _Mdouble_));
|
||||
#endif
|
||||
|
||||
/* sinh. */
|
||||
__MATH_REDIRCALL (sinh, , (_Mdouble_));
|
||||
|
||||
/* sqrt. */
|
||||
__MATH_REDIRCALL (sqrt, , (_Mdouble_));
|
||||
|
||||
#if defined __USE_ISOC99 && defined __extern_always_inline
|
||||
/* tgamma. */
|
||||
extern _Mdouble_
|
||||
__REDIRFROM (__gamma, _r_finite) (_Mdouble_, int *);
|
||||
|
||||
__extern_always_inline _Mdouble_
|
||||
__NTH (__REDIRFROM (tgamma, ) (_Mdouble_ __d))
|
||||
{
|
||||
int __local_signgam = 0;
|
||||
_Mdouble_ __res = __REDIRTO (gamma, _r) (__d, &__local_signgam);
|
||||
return __local_signgam < 0 ? -__res : __res;
|
||||
}
|
||||
#endif
|
||||
|
||||
#undef __REDIRFROM
|
||||
#undef __REDIRTO
|
||||
#undef __MATH_REDIRCALL
|
||||
#undef __MATH_REDIRCALL_2
|
||||
#undef __MATH_REDIRCALL_INTERNAL
|
||||
#undef __MATH_REDIRCALL_X
|
@ -25,8 +25,7 @@ include ../Makeconfig
|
||||
headers := math.h bits/mathcalls.h bits/mathinline.h \
|
||||
fpu_control.h complex.h bits/cmathcalls.h fenv.h \
|
||||
bits/fenv.h bits/fenvinline.h bits/mathdef.h tgmath.h \
|
||||
bits/math-finite.h bits/math-vector.h \
|
||||
finclude/math-vector-fortran.h \
|
||||
bits/math-vector.h finclude/math-vector-fortran.h \
|
||||
bits/libm-simd-decl-stubs.h bits/iscanonical.h \
|
||||
bits/flt-eval-method.h bits/fp-fast.h bits/fp-logb.h \
|
||||
bits/long-double.h bits/mathcalls-helper-functions.h \
|
||||
|
220
math/math.h
220
math/math.h
@ -1245,226 +1245,6 @@ iszero (__T __val)
|
||||
# include <bits/mathinline.h>
|
||||
#endif
|
||||
|
||||
/* Define special entry points to use when the compiler got told to
|
||||
only expect finite results. */
|
||||
#if defined __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0
|
||||
|
||||
/* Include bits/math-finite.h for double. */
|
||||
# define _Mdouble_ double
|
||||
# define __MATH_DECLARING_DOUBLE 1
|
||||
# define __MATH_DECLARING_FLOATN 0
|
||||
# define __REDIRFROM_X(function, reentrant) \
|
||||
function ## reentrant
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## reentrant ## _finite
|
||||
# include <bits/math-finite.h>
|
||||
# undef _Mdouble_
|
||||
# undef __MATH_DECLARING_DOUBLE
|
||||
# undef __MATH_DECLARING_FLOATN
|
||||
# undef __REDIRFROM_X
|
||||
# undef __REDIRTO_X
|
||||
|
||||
/* When __USE_ISOC99 is defined, include math-finite for float and
|
||||
long double, as well. */
|
||||
# ifdef __USE_ISOC99
|
||||
|
||||
/* Include bits/math-finite.h for float. */
|
||||
# define _Mdouble_ float
|
||||
# define __MATH_DECLARING_DOUBLE 0
|
||||
# define __MATH_DECLARING_FLOATN 0
|
||||
# define __REDIRFROM_X(function, reentrant) \
|
||||
function ## f ## reentrant
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## f ## reentrant ## _finite
|
||||
# include <bits/math-finite.h>
|
||||
# undef _Mdouble_
|
||||
# undef __MATH_DECLARING_DOUBLE
|
||||
# undef __MATH_DECLARING_FLOATN
|
||||
# undef __REDIRFROM_X
|
||||
# undef __REDIRTO_X
|
||||
|
||||
/* Include bits/math-finite.h for long double. */
|
||||
# ifdef __MATH_DECLARE_LDOUBLE
|
||||
# define _Mdouble_ long double
|
||||
# define __MATH_DECLARING_DOUBLE 0
|
||||
# define __MATH_DECLARING_FLOATN 0
|
||||
# define __REDIRFROM_X(function, reentrant) \
|
||||
function ## l ## reentrant
|
||||
# ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## reentrant ## _finite
|
||||
# else
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## l ## reentrant ## _finite
|
||||
# endif
|
||||
# include <bits/math-finite.h>
|
||||
# undef _Mdouble_
|
||||
# undef __MATH_DECLARING_DOUBLE
|
||||
# undef __MATH_DECLARING_FLOATN
|
||||
# undef __REDIRFROM_X
|
||||
# undef __REDIRTO_X
|
||||
# endif
|
||||
|
||||
# endif /* __USE_ISOC99. */
|
||||
|
||||
/* Include bits/math-finite.h for _FloatN and _FloatNx. */
|
||||
|
||||
# if (__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !defined _LIBC)) \
|
||||
&& __GLIBC_USE (IEC_60559_TYPES_EXT)
|
||||
# define _Mdouble_ _Float16
|
||||
# define __MATH_DECLARING_DOUBLE 0
|
||||
# define __MATH_DECLARING_FLOATN 1
|
||||
# define __REDIRFROM_X(function, reentrant) \
|
||||
function ## f16 ## reentrant
|
||||
# if __HAVE_DISTINCT_FLOAT16
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## f16 ## reentrant ## _finite
|
||||
# else
|
||||
# error "non-disinct _Float16"
|
||||
# endif
|
||||
# include <bits/math-finite.h>
|
||||
# undef _Mdouble_
|
||||
# undef __MATH_DECLARING_DOUBLE
|
||||
# undef __MATH_DECLARING_FLOATN
|
||||
# undef __REDIRFROM_X
|
||||
# undef __REDIRTO_X
|
||||
# endif
|
||||
|
||||
# if (__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !defined _LIBC)) \
|
||||
&& __GLIBC_USE (IEC_60559_TYPES_EXT)
|
||||
# define _Mdouble_ _Float32
|
||||
# define __MATH_DECLARING_DOUBLE 0
|
||||
# define __MATH_DECLARING_FLOATN 1
|
||||
# define __REDIRFROM_X(function, reentrant) \
|
||||
function ## f32 ## reentrant
|
||||
# if __HAVE_DISTINCT_FLOAT32
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## f32 ## reentrant ## _finite
|
||||
# else
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## f ## reentrant ## _finite
|
||||
# endif
|
||||
# include <bits/math-finite.h>
|
||||
# undef _Mdouble_
|
||||
# undef __MATH_DECLARING_DOUBLE
|
||||
# undef __MATH_DECLARING_FLOATN
|
||||
# undef __REDIRFROM_X
|
||||
# undef __REDIRTO_X
|
||||
# endif
|
||||
|
||||
# if (__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !defined _LIBC)) \
|
||||
&& __GLIBC_USE (IEC_60559_TYPES_EXT)
|
||||
# define _Mdouble_ _Float64
|
||||
# define __MATH_DECLARING_DOUBLE 0
|
||||
# define __MATH_DECLARING_FLOATN 1
|
||||
# define __REDIRFROM_X(function, reentrant) \
|
||||
function ## f64 ## reentrant
|
||||
# if __HAVE_DISTINCT_FLOAT64
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## f64 ## reentrant ## _finite
|
||||
# else
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## reentrant ## _finite
|
||||
# endif
|
||||
# include <bits/math-finite.h>
|
||||
# undef _Mdouble_
|
||||
# undef __MATH_DECLARING_DOUBLE
|
||||
# undef __MATH_DECLARING_FLOATN
|
||||
# undef __REDIRFROM_X
|
||||
# undef __REDIRTO_X
|
||||
# endif
|
||||
|
||||
# if (__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !defined _LIBC)) \
|
||||
&& __GLIBC_USE (IEC_60559_TYPES_EXT)
|
||||
# define _Mdouble_ _Float128
|
||||
# define __MATH_DECLARING_DOUBLE 0
|
||||
# define __MATH_DECLARING_FLOATN 1
|
||||
# define __REDIRFROM_X(function, reentrant) \
|
||||
function ## f128 ## reentrant
|
||||
# if __HAVE_DISTINCT_FLOAT128
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## f128 ## reentrant ## _finite
|
||||
# else
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## l ## reentrant ## _finite
|
||||
# endif
|
||||
# include <bits/math-finite.h>
|
||||
# undef _Mdouble_
|
||||
# undef __MATH_DECLARING_DOUBLE
|
||||
# undef __MATH_DECLARING_FLOATN
|
||||
# undef __REDIRFROM_X
|
||||
# undef __REDIRTO_X
|
||||
# endif
|
||||
|
||||
# if (__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !defined _LIBC)) \
|
||||
&& __GLIBC_USE (IEC_60559_TYPES_EXT)
|
||||
# define _Mdouble_ _Float32x
|
||||
# define __MATH_DECLARING_DOUBLE 0
|
||||
# define __MATH_DECLARING_FLOATN 1
|
||||
# define __REDIRFROM_X(function, reentrant) \
|
||||
function ## f32x ## reentrant
|
||||
# if __HAVE_DISTINCT_FLOAT32X
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## f32x ## reentrant ## _finite
|
||||
# else
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## reentrant ## _finite
|
||||
# endif
|
||||
# include <bits/math-finite.h>
|
||||
# undef _Mdouble_
|
||||
# undef __MATH_DECLARING_DOUBLE
|
||||
# undef __MATH_DECLARING_FLOATN
|
||||
# undef __REDIRFROM_X
|
||||
# undef __REDIRTO_X
|
||||
# endif
|
||||
|
||||
# if (__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !defined _LIBC)) \
|
||||
&& __GLIBC_USE (IEC_60559_TYPES_EXT)
|
||||
# define _Mdouble_ _Float64x
|
||||
# define __MATH_DECLARING_DOUBLE 0
|
||||
# define __MATH_DECLARING_FLOATN 1
|
||||
# define __REDIRFROM_X(function, reentrant) \
|
||||
function ## f64x ## reentrant
|
||||
# if __HAVE_DISTINCT_FLOAT64X
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## f64x ## reentrant ## _finite
|
||||
# elif __HAVE_FLOAT64X_LONG_DOUBLE
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## l ## reentrant ## _finite
|
||||
# else
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## f128 ## reentrant ## _finite
|
||||
# endif
|
||||
# include <bits/math-finite.h>
|
||||
# undef _Mdouble_
|
||||
# undef __MATH_DECLARING_DOUBLE
|
||||
# undef __MATH_DECLARING_FLOATN
|
||||
# undef __REDIRFROM_X
|
||||
# undef __REDIRTO_X
|
||||
# endif
|
||||
|
||||
# if (__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !defined _LIBC)) \
|
||||
&& __GLIBC_USE (IEC_60559_TYPES_EXT)
|
||||
# define _Mdouble_ _Float128x
|
||||
# define __MATH_DECLARING_DOUBLE 0
|
||||
# define __MATH_DECLARING_FLOATN 1
|
||||
# define __REDIRFROM_X(function, reentrant) \
|
||||
function ## f128x ## reentrant
|
||||
# if __HAVE_DISTINCT_FLOAT128X
|
||||
# define __REDIRTO_X(function, reentrant) \
|
||||
__ ## function ## f128x ## reentrant ## _finite
|
||||
# else
|
||||
# error "non-disinct _Float128x"
|
||||
# endif
|
||||
# include <bits/math-finite.h>
|
||||
# undef _Mdouble_
|
||||
# undef __MATH_DECLARING_DOUBLE
|
||||
# undef __MATH_DECLARING_FLOATN
|
||||
# undef __REDIRFROM_X
|
||||
# undef __REDIRTO_X
|
||||
# endif
|
||||
|
||||
#endif /* __FINITE_MATH_ONLY__ > 0. */
|
||||
|
||||
#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
|
||||
/* An expression whose type has the widest of the evaluation formats
|
||||
|
@ -1,24 +0,0 @@
|
||||
/* Entry points to finite-math-only compiler runs.
|
||||
Copyright (C) 2011-2019 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _MATH_H
|
||||
# error "Never use <bits/math-finite.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* Nothing can be done for IA-64 since the math functions differ in their
|
||||
structure. */
|
Loading…
x
Reference in New Issue
Block a user