+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.
__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)
__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)
__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;
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,
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. */
+++ /dev/null
-/* 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);
-}
+++ /dev/null
-#define FUNC asin
-#include <acos.c>
+++ /dev/null
-#define FUNC atan
-#include <acos.c>
+++ /dev/null
-/* 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
+++ /dev/null
-#define FUNC atanh
-#include <acos.c>
+++ /dev/null
-
-#define FUNC ceil
-
-#include <acos.c>
+++ /dev/null
-#define FUNC cos
-#include <acos.c>
+++ /dev/null
-#define FUNC cosh
-#include <acos.c>
+++ /dev/null
-/* 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)
#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);
}
-/* 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>
--- /dev/null
+#define FUNC __ieee754_asinl
+#include <e_acosl.c>
--- /dev/null
+#define FUNC __ieee754_expl
+#include <e_acosl.c>
#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);
}
-/* 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>
--- /dev/null
+#ifndef FUNC
+#define FUNC __ieee754_fmodl
+#endif
+#define float_type long double
+#include <e_fmod.c>
--- /dev/null
+#define FUNC __ieee754_log10l
+#include <e_acosl.c>
--- /dev/null
+#define FUNC __ieee754_logl
+#include <e_acosl.c>
--- /dev/null
+#define FUNC __ieee754_powl
+#include <e_fmodl.c>
--- /dev/null
+#define FUNC __ieee754_remainderl
+#include <e_fmodl.c>
--- /dev/null
+#define FUNC __ieee754_scalbl
+#include <e_fmodl.c>
--- /dev/null
+#define FUNC __ieee754_sinhl
+#include <e_acosl.c>
--- /dev/null
+#define FUNC __ieee754_sqrtl
+#include <e_acosl.c>
+++ /dev/null
-#define FUNC exp
-#define OP etox
-#include <acos.c>
+++ /dev/null
-#define FUNC __expm1
-#define OP expm1
-#include <acos.c>
+++ /dev/null
-#define FUNC fabs
-#define OP abs
-#include <acos.c>
+++ /dev/null
-/* 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. */
+++ /dev/null
-#define FUNC floor
-#define OP intrz
-#include <acos.c>
+++ /dev/null
-/* 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);
-}
+++ /dev/null
-/* 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);
-}
+++ /dev/null
-/* 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)
+++ /dev/null
-/* 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)
+++ /dev/null
-#define FUNC __isnan
-#include <isinf.c>
-
-weak_alias (__isnan, isnan)
+++ /dev/null
-/* 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)
#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);
}
-/* 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>
--- /dev/null
+#define FUNC cosl
+#define float_type long double
+#include <k_cos.c>
#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);
}
-/* 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>
--- /dev/null
+#define FUNC sinl
+#define float_type long double
+#include <k_sin.c>
#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);
}
-/* 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>
--- /dev/null
+#define FUNC tanl
+#define float_type long double
+#include <k_tan.c>
+++ /dev/null
-/* 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);
-}
+++ /dev/null
-#define FUNC log
-#define OP logn
-#include <acos.c>
+++ /dev/null
-#define FUNC log10
-#include <acos.c>
+++ /dev/null
-#define FUNC log1p
-#include <acos.c>
+++ /dev/null
-/* 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
+++ /dev/null
-/* 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);
-}
+++ /dev/null
-#define FUNC __rint
-#define OP intr
-#include <acos.c>
-
-weak_alias (__rint, rint)
#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);
}
-/* 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>
--- /dev/null
+#ifndef FUNC
+#define FUNC atanl
+#endif
+#define float_type long double
+#include <s_atan.c>
--- /dev/null
+#define FUNC ceill
+#include <s_atanl.c>
--- /dev/null
+#define FUNC cosl
+#include <s_atanl.c>
--- /dev/null
+#define FUNC expm1l
+#include <s_atanl.c>
--- /dev/null
+#define FUNC fabsl
+#include <s_atanl.c>
--- /dev/null
+#define FUNC finitel
+#include <s_isinfl.c>
--- /dev/null
+#define FUNC floorl
+#include <s_atanl.c>
#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)
-/* 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>
--- /dev/null
+#define FUNC frexpl
+#define float_type long double
+#include <s_frexp.c>
#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)
-/* 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>
--- /dev/null
+#define FUNC ilogbl
+#define float_type long double
+#include <s_ilogb.c>
#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);
}
-/* 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>
--- /dev/null
+#ifndef FUNC
+#define FUNC isinfl
+#endif
+#define float_type long double
+#include <s_isinf.c>
--- /dev/null
+#define FUNC isnanl
+#include <s_isinfl.c>
#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);
}
-/* 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>
--- /dev/null
+#ifndef FUNC
+#define FUNC ldexpl
+#endif
+#define float_type long double
+#include <s_ldexp.c>
--- /dev/null
+#define FUNC log1pl
+#include <s_atanl.c>
--- /dev/null
+#define FUNC logbl
+#include <s_atanl.c>
#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)
-/* 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>
--- /dev/null
+#define FUNC modfl
+#define float_type long double
+#include <s_modf.c>
--- /dev/null
+#define FUNC rintl
+#include <s_atanl.c>
--- /dev/null
+#define FUNC scalbnl
+#include <s_ldexpl.c>
--- /dev/null
+#define FUNC significandl
+#include <s_atanl.c>
--- /dev/null
+#define FUNC sinl
+#include <s_atanl.c>
--- /dev/null
+#define FUNC tanhl
+#include <s_atanl.c>
--- /dev/null
+#define FUNC tanl
+#include <s_atanl.c>
+++ /dev/null
-#define FUNC sin
-#include <acos.c>
+++ /dev/null
-#define FUNC sinh
-#include <acos.c>
+++ /dev/null
-#define FUNC sqrt
-#include <acos.c>
+++ /dev/null
-#define FUNC tan
-#include <acos.c>
+++ /dev/null
-#define FUNC tanh
-#include <acos.c>
+++ /dev/null
-/* 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)
+++ /dev/null
-/* 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)
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