mirror of git://sourceware.org/git/glibc.git
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>
|
||||
|
||||
* 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.
|
||||
|
||||
* Make-dist (+tsrcs): Variable removed.
|
||||
|
|
|
@ -54,6 +54,14 @@ Cambridge, MA 02139, USA. */
|
|||
__asm("f" __STRING(op) "%.x %1, %0" : "=f" (__result) : "f" (__mathop_x));\
|
||||
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 */
|
||||
__inline_mathop(__ieee754_acos, acos)
|
||||
|
@ -77,6 +85,17 @@ __inline_mathopf(__ieee754_logf, logn)
|
|||
__inline_mathopf(__ieee754_sqrtf, sqrt)
|
||||
__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(__cos, cos)
|
||||
__inline_mathop(__sin, sin)
|
||||
|
@ -105,6 +124,20 @@ __inline_mathopf(__log1pf, lognp1)
|
|||
__inline_mathopf(__logbf, log2)
|
||||
__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))
|
||||
{
|
||||
double __result;
|
||||
|
@ -427,6 +460,119 @@ __m81_defun (float, __scalbnf, (float __x, int __n))
|
|||
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))
|
||||
{
|
||||
/* There is no branch-condition for infinity,
|
||||
|
@ -445,4 +591,36 @@ __m81_defun (int, __isnanl, (long double __value))
|
|||
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. */
|
||||
|
|
|
@ -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
|
||||
#define FUNC __ieee754_acos
|
||||
#endif
|
||||
#ifndef float_type
|
||||
#define float_type double
|
||||
#endif
|
||||
|
||||
double
|
||||
DEFUN(FUNC, (x), double x)
|
||||
float_type
|
||||
DEFUN(FUNC, (x), float_type 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
|
||||
#define FUNC __ieee754_acosf
|
||||
#endif
|
||||
|
||||
float
|
||||
DEFUN(FUNC, (x), float x)
|
||||
{
|
||||
return __m81_u(FUNC)(x);
|
||||
}
|
||||
#define float_type float
|
||||
#include <e_acos.c>
|
||||
|
|
|
@ -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
|
||||
#define FUNC __ieee754_fmod
|
||||
#endif
|
||||
#ifndef float_type
|
||||
#define float_type double
|
||||
#endif
|
||||
|
||||
double
|
||||
DEFUN(FUNC, (x, y), double x AND double y)
|
||||
float_type
|
||||
DEFUN(FUNC, (x, y), float_type x AND float_type 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
|
||||
#define FUNC __ieee754_fmodf
|
||||
#endif
|
||||
|
||||
float
|
||||
DEFUN(FUNC, (x, y), float x AND float y)
|
||||
{
|
||||
return __m81_u(FUNC)(x, y);
|
||||
}
|
||||
#define float_type float
|
||||
#include <e_fmod.c>
|
||||
|
|
|
@ -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 <math.h>
|
||||
|
||||
double
|
||||
DEFUN(__kernel_cos, (x, y), double x AND double y)
|
||||
#ifndef FUNC
|
||||
#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.
|
||||
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>
|
||||
|
||||
float
|
||||
DEFUN(__kernel_cosf, (x, y), float x AND float y)
|
||||
{
|
||||
return __cosf (x + y);
|
||||
}
|
||||
#define FUNC cosf
|
||||
#define float_type float
|
||||
#include <k_cos.c>
|
||||
|
|
|
@ -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 <math.h>
|
||||
|
||||
double
|
||||
DEFUN(__kernel_sin, (x, y, iy), double x AND double y AND int iy)
|
||||
#ifndef FUNC
|
||||
#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.
|
||||
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>
|
||||
|
||||
float
|
||||
DEFUN(__kernel_sinf, (x, y, iy), float x AND float y AND int iy)
|
||||
{
|
||||
return __sinf (x + y);
|
||||
}
|
||||
#define FUNC sinf
|
||||
#define float_type float
|
||||
#include <k_sin.c>
|
||||
|
|
|
@ -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 <math.h>
|
||||
|
||||
double
|
||||
DEFUN(__kernel_tan, (x, y, iy), double x AND double y AND int iy)
|
||||
#ifndef FUNC
|
||||
#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)
|
||||
return __tan (x + y);
|
||||
return __CONCATX(__,FUNC) (x + y);
|
||||
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.
|
||||
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>
|
||||
|
||||
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);
|
||||
}
|
||||
#define FUNC tanf
|
||||
#define float_type float
|
||||
#include <k_tan.c>
|
||||
|
|
|
@ -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
|
||||
#define FUNC atan
|
||||
#endif
|
||||
#ifndef float_type
|
||||
#define float_type double
|
||||
#endif
|
||||
|
||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||
|
||||
double
|
||||
DEFUN(__CONCATX(__,FUNC), (x), double x)
|
||||
float_type
|
||||
DEFUN(__CONCATX(__,FUNC), (x), float_type 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
|
||||
#define FUNC atanf
|
||||
#endif
|
||||
|
||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||
|
||||
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)
|
||||
#define float_type float
|
||||
#include <s_atan.c>
|
||||
|
|
|
@ -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 <math.h>
|
||||
|
||||
double
|
||||
DEFUN(__frexp, (value, expptr), double value AND int *expptr)
|
||||
#ifndef FUNC
|
||||
#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.
|
||||
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>
|
||||
|
||||
float
|
||||
DEFUN(__frexpf, (value, expptr), float value AND int *expptr)
|
||||
{
|
||||
return __m81_u(__frexpf)(value, expptr);
|
||||
}
|
||||
weak_alias (__frexpf, frexpf)
|
||||
#define FUNC frexpf
|
||||
#define float_type float
|
||||
#include <s_frexp.c>
|
||||
|
|
|
@ -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 <math.h>
|
||||
|
||||
#ifndef FUNC
|
||||
#define FUNC ilogb
|
||||
#endif
|
||||
#ifndef float_type
|
||||
#define float_type double
|
||||
#endif
|
||||
|
||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||
|
||||
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.
|
||||
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(__ilogbf, (x), float x)
|
||||
{
|
||||
return __m81_u(__ilogbf)(x);
|
||||
}
|
||||
|
||||
weak_alias (__ilogbf, ilogbf)
|
||||
#define FUNC ilogbf
|
||||
#define float_type float
|
||||
#include <s_ilogb.c>
|
||||
|
|
|
@ -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
|
||||
#define FUNC isinf
|
||||
#endif
|
||||
#ifndef float_type
|
||||
#define float_type double
|
||||
#endif
|
||||
|
||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||
|
||||
int
|
||||
DEFUN(__CONCATX(__,FUNC), (x), double x)
|
||||
DEFUN(__CONCATX(__,FUNC), (x), float_type 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
|
||||
#define FUNC isinff
|
||||
#endif
|
||||
|
||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||
|
||||
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)
|
||||
#define float_type float
|
||||
#include <s_isinf.c>
|
||||
|
|
|
@ -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
|
||||
#define FUNC ldexp
|
||||
#endif
|
||||
#ifndef float_type
|
||||
#define float_type double
|
||||
#endif
|
||||
|
||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||
|
||||
double
|
||||
DEFUN(__CONCATX(__,FUNC), (x, exp), double x AND int exp)
|
||||
float_type
|
||||
DEFUN(__CONCATX(__,FUNC), (x, exp), float_type x AND int 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
|
||||
#define FUNC ldexpf
|
||||
#endif
|
||||
|
||||
#define __CONCATX(a,b) __CONCAT(a,b)
|
||||
|
||||
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)
|
||||
#define float_type float
|
||||
#include <s_ldexp.c>
|
||||
|
|
|
@ -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 <math.h>
|
||||
|
||||
double
|
||||
DEFUN(__modf, (x, exp), double x AND double *iptr)
|
||||
#ifndef FUNC
|
||||
#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.
|
||||
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>
|
||||
|
||||
float
|
||||
DEFUN(__modff, (x, exp), float x AND float *iptr)
|
||||
{
|
||||
return __m81_u(__modff)(x, iptr);
|
||||
}
|
||||
weak_alias(__modff, modff)
|
||||
#define FUNC modff
|
||||
#define float_type float
|
||||
#include <s_modf.c>
|
||||
|
|
|
@ -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_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
|
||||
select - _newselect 5 __select select
|
||||
setfsgid - setfsgid 1 setfsgid
|
||||
setfsuid - setfsuid 1 setfsuid
|
||||
setpgid - setpgid 2 __setpgid setpgid
|
||||
|
|
Loading…
Reference in New Issue