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:
Roland McGrath 1996-06-06 05:23:42 +00:00
parent f127cd28b5
commit 8f30ca23f7
93 changed files with 478 additions and 898 deletions

View File

@ -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.

View File

@ -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. */

View File

@ -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);
}

View File

@ -1,2 +0,0 @@
#define FUNC asin
#include <acos.c>

View File

@ -1,2 +0,0 @@
#define FUNC atan
#include <acos.c>

View File

@ -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

View File

@ -1,2 +0,0 @@
#define FUNC atanh
#include <acos.c>

View File

@ -1,4 +0,0 @@
#define FUNC ceil
#include <acos.c>

View File

@ -1,2 +0,0 @@
#define FUNC cos
#include <acos.c>

View File

@ -1,2 +0,0 @@
#define FUNC cosh
#include <acos.c>

View File

@ -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)

View File

@ -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);
}

View File

@ -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>

View File

@ -0,0 +1,2 @@
#define FUNC __ieee754_asinl
#include <e_acosl.c>

View File

@ -0,0 +1,2 @@
#define FUNC __ieee754_expl
#include <e_acosl.c>

View File

@ -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);
}

View File

@ -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>

View File

@ -0,0 +1,5 @@
#ifndef FUNC
#define FUNC __ieee754_fmodl
#endif
#define float_type long double
#include <e_fmod.c>

View File

@ -0,0 +1,2 @@
#define FUNC __ieee754_log10l
#include <e_acosl.c>

View File

@ -0,0 +1,2 @@
#define FUNC __ieee754_logl
#include <e_acosl.c>

View File

@ -0,0 +1,2 @@
#define FUNC __ieee754_powl
#include <e_fmodl.c>

View File

@ -0,0 +1,2 @@
#define FUNC __ieee754_remainderl
#include <e_fmodl.c>

View File

@ -0,0 +1,2 @@
#define FUNC __ieee754_scalbl
#include <e_fmodl.c>

View File

@ -0,0 +1,2 @@
#define FUNC __ieee754_sinhl
#include <e_acosl.c>

View File

@ -0,0 +1,2 @@
#define FUNC __ieee754_sqrtl
#include <e_acosl.c>

View File

@ -1,3 +0,0 @@
#define FUNC exp
#define OP etox
#include <acos.c>

View File

@ -1,3 +0,0 @@
#define FUNC __expm1
#define OP expm1
#include <acos.c>

View File

@ -1,3 +0,0 @@
#define FUNC fabs
#define OP abs
#include <acos.c>

View File

@ -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. */

View File

@ -1,3 +0,0 @@
#define FUNC floor
#define OP intrz
#include <acos.c>

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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)

View File

@ -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)

View File

@ -1,4 +0,0 @@
#define FUNC __isnan
#include <isinf.c>
weak_alias (__isnan, isnan)

View File

@ -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)

View File

@ -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);
}

View File

@ -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>

View File

@ -0,0 +1,3 @@
#define FUNC cosl
#define float_type long double
#include <k_cos.c>

View File

@ -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);
}

View File

@ -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>

View File

@ -0,0 +1,3 @@
#define FUNC sinl
#define float_type long double
#include <k_sin.c>

View File

@ -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);
}

View File

@ -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>

View File

@ -0,0 +1,3 @@
#define FUNC tanl
#define float_type long double
#include <k_tan.c>

View File

@ -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);
}

View File

@ -1,3 +0,0 @@
#define FUNC log
#define OP logn
#include <acos.c>

View File

@ -1,2 +0,0 @@
#define FUNC log10
#include <acos.c>

View File

@ -1,2 +0,0 @@
#define FUNC log1p
#include <acos.c>

View File

@ -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

View File

@ -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);
}

View File

@ -1,5 +0,0 @@
#define FUNC __rint
#define OP intr
#include <acos.c>
weak_alias (__rint, rint)

View File

@ -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);
}

View File

@ -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>

View File

@ -0,0 +1,5 @@
#ifndef FUNC
#define FUNC atanl
#endif
#define float_type long double
#include <s_atan.c>

View File

@ -0,0 +1,2 @@
#define FUNC ceill
#include <s_atanl.c>

View File

@ -0,0 +1,2 @@
#define FUNC cosl
#include <s_atanl.c>

View File

@ -0,0 +1,2 @@
#define FUNC expm1l
#include <s_atanl.c>

View File

@ -0,0 +1,2 @@
#define FUNC fabsl
#include <s_atanl.c>

View File

@ -0,0 +1,2 @@
#define FUNC finitel
#include <s_isinfl.c>

View File

@ -0,0 +1,2 @@
#define FUNC floorl
#include <s_atanl.c>

View File

@ -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)

View File

@ -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>

View File

@ -0,0 +1,3 @@
#define FUNC frexpl
#define float_type long double
#include <s_frexp.c>

View File

@ -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)

View File

@ -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>

View File

@ -0,0 +1,3 @@
#define FUNC ilogbl
#define float_type long double
#include <s_ilogb.c>

View File

@ -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);
}

View File

@ -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>

View File

@ -0,0 +1,5 @@
#ifndef FUNC
#define FUNC isinfl
#endif
#define float_type long double
#include <s_isinf.c>

View File

@ -0,0 +1,2 @@
#define FUNC isnanl
#include <s_isinfl.c>

View File

@ -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);
}

View File

@ -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>

View File

@ -0,0 +1,5 @@
#ifndef FUNC
#define FUNC ldexpl
#endif
#define float_type long double
#include <s_ldexp.c>

View File

@ -0,0 +1,2 @@
#define FUNC log1pl
#include <s_atanl.c>

View File

@ -0,0 +1,2 @@
#define FUNC logbl
#include <s_atanl.c>

View File

@ -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)

View File

@ -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>

View File

@ -0,0 +1,3 @@
#define FUNC modfl
#define float_type long double
#include <s_modf.c>

View File

@ -0,0 +1,2 @@
#define FUNC rintl
#include <s_atanl.c>

View File

@ -0,0 +1,2 @@
#define FUNC scalbnl
#include <s_ldexpl.c>

View File

@ -0,0 +1,2 @@
#define FUNC significandl
#include <s_atanl.c>

View File

@ -0,0 +1,2 @@
#define FUNC sinl
#include <s_atanl.c>

View File

@ -0,0 +1,2 @@
#define FUNC tanhl
#include <s_atanl.c>

View File

@ -0,0 +1,2 @@
#define FUNC tanl
#include <s_atanl.c>

View File

@ -1,2 +0,0 @@
#define FUNC sin
#include <acos.c>

View File

@ -1,2 +0,0 @@
#define FUNC sinh
#include <acos.c>

View File

@ -1,2 +0,0 @@
#define FUNC sqrt
#include <acos.c>

View File

@ -1,2 +0,0 @@
#define FUNC tan
#include <acos.c>

View File

@ -1,2 +0,0 @@
#define FUNC tanh
#include <acos.c>

View File

@ -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)

View File

@ -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)

View File

@ -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