Tue Jun 4 22:03:02 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define long double versions of the inline functions. * sysdeps/m68k/fpu/e_asinl.c, sysdeps/m68k/fpu/e_atanl.c, sysdeps/m68k/fpu/e_acosl.c, sysdeps/m68k/fpu/e_expl.c, sysdeps/m68k/fpu/e_fmodl.c, sysdeps/m68k/fpu/e_log10l.c, sysdeps/m68k/fpu/e_logl.c, sysdeps/m68k/fpu/e_powl.c, sysdeps/m68k/fpu/e_remainderl.c, sysdeps/m68k/fpu/e_scalbl.c, sysdeps/m68k/fpu/e_sinhl.c, sysdeps/m68k/fpu/e_sqrtl.c, sysdeps/m68k/fpu/k_cosl.c, sysdeps/m68k/fpu/k_sinl.c, sysdeps/m68k/fpu/k_tanl.c, sysdeps/m68k/fpu/s_atanl.c, sysdeps/m68k/fpu/s_ceill.c, sysdeps/m68k/fpu/s_cosl.c, sysdeps/m68k/fpu/s_expm1l.c, sysdeps/m68k/fpu/s_fabsl.c, sysdeps/m68k/fpu/s_finitel.c, sysdeps/m68k/fpu/s_floorl.c, sysdeps/m68k/fpu/s_frexpl.c, sysdeps/m68k/fpu/s_ilogbl.c, sysdeps/m68k/fpu/s_isinfl.c, sysdeps/m68k/fpu/s_isnanl.c, sysdeps/m68k/fpu/s_ldexpl.c, sysdeps/m68k/fpu/s_log1pl.c, sysdeps/m68k/fpu/s_logbl.c, sysdeps/m68k/fpu/s_modfl.c, sysdeps/m68k/fpu/s_rintl.c, sysdeps/m68k/fpu/s_scalbnl.c, sysdeps/m68k/fpu/s_significandl.c, sysdeps/m68k/fpu/s_sinl.c, sysdeps/m68k/fpu/s_tanhl.c, sysdeps/m68k/fpu/s_tanl.c: New files. * sysdeps/m68k/fpu/e_acos.c, sysdeps/m68k/fpu/e_fmod.c, sysdeps/m68k/fpu/k_cos.c, sysdeps/m68k/fpu/k_sin.c, sysdeps/m68k/fpu/k_tan.c, sysdeps/m68k/fpu/s_atan.c, sysdeps/m68k/fpu/s_frexp.c, sysdeps/m68k/fpu/s_ilogb.c, sysdeps/m68k/fpu/s_isinf.c, sysdeps/m68k/fpu/s_ldexp.c, sysdeps/m68k/fpu/s_modf.c: Define generic functions using FUNC and float_type with appropriate defaults. * sysdeps/m68k/fpu/e_acosf.c, sysdeps/m68k/fpu/e_fmodf.c, sysdeps/m68k/fpu/k_cosf.c, sysdeps/m68k/fpu/k_sinf.c, sysdeps/m68k/fpu/k_tanf.c, sysdeps/m68k/fpu/s_atanf.c, sysdeps/m68k/fpu/s_frexpf.c, sysdeps/m68k/fpu/s_ilogbf.c, sysdeps/m68k/fpu/s_isinff.c, sysdeps/m68k/fpu/s_ldexpf.c, sysdeps/m68k/fpu/s_modff.c: Include the corresponding double versions with appropriate definitions to get float functions, instead of defining them directly. * sysdeps/m68k/fpu/acos.c: File removed. * sysdeps/m68k/fpu/asin.c: File removed. * sysdeps/m68k/fpu/atan.c: File removed. * sysdeps/m68k/fpu/atan2.c: File removed. * sysdeps/m68k/fpu/atanh.c: File removed. * sysdeps/m68k/fpu/ceil.c: File removed. * sysdeps/m68k/fpu/cos.c: File removed. * sysdeps/m68k/fpu/cosh.c: File removed. * sysdeps/m68k/fpu/drem.c: File removed. * sysdeps/m68k/fpu/exp.c: File removed. * sysdeps/m68k/fpu/expm1.c: File removed. * sysdeps/m68k/fpu/fabs.c: File removed. * sysdeps/m68k/fpu/fl.h: File removed. * sysdeps/m68k/fpu/floor.c: File removed. * sysdeps/m68k/fpu/fmod.c: File removed. * sysdeps/m68k/fpu/frexp.c: File removed. * sysdeps/m68k/fpu/isinf.c: File removed. * sysdeps/m68k/fpu/isinfl.c: File removed. * sysdeps/m68k/fpu/isnan.c: File removed. * sysdeps/m68k/fpu/isnanl.c: File removed. * sysdeps/m68k/fpu/ldexp.c: File removed. * sysdeps/m68k/fpu/log.c: File removed. * sysdeps/m68k/fpu/log10.c: File removed. * sysdeps/m68k/fpu/log1p.c: File removed. * sysdeps/m68k/fpu/logb.c: File removed. * sysdeps/m68k/fpu/pow.c: File removed. * sysdeps/m68k/fpu/rint.c: File removed. * sysdeps/m68k/fpu/sin.c: File removed. * sysdeps/m68k/fpu/sinh.c: File removed. * sysdeps/m68k/fpu/sqrt.c: File removed. * sysdeps/m68k/fpu/tan.c: File removed. * sysdeps/m68k/fpu/tanh.c: File removed. * sysdeps/unix/sysv/linux/syscalls.list: Add select (the syscall name is _newselect). * sysdeps/unix/sysv/linux/select.S: File removed. * sysdeps/unix/sysv/linux/m68k/select.S: File removed; obsolete with current kernels, generic linux version is fine.
This commit is contained in:
parent
f127cd28b5
commit
8f30ca23f7
81
ChangeLog
81
ChangeLog
|
@ -1,5 +1,86 @@
|
||||||
|
Tue Jun 4 22:03:02 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||||
|
|
||||||
|
* sysdeps/m68k/fpu/__math.h: Define long double versions of
|
||||||
|
the inline functions.
|
||||||
|
|
||||||
|
* sysdeps/m68k/fpu/e_asinl.c, sysdeps/m68k/fpu/e_atanl.c,
|
||||||
|
sysdeps/m68k/fpu/e_acosl.c, sysdeps/m68k/fpu/e_expl.c,
|
||||||
|
sysdeps/m68k/fpu/e_fmodl.c, sysdeps/m68k/fpu/e_log10l.c,
|
||||||
|
sysdeps/m68k/fpu/e_logl.c, sysdeps/m68k/fpu/e_powl.c,
|
||||||
|
sysdeps/m68k/fpu/e_remainderl.c, sysdeps/m68k/fpu/e_scalbl.c,
|
||||||
|
sysdeps/m68k/fpu/e_sinhl.c, sysdeps/m68k/fpu/e_sqrtl.c,
|
||||||
|
sysdeps/m68k/fpu/k_cosl.c, sysdeps/m68k/fpu/k_sinl.c,
|
||||||
|
sysdeps/m68k/fpu/k_tanl.c, sysdeps/m68k/fpu/s_atanl.c,
|
||||||
|
sysdeps/m68k/fpu/s_ceill.c, sysdeps/m68k/fpu/s_cosl.c,
|
||||||
|
sysdeps/m68k/fpu/s_expm1l.c, sysdeps/m68k/fpu/s_fabsl.c,
|
||||||
|
sysdeps/m68k/fpu/s_finitel.c, sysdeps/m68k/fpu/s_floorl.c,
|
||||||
|
sysdeps/m68k/fpu/s_frexpl.c, sysdeps/m68k/fpu/s_ilogbl.c,
|
||||||
|
sysdeps/m68k/fpu/s_isinfl.c, sysdeps/m68k/fpu/s_isnanl.c,
|
||||||
|
sysdeps/m68k/fpu/s_ldexpl.c, sysdeps/m68k/fpu/s_log1pl.c,
|
||||||
|
sysdeps/m68k/fpu/s_logbl.c, sysdeps/m68k/fpu/s_modfl.c,
|
||||||
|
sysdeps/m68k/fpu/s_rintl.c, sysdeps/m68k/fpu/s_scalbnl.c,
|
||||||
|
sysdeps/m68k/fpu/s_significandl.c, sysdeps/m68k/fpu/s_sinl.c,
|
||||||
|
sysdeps/m68k/fpu/s_tanhl.c, sysdeps/m68k/fpu/s_tanl.c: New files.
|
||||||
|
|
||||||
|
* sysdeps/m68k/fpu/e_acos.c, sysdeps/m68k/fpu/e_fmod.c,
|
||||||
|
sysdeps/m68k/fpu/k_cos.c, sysdeps/m68k/fpu/k_sin.c,
|
||||||
|
sysdeps/m68k/fpu/k_tan.c, sysdeps/m68k/fpu/s_atan.c,
|
||||||
|
sysdeps/m68k/fpu/s_frexp.c, sysdeps/m68k/fpu/s_ilogb.c,
|
||||||
|
sysdeps/m68k/fpu/s_isinf.c, sysdeps/m68k/fpu/s_ldexp.c,
|
||||||
|
sysdeps/m68k/fpu/s_modf.c: Define generic functions using FUNC and
|
||||||
|
float_type with appropriate defaults.
|
||||||
|
|
||||||
|
* sysdeps/m68k/fpu/e_acosf.c, sysdeps/m68k/fpu/e_fmodf.c,
|
||||||
|
sysdeps/m68k/fpu/k_cosf.c, sysdeps/m68k/fpu/k_sinf.c,
|
||||||
|
sysdeps/m68k/fpu/k_tanf.c, sysdeps/m68k/fpu/s_atanf.c,
|
||||||
|
sysdeps/m68k/fpu/s_frexpf.c, sysdeps/m68k/fpu/s_ilogbf.c,
|
||||||
|
sysdeps/m68k/fpu/s_isinff.c, sysdeps/m68k/fpu/s_ldexpf.c,
|
||||||
|
sysdeps/m68k/fpu/s_modff.c: Include the corresponding double
|
||||||
|
versions with appropriate definitions to get float functions,
|
||||||
|
instead of defining them directly.
|
||||||
|
|
||||||
|
* sysdeps/m68k/fpu/acos.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/asin.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/atan.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/atan2.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/atanh.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/ceil.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/cos.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/cosh.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/drem.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/exp.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/expm1.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/fabs.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/fl.h: File removed.
|
||||||
|
* sysdeps/m68k/fpu/floor.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/fmod.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/frexp.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/isinf.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/isinfl.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/isnan.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/isnanl.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/ldexp.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/log.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/log10.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/log1p.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/logb.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/pow.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/rint.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/sin.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/sinh.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/sqrt.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/tan.c: File removed.
|
||||||
|
* sysdeps/m68k/fpu/tanh.c: File removed.
|
||||||
|
|
||||||
Thu Jun 6 00:02:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
|
Thu Jun 6 00:02:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/syscalls.list: Add select (the syscall name
|
||||||
|
is _newselect).
|
||||||
|
* sysdeps/unix/sysv/linux/select.S: File removed.
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/m68k/select.S: File removed; obsolete with
|
||||||
|
current kernels, generic linux version is fine.
|
||||||
|
|
||||||
* locale/Makefile: Add vpath for %.gperf to programs.
|
* locale/Makefile: Add vpath for %.gperf to programs.
|
||||||
|
|
||||||
* Make-dist (+tsrcs): Variable removed.
|
* Make-dist (+tsrcs): Variable removed.
|
||||||
|
|
|
@ -55,6 +55,14 @@ Cambridge, MA 02139, USA. */
|
||||||
return __result; \
|
return __result; \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define __inline_mathopl(func, op) \
|
||||||
|
__m81_defun (long double, func, (long double __mathop_x)) \
|
||||||
|
{ \
|
||||||
|
long double __result; \
|
||||||
|
__asm("f" __STRING(op) "%.x %1, %0" : "=f" (__result) : "f" (__mathop_x));\
|
||||||
|
return __result; \
|
||||||
|
}
|
||||||
|
|
||||||
/* ieee style elementary functions */
|
/* ieee style elementary functions */
|
||||||
__inline_mathop(__ieee754_acos, acos)
|
__inline_mathop(__ieee754_acos, acos)
|
||||||
__inline_mathop(__ieee754_asin, asin)
|
__inline_mathop(__ieee754_asin, asin)
|
||||||
|
@ -77,6 +85,17 @@ __inline_mathopf(__ieee754_logf, logn)
|
||||||
__inline_mathopf(__ieee754_sqrtf, sqrt)
|
__inline_mathopf(__ieee754_sqrtf, sqrt)
|
||||||
__inline_mathopf(__ieee754_atanhf, atan)
|
__inline_mathopf(__ieee754_atanhf, atan)
|
||||||
|
|
||||||
|
/* ieee style elementary long double functions */
|
||||||
|
__inline_mathopl(__ieee754_acosl, acos)
|
||||||
|
__inline_mathopl(__ieee754_asinl, asin)
|
||||||
|
__inline_mathopl(__ieee754_coshl, cosh)
|
||||||
|
__inline_mathopl(__ieee754_sinhl, sinh)
|
||||||
|
__inline_mathopl(__ieee754_expl, etox)
|
||||||
|
__inline_mathopl(__ieee754_log10l, log10)
|
||||||
|
__inline_mathopl(__ieee754_logl, logn)
|
||||||
|
__inline_mathopl(__ieee754_sqrtl, sqrt)
|
||||||
|
__inline_mathopl(__ieee754_atanhl, atan)
|
||||||
|
|
||||||
__inline_mathop(__atan, atan)
|
__inline_mathop(__atan, atan)
|
||||||
__inline_mathop(__cos, cos)
|
__inline_mathop(__cos, cos)
|
||||||
__inline_mathop(__sin, sin)
|
__inline_mathop(__sin, sin)
|
||||||
|
@ -105,6 +124,20 @@ __inline_mathopf(__log1pf, lognp1)
|
||||||
__inline_mathopf(__logbf, log2)
|
__inline_mathopf(__logbf, log2)
|
||||||
__inline_mathopf(__significandf, getman)
|
__inline_mathopf(__significandf, getman)
|
||||||
|
|
||||||
|
__inline_mathopl(__atanl, atan)
|
||||||
|
__inline_mathopl(__cosl, cos)
|
||||||
|
__inline_mathopl(__sinl, sin)
|
||||||
|
__inline_mathopl(__tanl, tan)
|
||||||
|
__inline_mathopl(__tanhl, tanh)
|
||||||
|
__inline_mathopl(__fabsl, abs)
|
||||||
|
__inline_mathopl(__sqrtl, sqrt)
|
||||||
|
|
||||||
|
__inline_mathopl(__rintl, int)
|
||||||
|
__inline_mathopl(__expm1l, etoxm1)
|
||||||
|
__inline_mathopl(__log1pl, lognp1)
|
||||||
|
__inline_mathopl(__logbl, log2)
|
||||||
|
__inline_mathopl(__significandl, getman)
|
||||||
|
|
||||||
__m81_defun (double, __ieee754_remainder, (double __x, double __y))
|
__m81_defun (double, __ieee754_remainder, (double __x, double __y))
|
||||||
{
|
{
|
||||||
double __result;
|
double __result;
|
||||||
|
@ -427,6 +460,119 @@ __m81_defun (float, __scalbnf, (float __x, int __n))
|
||||||
return __result;
|
return __result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__m81_defun (long double, __ieee754_remainderl, (long double __x,
|
||||||
|
long double __y))
|
||||||
|
{
|
||||||
|
long double __result;
|
||||||
|
__asm ("frem%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x));
|
||||||
|
return __result;
|
||||||
|
}
|
||||||
|
|
||||||
|
__m81_defun (long double, __ldexpl, (long double __x, int __e))
|
||||||
|
{
|
||||||
|
long double __result;
|
||||||
|
long double __float_e = (long double) __e;
|
||||||
|
__asm ("fscale%.x %1, %0" : "=f" (__result) : "f" (__float_e), "0" (__x));
|
||||||
|
return __result;
|
||||||
|
}
|
||||||
|
|
||||||
|
__m81_defun (long double, __ieee754_fmodl, (long double __x, long double __y))
|
||||||
|
{
|
||||||
|
long double __result;
|
||||||
|
__asm("fmod%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x));
|
||||||
|
return __result;
|
||||||
|
}
|
||||||
|
|
||||||
|
__m81_inline long double
|
||||||
|
__m81_u(__frexpl)(long double __value, int *__expptr)
|
||||||
|
{
|
||||||
|
long double __mantissa, __exponent;
|
||||||
|
__asm("fgetexp%.x %1, %0" : "=f" (__exponent) : "f" (__value));
|
||||||
|
__asm("fgetman%.x %1, %0" : "=f" (__mantissa) : "f" (__value));
|
||||||
|
*__expptr = (int) __exponent;
|
||||||
|
return __mantissa;
|
||||||
|
}
|
||||||
|
|
||||||
|
__m81_defun (long double, __floorl, (long double __x))
|
||||||
|
{
|
||||||
|
long double __result;
|
||||||
|
unsigned long int __ctrl_reg;
|
||||||
|
__asm __volatile__ ("fmove%.l %!, %0" : "=dm" (__ctrl_reg));
|
||||||
|
/* Set rounding towards negative infinity. */
|
||||||
|
__asm __volatile__ ("fmove%.l %0, %!" : /* No outputs. */
|
||||||
|
: "dmi" ((__ctrl_reg & ~0x10) | 0x20));
|
||||||
|
/* Convert X to an integer, using -Inf rounding. */
|
||||||
|
__asm __volatile__ ("fint%.x %1, %0" : "=f" (__result) : "f" (__x));
|
||||||
|
/* Restore the previous rounding mode. */
|
||||||
|
__asm __volatile__ ("fmove%.l %0, %!" : /* No outputs. */
|
||||||
|
: "dmi" (__ctrl_reg));
|
||||||
|
return __result;
|
||||||
|
}
|
||||||
|
|
||||||
|
__m81_defun (long double, __ieee754_powl, (long double __x, long double __y))
|
||||||
|
{
|
||||||
|
long double __result;
|
||||||
|
if (__x == 0.0l)
|
||||||
|
{
|
||||||
|
if (__y <= 0.0l)
|
||||||
|
__result = 0.0l / 0.0l;
|
||||||
|
else
|
||||||
|
__result = 0.0l;
|
||||||
|
}
|
||||||
|
else if (__y == 0.0l || __x == 1.0l)
|
||||||
|
__result = 1.0;
|
||||||
|
else if (__y == 1.0l)
|
||||||
|
__result = __x;
|
||||||
|
else if (__y == 2.0l)
|
||||||
|
__result = __x * __x;
|
||||||
|
else if (__x == 10.0l)
|
||||||
|
__asm("ftentox%.x %1, %0" : "=f" (__result) : "f" (__y));
|
||||||
|
else if (__x == 2.0l)
|
||||||
|
__asm("ftwotox%.x %1, %0" : "=f" (__result) : "f" (__y));
|
||||||
|
else if (__x < 0.0l)
|
||||||
|
{
|
||||||
|
long double __temp = __m81_u(__rintl)(__y);
|
||||||
|
if (__y == __temp)
|
||||||
|
{
|
||||||
|
int i = (int) __y;
|
||||||
|
__result
|
||||||
|
= __m81_u(__ieee754_expl)(__y * __m81_u(__ieee754_logl)(-__x));
|
||||||
|
if (i & 1)
|
||||||
|
__result = -__result;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
__result = 0.0l / 0.0l;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
__result = __m81_u(__ieee754_expl)(__y * __m81_u(__ieee754_logl)(__x));
|
||||||
|
return __result;
|
||||||
|
}
|
||||||
|
|
||||||
|
__m81_defun (long double, __ceill, (long double __x))
|
||||||
|
{
|
||||||
|
long double __result;
|
||||||
|
unsigned long int __ctrl_reg;
|
||||||
|
__asm __volatile__ ("fmove%.l %!, %0" : "=dm" (__ctrl_reg));
|
||||||
|
/* Set rounding towards positive infinity. */
|
||||||
|
__asm __volatile__ ("fmove%.l %0, %!" : /* No outputs. */
|
||||||
|
: "dmi" (__ctrl_reg | 0x30));
|
||||||
|
/* Convert X to an integer, using +Inf rounding. */
|
||||||
|
__asm __volatile__ ("fint%.x %1, %0" : "=f" (__result) : "f" (__x));
|
||||||
|
/* Restore the previous rounding mode. */
|
||||||
|
__asm __volatile__ ("fmove%.l %0, %!" : /* No outputs. */
|
||||||
|
: "dmi" (__ctrl_reg));
|
||||||
|
return __result;
|
||||||
|
}
|
||||||
|
|
||||||
|
__m81_inline long double
|
||||||
|
__m81_u(__modfl)(long double __value, long double *__iptr)
|
||||||
|
{
|
||||||
|
long double __modf_int;
|
||||||
|
__asm ("fintrz%.x %1, %0" : "=f" (__modf_int) : "f" (__value));
|
||||||
|
*__iptr = __modf_int;
|
||||||
|
return __value - __modf_int;
|
||||||
|
}
|
||||||
|
|
||||||
__m81_defun (int, __isinfl, (long double __value))
|
__m81_defun (int, __isinfl, (long double __value))
|
||||||
{
|
{
|
||||||
/* There is no branch-condition for infinity,
|
/* There is no branch-condition for infinity,
|
||||||
|
@ -445,4 +591,36 @@ __m81_defun (int, __isnanl, (long double __value))
|
||||||
return __result;
|
return __result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__m81_defun (int, __finitel, (long double __value))
|
||||||
|
{
|
||||||
|
/* There is no branch-condition for infinity, so we must extract and
|
||||||
|
examine the condition codes manually. */
|
||||||
|
unsigned long int __fpsr;
|
||||||
|
__asm ("ftst%.x %1\n"
|
||||||
|
"fmove%.l %/fpsr, %0" : "=dm" (__fpsr) : "f" (__value));
|
||||||
|
return (__fpsr & (3 << 24)) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
__m81_defun (int, __ilogbl, (long double __x))
|
||||||
|
{
|
||||||
|
long double __result;
|
||||||
|
__asm("fgetexp%.x %1, %0" : "=f" (__result) : "f" (__x));
|
||||||
|
return (int) __result;
|
||||||
|
}
|
||||||
|
|
||||||
|
__m81_defun (long double, __ieee754_scalbl, (long double __x, long double __n))
|
||||||
|
{
|
||||||
|
long double __result;
|
||||||
|
__asm ("fscale%.x %1, %0" : "=f" (__result) : "f" (__n), "0" (__x));
|
||||||
|
return __result;
|
||||||
|
}
|
||||||
|
|
||||||
|
__m81_defun (long double, __scalbnl, (long double __x, int __n))
|
||||||
|
{
|
||||||
|
long double __result;
|
||||||
|
long double __float_n = (long double) __n;
|
||||||
|
__asm ("fscale%.x %1, %0" : "=f" (__result) : "f" (__float_n), "0" (__x));
|
||||||
|
return __result;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* GCC. */
|
#endif /* GCC. */
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
/* Copyright (C) 1991, 1994 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#define __NO_MATH_INLINES
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#ifndef FUNC
|
|
||||||
#define FUNC acos
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
double
|
|
||||||
DEFUN(FUNC, (x), double x)
|
|
||||||
{
|
|
||||||
return __m81_u(FUNC)(x);
|
|
||||||
}
|
|
|
@ -1,2 +0,0 @@
|
||||||
#define FUNC asin
|
|
||||||
#include <acos.c>
|
|
|
@ -1,2 +0,0 @@
|
||||||
#define FUNC atan
|
|
||||||
#include <acos.c>
|
|
|
@ -1,71 +0,0 @@
|
||||||
/* Copyright (C) 1991, 1992, 1994 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
|
|
||||||
double
|
|
||||||
DEFUN(atan2, (y, x), double y AND double x)
|
|
||||||
{
|
|
||||||
static CONST double one = 1.0, zero = 0.0;
|
|
||||||
double signx, signy;
|
|
||||||
double pi, PIo4, PIo2;
|
|
||||||
|
|
||||||
if (__isnan(x))
|
|
||||||
return x;
|
|
||||||
if (__isnan(y))
|
|
||||||
return y;
|
|
||||||
|
|
||||||
signy = __copysign(one, y);
|
|
||||||
signx = __copysign(one, x);
|
|
||||||
|
|
||||||
asm("fmovecr%.x %1, %0" : "=f" (pi) : "i" (0));
|
|
||||||
PIo2 = pi / 2;
|
|
||||||
PIo4 = pi / 4;
|
|
||||||
|
|
||||||
if (y == zero)
|
|
||||||
return signx == one ? y : __copysign(pi, signy);
|
|
||||||
|
|
||||||
if (x == zero)
|
|
||||||
return __copysign(PIo2, signy);
|
|
||||||
|
|
||||||
if (__isinf(x))
|
|
||||||
{
|
|
||||||
if (__isinf(y))
|
|
||||||
return __copysign(signx == one ? PIo4 : 3 * PIo4, signy);
|
|
||||||
else
|
|
||||||
return __copysign(signx == one ? zero : pi, signy);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (__isinf(y))
|
|
||||||
return __copysign(PIo2, signy);
|
|
||||||
|
|
||||||
y = fabs(y);
|
|
||||||
|
|
||||||
if (x < 0.0)
|
|
||||||
/* X is negative. */
|
|
||||||
return __copysign(pi - atan(y / -x), signy);
|
|
||||||
|
|
||||||
return __copysign(atan(y / x), signy);
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
#include <sysdeps/generic/atan2.c>
|
|
||||||
#endif
|
|
|
@ -1,2 +0,0 @@
|
||||||
#define FUNC atanh
|
|
||||||
#include <acos.c>
|
|
|
@ -1,4 +0,0 @@
|
||||||
|
|
||||||
#define FUNC ceil
|
|
||||||
|
|
||||||
#include <acos.c>
|
|
|
@ -1,2 +0,0 @@
|
||||||
#define FUNC cos
|
|
||||||
#include <acos.c>
|
|
|
@ -1,2 +0,0 @@
|
||||||
#define FUNC cosh
|
|
||||||
#include <acos.c>
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* Copyright (C) 1991, 1992, 1994, 1995 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#define __NO_MATH_INLINES
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#undef drem
|
|
||||||
|
|
||||||
double
|
|
||||||
DEFUN(__drem, (x, y), double x AND double y)
|
|
||||||
{
|
|
||||||
return ____drem(x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
weak_alias (__drem, drem)
|
|
|
@ -22,9 +22,12 @@ Cambridge, MA 02139, USA. */
|
||||||
#ifndef FUNC
|
#ifndef FUNC
|
||||||
#define FUNC __ieee754_acos
|
#define FUNC __ieee754_acos
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef float_type
|
||||||
|
#define float_type double
|
||||||
|
#endif
|
||||||
|
|
||||||
double
|
float_type
|
||||||
DEFUN(FUNC, (x), double x)
|
DEFUN(FUNC, (x), float_type x)
|
||||||
{
|
{
|
||||||
return __m81_u(FUNC)(x);
|
return __m81_u(FUNC)(x);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,30 +1,5 @@
|
||||||
/* Copyright (C) 1996 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#ifndef FUNC
|
#ifndef FUNC
|
||||||
#define FUNC __ieee754_acosf
|
#define FUNC __ieee754_acosf
|
||||||
#endif
|
#endif
|
||||||
|
#define float_type float
|
||||||
float
|
#include <e_acos.c>
|
||||||
DEFUN(FUNC, (x), float x)
|
|
||||||
{
|
|
||||||
return __m81_u(FUNC)(x);
|
|
||||||
}
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC __ieee754_asinl
|
||||||
|
#include <e_acosl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC __ieee754_expl
|
||||||
|
#include <e_acosl.c>
|
|
@ -22,9 +22,12 @@ Cambridge, MA 02139, USA. */
|
||||||
#ifndef FUNC
|
#ifndef FUNC
|
||||||
#define FUNC __ieee754_fmod
|
#define FUNC __ieee754_fmod
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef float_type
|
||||||
|
#define float_type double
|
||||||
|
#endif
|
||||||
|
|
||||||
double
|
float_type
|
||||||
DEFUN(FUNC, (x, y), double x AND double y)
|
DEFUN(FUNC, (x, y), float_type x AND float_type y)
|
||||||
{
|
{
|
||||||
return __m81_u(FUNC)(x, y);
|
return __m81_u(FUNC)(x, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,30 +1,5 @@
|
||||||
/* Copyright (C) 1996 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#ifndef FUNC
|
#ifndef FUNC
|
||||||
#define FUNC __ieee754_fmodf
|
#define FUNC __ieee754_fmodf
|
||||||
#endif
|
#endif
|
||||||
|
#define float_type float
|
||||||
float
|
#include <e_fmod.c>
|
||||||
DEFUN(FUNC, (x, y), float x AND float y)
|
|
||||||
{
|
|
||||||
return __m81_u(FUNC)(x, y);
|
|
||||||
}
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
#ifndef FUNC
|
||||||
|
#define FUNC __ieee754_fmodl
|
||||||
|
#endif
|
||||||
|
#define float_type long double
|
||||||
|
#include <e_fmod.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC __ieee754_log10l
|
||||||
|
#include <e_acosl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC __ieee754_logl
|
||||||
|
#include <e_acosl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC __ieee754_powl
|
||||||
|
#include <e_fmodl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC __ieee754_remainderl
|
||||||
|
#include <e_fmodl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC __ieee754_scalbl
|
||||||
|
#include <e_fmodl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC __ieee754_sinhl
|
||||||
|
#include <e_acosl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC __ieee754_sqrtl
|
||||||
|
#include <e_acosl.c>
|
|
@ -1,3 +0,0 @@
|
||||||
#define FUNC exp
|
|
||||||
#define OP etox
|
|
||||||
#include <acos.c>
|
|
|
@ -1,3 +0,0 @@
|
||||||
#define FUNC __expm1
|
|
||||||
#define OP expm1
|
|
||||||
#include <acos.c>
|
|
|
@ -1,3 +0,0 @@
|
||||||
#define FUNC fabs
|
|
||||||
#define OP abs
|
|
||||||
#include <acos.c>
|
|
|
@ -1,41 +0,0 @@
|
||||||
/* Floating-point constants for the 68881.
|
|
||||||
Copyright (C) 1992 Free Software Foundation, Inc. */
|
|
||||||
|
|
||||||
/* IGNORE($ This is used internally in the library. */
|
|
||||||
#include <sysdeps/ieee754/fl.h>
|
|
||||||
/* ansidecl.m4 here inserts the ieee file. Kludge o rama.
|
|
||||||
$) ENDCOMMENT INCLUDE($sysdeps/ieee754/fl.h$) STARTCOMMENT */
|
|
||||||
|
|
||||||
#ifndef __need_HUGE_VAL
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
|
|
||||||
#undef FLT_ROUNDS
|
|
||||||
|
|
||||||
/* Interrogate the 68881 to find the current rounding mode. */
|
|
||||||
|
|
||||||
static __const __inline int
|
|
||||||
DEFUN_VOID(__flt_rounds)
|
|
||||||
{
|
|
||||||
unsigned long int __fpcr;
|
|
||||||
__asm("fmove%.l fpcr, %0" : "=g" (__fpcr));
|
|
||||||
switch (__fpcr & (1 | 2))
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
return _FLT_ROUNDS_TONEAREST;
|
|
||||||
case 1:
|
|
||||||
return _FLT_ROUNDS_TOZERO;
|
|
||||||
case 2:
|
|
||||||
return _FLT_ROUNDS_TONEGINF;
|
|
||||||
case 3:
|
|
||||||
return _FLT_ROUNDS_TOPOSINF;
|
|
||||||
default:
|
|
||||||
return _FLT_ROUNDS_INDETERMINATE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#define FLT_ROUNDS (__flt_rounds())
|
|
||||||
|
|
||||||
#endif /* GCC. */
|
|
||||||
|
|
||||||
#endif /* Don't need HUGE_VAL. */
|
|
|
@ -1,3 +0,0 @@
|
||||||
#define FUNC floor
|
|
||||||
#define OP intrz
|
|
||||||
#include <acos.c>
|
|
|
@ -1,27 +0,0 @@
|
||||||
/* Copyright (C) 1991, 1994 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#define __NO_MATH_INLINES
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
double
|
|
||||||
DEFUN(fmod, (x, y), double x AND double y)
|
|
||||||
{
|
|
||||||
return __fmod(x, y);
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
/* Copyright (C) 1991 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#define __NO_MATH_INLINES
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
double
|
|
||||||
DEFUN(frexp, (value, expptr), double value AND int *expptr)
|
|
||||||
{
|
|
||||||
return __frexp(value, expptr);
|
|
||||||
}
|
|
|
@ -1,34 +0,0 @@
|
||||||
/* Copyright (C) 1991, 1994, 1995 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#define __NO_MATH_INLINES
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#ifndef FUNC
|
|
||||||
#define FUNC __isinf
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
DEFUN(FUNC, (x), double x)
|
|
||||||
{
|
|
||||||
return __m81_u(FUNC)(x);
|
|
||||||
}
|
|
||||||
|
|
||||||
weak_alias (__isinf, isinf)
|
|
|
@ -1,28 +0,0 @@
|
||||||
/* Copyright (C) 1996 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
int
|
|
||||||
DEFUN(__isinfl, (x), long double x)
|
|
||||||
{
|
|
||||||
return __m81_u(__isinfl)(x);
|
|
||||||
}
|
|
||||||
|
|
||||||
weak_alias (__isinfl, isinfl)
|
|
|
@ -1,4 +0,0 @@
|
||||||
#define FUNC __isnan
|
|
||||||
#include <isinf.c>
|
|
||||||
|
|
||||||
weak_alias (__isnan, isnan)
|
|
|
@ -1,28 +0,0 @@
|
||||||
/* Copyright (C) 1996 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
int
|
|
||||||
DEFUN(__isnanl, (x), long double x)
|
|
||||||
{
|
|
||||||
return __m81_u(__isnanl)(x);
|
|
||||||
}
|
|
||||||
|
|
||||||
weak_alias (__isnanl, isnanl)
|
|
|
@ -19,8 +19,17 @@ Cambridge, MA 02139, USA. */
|
||||||
#include <ansidecl.h>
|
#include <ansidecl.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
double
|
#ifndef FUNC
|
||||||
DEFUN(__kernel_cos, (x, y), double x AND double y)
|
#define FUNC cos
|
||||||
|
#endif
|
||||||
|
#ifndef float_type
|
||||||
|
#define float_type double
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||||
|
|
||||||
|
float_type
|
||||||
|
DEFUN(__CONCATX(__kernel_,FUNC), (x, y), float_type x AND float_type y)
|
||||||
{
|
{
|
||||||
return __cos (x + y);
|
return __CONCATX(__,FUNC) (x + y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,26 +1,3 @@
|
||||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
#define FUNC cosf
|
||||||
This file is part of the GNU C Library.
|
#define float_type float
|
||||||
|
#include <k_cos.c>
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
float
|
|
||||||
DEFUN(__kernel_cosf, (x, y), float x AND float y)
|
|
||||||
{
|
|
||||||
return __cosf (x + y);
|
|
||||||
}
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
#define FUNC cosl
|
||||||
|
#define float_type long double
|
||||||
|
#include <k_cos.c>
|
|
@ -19,8 +19,18 @@ Cambridge, MA 02139, USA. */
|
||||||
#include <ansidecl.h>
|
#include <ansidecl.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
double
|
#ifndef FUNC
|
||||||
DEFUN(__kernel_sin, (x, y, iy), double x AND double y AND int iy)
|
#define FUNC sin
|
||||||
|
#endif
|
||||||
|
#ifndef float_type
|
||||||
|
#define float_type double
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||||
|
|
||||||
|
float_type
|
||||||
|
DEFUN(__CONCATX(__kernel_,FUNC), (x, y, iy),
|
||||||
|
float_type x AND float_type y AND int iy)
|
||||||
{
|
{
|
||||||
return __sin (x + y);
|
return __CONCATX(__,FUNC) (x + y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,26 +1,3 @@
|
||||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
#define FUNC sinf
|
||||||
This file is part of the GNU C Library.
|
#define float_type float
|
||||||
|
#include <k_sin.c>
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
float
|
|
||||||
DEFUN(__kernel_sinf, (x, y, iy), float x AND float y AND int iy)
|
|
||||||
{
|
|
||||||
return __sinf (x + y);
|
|
||||||
}
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
#define FUNC sinl
|
||||||
|
#define float_type long double
|
||||||
|
#include <k_sin.c>
|
|
@ -19,11 +19,21 @@ Cambridge, MA 02139, USA. */
|
||||||
#include <ansidecl.h>
|
#include <ansidecl.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
double
|
#ifndef FUNC
|
||||||
DEFUN(__kernel_tan, (x, y, iy), double x AND double y AND int iy)
|
#define FUNC tan
|
||||||
|
#endif
|
||||||
|
#ifndef float_type
|
||||||
|
#define float_type double
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||||
|
|
||||||
|
float_type
|
||||||
|
DEFUN(__CONCATX(__kernel_,FUNC), (x, y, iy),
|
||||||
|
float_type x AND float_type y AND int iy)
|
||||||
{
|
{
|
||||||
if (iy == 1)
|
if (iy == 1)
|
||||||
return __tan (x + y);
|
return __CONCATX(__,FUNC) (x + y);
|
||||||
else
|
else
|
||||||
return -1.0 / __tan (x + y);
|
return ((float_type) -1.0) / __CONCATX(__,FUNC) (x + y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,29 +1,3 @@
|
||||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
#define FUNC tanf
|
||||||
This file is part of the GNU C Library.
|
#define float_type float
|
||||||
|
#include <k_tan.c>
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
float
|
|
||||||
DEFUN(__kernel_tanf, (x, y, iy), float x AND float y AND int iy)
|
|
||||||
{
|
|
||||||
if (iy == 1)
|
|
||||||
return __tanf (x + y);
|
|
||||||
else
|
|
||||||
return -1.0 / __tanf (x + y);
|
|
||||||
}
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
#define FUNC tanl
|
||||||
|
#define float_type long double
|
||||||
|
#include <k_tan.c>
|
|
@ -1,27 +0,0 @@
|
||||||
/* Copyright (C) 1991, 1994 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#define __NO_MATH_INLINES
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
double
|
|
||||||
DEFUN(ldexp, (x, exp), double x AND int exp)
|
|
||||||
{
|
|
||||||
return __ldexp(x, exp);
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
#define FUNC log
|
|
||||||
#define OP logn
|
|
||||||
#include <acos.c>
|
|
|
@ -1,2 +0,0 @@
|
||||||
#define FUNC log10
|
|
||||||
#include <acos.c>
|
|
|
@ -1,2 +0,0 @@
|
||||||
#define FUNC log1p
|
|
||||||
#include <acos.c>
|
|
|
@ -1,46 +0,0 @@
|
||||||
/* Copyright (C) 1991, 1992, 1993, 1994, 1995 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
|
|
||||||
/* Return the base 2 signed integral exponent of X. */
|
|
||||||
|
|
||||||
double
|
|
||||||
DEFUN(__logb, (x), double x)
|
|
||||||
{
|
|
||||||
if (__isnan (x))
|
|
||||||
return x;
|
|
||||||
if (__isinf (x))
|
|
||||||
return fabs (x);
|
|
||||||
|
|
||||||
if (x == 0.0)
|
|
||||||
asm ("flog2%.x %0, %0" : "=f" (x) : "0" (x));
|
|
||||||
else
|
|
||||||
asm ("fgetexp%.x %0, %0" : "=f" (x) : "0" (x));
|
|
||||||
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
weak_alias (__logb, logb)
|
|
||||||
|
|
||||||
#else
|
|
||||||
#include <sysdeps/ieee754/logb.c>
|
|
||||||
#endif
|
|
|
@ -1,27 +0,0 @@
|
||||||
/* Copyright (C) 1991, 1994 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#define __NO_MATH_INLINES
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
double
|
|
||||||
DEFUN(pow, (x, y), double x AND double y)
|
|
||||||
{
|
|
||||||
return __pow(x, y);
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
#define FUNC __rint
|
|
||||||
#define OP intr
|
|
||||||
#include <acos.c>
|
|
||||||
|
|
||||||
weak_alias (__rint, rint)
|
|
|
@ -22,11 +22,14 @@ Cambridge, MA 02139, USA. */
|
||||||
#ifndef FUNC
|
#ifndef FUNC
|
||||||
#define FUNC atan
|
#define FUNC atan
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef float_type
|
||||||
|
#define float_type double
|
||||||
|
#endif
|
||||||
|
|
||||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||||
|
|
||||||
double
|
float_type
|
||||||
DEFUN(__CONCATX(__,FUNC), (x), double x)
|
DEFUN(__CONCATX(__,FUNC), (x), float_type x)
|
||||||
{
|
{
|
||||||
return __m81_u(__CONCATX(__,FUNC))(x);
|
return __m81_u(__CONCATX(__,FUNC))(x);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,35 +1,5 @@
|
||||||
/* Copyright (C) 1996 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#ifndef FUNC
|
#ifndef FUNC
|
||||||
#define FUNC atanf
|
#define FUNC atanf
|
||||||
#endif
|
#endif
|
||||||
|
#define float_type float
|
||||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
#include <s_atan.c>
|
||||||
|
|
||||||
float
|
|
||||||
DEFUN(__CONCATX(__,FUNC), (x), float x)
|
|
||||||
{
|
|
||||||
return __m81_u(__CONCATX(__,FUNC))(x);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define weak_aliasx(a,b) weak_alias(a,b)
|
|
||||||
weak_aliasx (__CONCATX(__,FUNC), FUNC)
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
#ifndef FUNC
|
||||||
|
#define FUNC atanl
|
||||||
|
#endif
|
||||||
|
#define float_type long double
|
||||||
|
#include <s_atan.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC ceill
|
||||||
|
#include <s_atanl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC cosl
|
||||||
|
#include <s_atanl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC expm1l
|
||||||
|
#include <s_atanl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC fabsl
|
||||||
|
#include <s_atanl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC finitel
|
||||||
|
#include <s_isinfl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC floorl
|
||||||
|
#include <s_atanl.c>
|
|
@ -19,9 +19,19 @@ Cambridge, MA 02139, USA. */
|
||||||
#include <ansidecl.h>
|
#include <ansidecl.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
double
|
#ifndef FUNC
|
||||||
DEFUN(__frexp, (value, expptr), double value AND int *expptr)
|
#define FUNC frexp
|
||||||
|
#endif
|
||||||
|
#ifndef float_type
|
||||||
|
#define float_type double
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||||
|
|
||||||
|
float_type
|
||||||
|
DEFUN(__CONCATX(__,FUNC), (value, expptr), float_type value AND int *expptr)
|
||||||
{
|
{
|
||||||
return __m81_u(__frexp)(value, expptr);
|
return __m81_u(__CONCATX(__,FUNC))(value, expptr);
|
||||||
}
|
}
|
||||||
weak_alias (__frexp, frexp)
|
#define weak_aliasx(a,b) weak_alias(a,b)
|
||||||
|
weak_aliasx (__CONCATX(__,FUNC), FUNC)
|
||||||
|
|
|
@ -1,27 +1,3 @@
|
||||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
#define FUNC frexpf
|
||||||
This file is part of the GNU C Library.
|
#define float_type float
|
||||||
|
#include <s_frexp.c>
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
float
|
|
||||||
DEFUN(__frexpf, (value, expptr), float value AND int *expptr)
|
|
||||||
{
|
|
||||||
return __m81_u(__frexpf)(value, expptr);
|
|
||||||
}
|
|
||||||
weak_alias (__frexpf, frexpf)
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
#define FUNC frexpl
|
||||||
|
#define float_type long double
|
||||||
|
#include <s_frexp.c>
|
|
@ -19,10 +19,20 @@ Cambridge, MA 02139, USA. */
|
||||||
#include <ansidecl.h>
|
#include <ansidecl.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
|
#ifndef FUNC
|
||||||
|
#define FUNC ilogb
|
||||||
|
#endif
|
||||||
|
#ifndef float_type
|
||||||
|
#define float_type double
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||||
|
|
||||||
int
|
int
|
||||||
DEFUN(__ilogb, (x), double x)
|
DEFUN(__CONCATX(__,FUNC), (x), float_type x)
|
||||||
{
|
{
|
||||||
return __m81_u(__ilogb)(x);
|
return __m81_u(__CONCATX(__,FUNC))(x);
|
||||||
}
|
}
|
||||||
|
|
||||||
weak_alias (__ilogb, ilogb)
|
#define weak_aliasx(a,b) weak_alias(a,b)
|
||||||
|
weak_aliasx (__CONCATX(__,FUNC), FUNC)
|
||||||
|
|
|
@ -1,28 +1,3 @@
|
||||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
#define FUNC ilogbf
|
||||||
This file is part of the GNU C Library.
|
#define float_type float
|
||||||
|
#include <s_ilogb.c>
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
int
|
|
||||||
DEFUN(__ilogbf, (x), float x)
|
|
||||||
{
|
|
||||||
return __m81_u(__ilogbf)(x);
|
|
||||||
}
|
|
||||||
|
|
||||||
weak_alias (__ilogbf, ilogbf)
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
#define FUNC ilogbl
|
||||||
|
#define float_type long double
|
||||||
|
#include <s_ilogb.c>
|
|
@ -22,11 +22,14 @@ Cambridge, MA 02139, USA. */
|
||||||
#ifndef FUNC
|
#ifndef FUNC
|
||||||
#define FUNC isinf
|
#define FUNC isinf
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef float_type
|
||||||
|
#define float_type double
|
||||||
|
#endif
|
||||||
|
|
||||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||||
|
|
||||||
int
|
int
|
||||||
DEFUN(__CONCATX(__,FUNC), (x), double x)
|
DEFUN(__CONCATX(__,FUNC), (x), float_type x)
|
||||||
{
|
{
|
||||||
return __m81_u(__CONCATX(__,FUNC))(x);
|
return __m81_u(__CONCATX(__,FUNC))(x);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,35 +1,5 @@
|
||||||
/* Copyright (C) 1996 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#ifndef FUNC
|
#ifndef FUNC
|
||||||
#define FUNC isinff
|
#define FUNC isinff
|
||||||
#endif
|
#endif
|
||||||
|
#define float_type float
|
||||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
#include <s_isinf.c>
|
||||||
|
|
||||||
int
|
|
||||||
DEFUN(__CONCATX(__,FUNC), (x), float x)
|
|
||||||
{
|
|
||||||
return __m81_u(__CONCATX(__,FUNC))(x);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define weak_aliasx(a,b) weak_alias(a,b)
|
|
||||||
weak_aliasx (__CONCATX(__,FUNC), FUNC)
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
#ifndef FUNC
|
||||||
|
#define FUNC isinfl
|
||||||
|
#endif
|
||||||
|
#define float_type long double
|
||||||
|
#include <s_isinf.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC isnanl
|
||||||
|
#include <s_isinfl.c>
|
|
@ -22,11 +22,14 @@ Cambridge, MA 02139, USA. */
|
||||||
#ifndef FUNC
|
#ifndef FUNC
|
||||||
#define FUNC ldexp
|
#define FUNC ldexp
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef float_type
|
||||||
|
#define float_type double
|
||||||
|
#endif
|
||||||
|
|
||||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||||
|
|
||||||
double
|
float_type
|
||||||
DEFUN(__CONCATX(__,FUNC), (x, exp), double x AND int exp)
|
DEFUN(__CONCATX(__,FUNC), (x, exp), float_type x AND int exp)
|
||||||
{
|
{
|
||||||
return __m81_u(__CONCATX(__,FUNC))(x, exp);
|
return __m81_u(__CONCATX(__,FUNC))(x, exp);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,35 +1,5 @@
|
||||||
/* Copyright (C) 1996 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#ifndef FUNC
|
#ifndef FUNC
|
||||||
#define FUNC ldexpf
|
#define FUNC ldexpf
|
||||||
#endif
|
#endif
|
||||||
|
#define float_type float
|
||||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
#include <s_ldexp.c>
|
||||||
|
|
||||||
float
|
|
||||||
DEFUN(__CONCATX(__,FUNC), (x, exp), float x AND int exp)
|
|
||||||
{
|
|
||||||
return __m81_u(__CONCATX(__,FUNC))(x, exp);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define weak_aliasx(a,b) weak_alias(a,b)
|
|
||||||
weak_aliasx (__CONCATX(__,FUNC), FUNC)
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
#ifndef FUNC
|
||||||
|
#define FUNC ldexpl
|
||||||
|
#endif
|
||||||
|
#define float_type long double
|
||||||
|
#include <s_ldexp.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC log1pl
|
||||||
|
#include <s_atanl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC logbl
|
||||||
|
#include <s_atanl.c>
|
|
@ -19,9 +19,19 @@ Cambridge, MA 02139, USA. */
|
||||||
#include <ansidecl.h>
|
#include <ansidecl.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
double
|
#ifndef FUNC
|
||||||
DEFUN(__modf, (x, exp), double x AND double *iptr)
|
#define FUNC modf
|
||||||
|
#endif
|
||||||
|
#ifndef float_type
|
||||||
|
#define float_type double
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||||
|
|
||||||
|
float_type
|
||||||
|
DEFUN(__CONCATX(__,FUNC), (x, iptr), float_type x AND float_type *iptr)
|
||||||
{
|
{
|
||||||
return __m81_u(__modf)(x, iptr);
|
return __m81_u(__CONCATX(__,FUNC))(x, iptr);
|
||||||
}
|
}
|
||||||
weak_alias(__modf, modf)
|
#define weak_aliasx(a,b) weak_alias(a,b)
|
||||||
|
weak_aliasx(__CONCATX(__,FUNC), FUNC)
|
||||||
|
|
|
@ -1,27 +1,3 @@
|
||||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
#define FUNC modff
|
||||||
This file is part of the GNU C Library.
|
#define float_type float
|
||||||
|
#include <s_modf.c>
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA. */
|
|
||||||
|
|
||||||
#include <ansidecl.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
float
|
|
||||||
DEFUN(__modff, (x, exp), float x AND float *iptr)
|
|
||||||
{
|
|
||||||
return __m81_u(__modff)(x, iptr);
|
|
||||||
}
|
|
||||||
weak_alias(__modff, modff)
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
#define FUNC modfl
|
||||||
|
#define float_type long double
|
||||||
|
#include <s_modf.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC rintl
|
||||||
|
#include <s_atanl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC scalbnl
|
||||||
|
#include <s_ldexpl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC significandl
|
||||||
|
#include <s_atanl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC sinl
|
||||||
|
#include <s_atanl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC tanhl
|
||||||
|
#include <s_atanl.c>
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define FUNC tanl
|
||||||
|
#include <s_atanl.c>
|
|
@ -1,2 +0,0 @@
|
||||||
#define FUNC sin
|
|
||||||
#include <acos.c>
|
|
|
@ -1,2 +0,0 @@
|
||||||
#define FUNC sinh
|
|
||||||
#include <acos.c>
|
|
|
@ -1,2 +0,0 @@
|
||||||
#define FUNC sqrt
|
|
||||||
#include <acos.c>
|
|
|
@ -1,2 +0,0 @@
|
||||||
#define FUNC tan
|
|
||||||
#include <acos.c>
|
|
|
@ -1,2 +0,0 @@
|
||||||
#define FUNC tanh
|
|
||||||
#include <acos.c>
|
|
|
@ -1,53 +0,0 @@
|
||||||
/* Copyright (C) 1996 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA. */
|
|
||||||
|
|
||||||
#include <sysdep.h>
|
|
||||||
#define _ERRNO_H
|
|
||||||
#include <errnos.h>
|
|
||||||
|
|
||||||
/* Linux has two versions of the select system call. The old one expected
|
|
||||||
one argument which must be a pointer to a struct which contains the
|
|
||||||
five values. The new version expects the five arguments be given in the
|
|
||||||
registers. First try the new version, if it's not available fall back
|
|
||||||
to the old version. */
|
|
||||||
|
|
||||||
.text
|
|
||||||
SYSCALL_ERROR_HANDLER
|
|
||||||
ENTRY (__select)
|
|
||||||
|
|
||||||
#if 0 /* For now only use the old version. */
|
|
||||||
DO_CALL (#SYS_ify (_newselect), 5)
|
|
||||||
tst.l %d0
|
|
||||||
jmi 1f
|
|
||||||
rts
|
|
||||||
|
|
||||||
1: move.l #-ENOSYS, %d1
|
|
||||||
cmp.l %d1, %d0
|
|
||||||
jne syscall_error /* Real error */
|
|
||||||
|
|
||||||
/* Try again using the old syscall interface. */
|
|
||||||
#endif
|
|
||||||
lea 4(%sp), %a0
|
|
||||||
move.l %a0, %d1
|
|
||||||
move.l #SYS_ify (select), %d0
|
|
||||||
trap #0
|
|
||||||
tst.l %d0
|
|
||||||
jmi syscall_error
|
|
||||||
ret
|
|
||||||
|
|
||||||
weak_alias (__select, select)
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* Copyright (C) 1991, 1992, 1995 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 Library General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 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
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
||||||
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA. */
|
|
||||||
|
|
||||||
#include <sysdep.h>
|
|
||||||
|
|
||||||
/* Linux has two versions of the select system call. The old one expected
|
|
||||||
one argument which must be a pointer to a struct which contains the
|
|
||||||
five values. The new version expects the five arguments be given in the
|
|
||||||
registers. Of course we use the new version but the syscall name
|
|
||||||
is `_newsyscall'. So we do some name magic here. */
|
|
||||||
#define ___newselect __select
|
|
||||||
|
|
||||||
SYSCALL__ (_newselect, 5)
|
|
||||||
ret
|
|
||||||
|
|
||||||
weak_alias (__select, select)
|
|
|
@ -40,6 +40,7 @@ sched_yield - sched_yield 0 __sched_yield sched_yield
|
||||||
sched_primax - sched_get_priority_max 1 __sched_get_priority_max sched_get_priority_max
|
sched_primax - sched_get_priority_max 1 __sched_get_priority_max sched_get_priority_max
|
||||||
sched_primin - sched_get_priority_min 1 __sched_get_priority_min sched_get_priority_min
|
sched_primin - sched_get_priority_min 1 __sched_get_priority_min sched_get_priority_min
|
||||||
sched_rr_gi - sched_rr_get_interval 2 __sched_rr_get_interval sched_rr_get_interval
|
sched_rr_gi - sched_rr_get_interval 2 __sched_rr_get_interval sched_rr_get_interval
|
||||||
|
select - _newselect 5 __select select
|
||||||
setfsgid - setfsgid 1 setfsgid
|
setfsgid - setfsgid 1 setfsgid
|
||||||
setfsuid - setfsuid 1 setfsuid
|
setfsuid - setfsuid 1 setfsuid
|
||||||
setpgid - setpgid 2 __setpgid setpgid
|
setpgid - setpgid 2 __setpgid setpgid
|
||||||
|
|
Loading…
Reference in New Issue