about summary refs log tree commit diff
path: root/sysdeps/ieee754/dbl-64/e_lgamma_r.c
Commit message (Collapse)AuthorAgeFilesLines
* Avoid excess range overflowing results from cosh, sinh, lgamma (bug 18980).Joseph Myers2015-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various i386 libm functions return values with excess range and precision; Wilco Dijkstra's patches to make isfinite etc. expand inline cause this pre-existing issue to result in test failures (when e.g. a result that overflows float but not long double gets counted as overflowing for some purposes but not others). This patch addresses those cases arising from functions defined in C, adding a math_narrow_eval macro that forces values to memory to eliminate excess precision if FLT_EVAL_METHOD indicates this is needed, and is a no-op otherwise. I'll convert existing uses of volatile and asm for this purpose to use the new macro later, once i386 has clean test results again (which requires fixes for .S files as well). Tested for x86_64 and x86. Committed. [BZ #18980] * sysdeps/generic/math_private.h: Include <float.h>. (math_narrow_eval): New macro. [FLT_EVAL_METHOD != 0] (excess_precision): Likewise. * sysdeps/ieee754/dbl-64/e_cosh.c (__ieee754_cosh): Use math_narrow_eval on overflowing return value. * sysdeps/ieee754/dbl-64/e_lgamma_r.c (__ieee754_lgamma_r): Likewise. * sysdeps/ieee754/dbl-64/e_sinh.c (__ieee754_sinh): Likewise. * sysdeps/ieee754/flt-32/e_coshf.c (__ieee754_coshf): Likewise. * sysdeps/ieee754/flt-32/e_lgammaf_r.c (__ieee754_lgammaf_r): Likewise. * sysdeps/ieee754/flt-32/e_sinhf.c (__ieee754_sinhf): Likewise.
* Fix lgamma (negative) inaccuracy (bug 2542, bug 2543, bug 2558).Joseph Myers2015-09-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing implementations of lgamma functions (except for the ia64 versions) use the reflection formula for negative arguments. This suffers large inaccuracy from cancellation near zeros of lgamma (near where the gamma function is +/- 1). This patch fixes this inaccuracy. For arguments above -2, there are no zeros and no large cancellation, while for sufficiently large negative arguments the zeros are so close to integers that even for integers +/- 1ulp the log(gamma(1-x)) term dominates and cancellation is not significant. Thus, it is only necessary to take special care about cancellation for arguments around a limited number of zeros. Accordingly, this patch uses precomputed tables of relevant zeros, expressed as the sum of two floating-point values. The log of the ratio of two sines can be computed accurately using log1p in cases where log would lose accuracy. The log of the ratio of two gamma(1-x) values can be computed using Stirling's approximation (the difference between two values of that approximation to lgamma being computable without computing the two values and then subtracting), with appropriate adjustments (which don't reduce accuracy too much) in cases where 1-x is too small to use Stirling's approximation directly. In the interval from -3 to -2, using the ratios of sines and of gamma(1-x) can still produce too much cancellation between those two parts of the computation (and that interval is also the worst interval for computing the ratio between gamma(1-x) values, which computation becomes more accurate, while being less critical for the final result, for larger 1-x). Because this can result in errors slightly above those accepted in glibc, this interval is instead dealt with by polynomial approximations. Separate polynomial approximations to (|gamma(x)|-1)(x-n)/(x-x0) are used for each interval of length 1/8 from -3 to -2, where n (-3 or -2) is the nearest integer to the 1/8-interval and x0 is the zero of lgamma in the relevant half-integer interval (-3 to -2.5 or -2.5 to -2). Together, the two approaches are intended to give sufficient accuracy for all negative arguments in the problem range. Outside that range, the previous implementation continues to be used. Tested for x86_64, x86, mips64 and powerpc. The mips64 and powerpc testing shows up pre-existing problems for ldbl-128 and ldbl-128ibm with large negative arguments giving spurious "invalid" exceptions (exposed by newly added tests for cases this patch doesn't affect the logic for); I'll address those problems separately. [BZ #2542] [BZ #2543] [BZ #2558] * sysdeps/ieee754/dbl-64/e_lgamma_r.c (__ieee754_lgamma_r): Call __lgamma_neg for arguments from -28.0 to -2.0. * sysdeps/ieee754/flt-32/e_lgammaf_r.c (__ieee754_lgammaf_r): Call __lgamma_negf for arguments from -15.0 to -2.0. * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r): Call __lgamma_negl for arguments from -48.0 or -50.0 to -2.0. * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (__ieee754_lgammal_r): Call __lgamma_negl for arguments from -33.0 to -2.0. * sysdeps/ieee754/dbl-64/lgamma_neg.c: New file. * sysdeps/ieee754/dbl-64/lgamma_product.c: Likewise. * sysdeps/ieee754/flt-32/lgamma_negf.c: Likewise. * sysdeps/ieee754/flt-32/lgamma_productf.c: Likewise. * sysdeps/ieee754/ldbl-128/lgamma_negl.c: Likewise. * sysdeps/ieee754/ldbl-128/lgamma_productl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/lgamma_negl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/lgamma_productl.c: Likewise. * sysdeps/ieee754/ldbl-96/lgamma_negl.c: Likewise. * sysdeps/ieee754/ldbl-96/lgamma_product.c: Likewise. * sysdeps/ieee754/ldbl-96/lgamma_productl.c: Likewise. * sysdeps/generic/math_private.h (__lgamma_negf): New prototype. (__lgamma_neg): Likewise. (__lgamma_negl): Likewise. (__lgamma_product): Likewise. (__lgamma_productl): Likewise. * math/Makefile (libm-calls): Add lgamma_neg and lgamma_product. * math/auto-libm-test-in: Add more tests of lgamma. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
* Fix lgamma implementations for -Wuninitialized.Joseph Myers2015-05-211-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you remove the "override CFLAGS += -Wno-uninitialized" in math/Makefile, you get errors from lgamma implementations of the form: ../sysdeps/ieee754/dbl-64/e_lgamma_r.c: In function '__ieee754_lgamma_r': ../sysdeps/ieee754/dbl-64/e_lgamma_r.c:297:13: error: 'nadj' may be used uninitialized in this function [-Werror=maybe-uninitialized] if(hx<0) r = nadj - r; This is one of the standard kinds of false positive uninitialized warnings: nadj is set under a certain condition, and then later used under the same condition. This patch uses DIAG_* macros to suppress the warning on the use of nadj. The ldbl-128 / ldbl-128ibm implementation has a substantially different structure that avoids this issue. Tested for x86_64. (In fact this patch eliminates the need for that -Wno-uninitialized on x86_64, but I want to test on more architectures before removing it.) * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Include <libc-internal.h>. (__ieee754_lgamma_r): Ignore uninitialized warnings around use of NADJ. * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Include <libc-internal.h>. (__ieee754_lgammaf_r): Ignore uninitialized warnings around use of NADJ. * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Include <libc-internal.h>. (__ieee754_lgammal_r): Ignore uninitialized warnings around use of NADJ.
* Use <> for math.h and math_private.h everywhere.Richard Henderson2012-03-091-2/+2
| | | | Entire tree edited via find | grep | sed.
* Optimize libmUlrich Drepper2011-10-121-51/+34
| | | | | libm is now somewhat integrated with gcc's -ffinite-math-only option and lots of the wrapper functions have been optimized.
* [BZ #4407]Ulrich Drepper2007-10-061-1/+6
| | | | | | | | | * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Fix *signgamp for -0.0. * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Likewise. * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise. * math/libm-test.inc: Add test for this case. Half the patch by Christian Iseli <christian.iseli@licr.org>.
* Update.Ulrich Drepper2002-09-101-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-09-09 Jakub Jelinek <jakub@redhat.com> * include/math.h (__finite_internal, __finitef_internal, __finitel_internal, __isinf_internal, __isnan_internal): Remove. (isfinite): Remove. (__finite, __isinf, __isnan, __finitef, __isinff, __isnanf, __finitel, __isinfl, __isnanl): Add hidden_proto. (__fpclassify, __fpclassifyf, __fpclassifyl, __expm1l): Add libm_hidden_proto. * math/Makefile (libm-calls): Add s_isinf and s_isnan. * stdio-common/printf_fp.c (__printf_fp): Remove INTUSE from __is{inf,nan} calls. * stdio-common/printf_size.c (printf_size): Likewise. * sysdeps/generic/printf_fphex.c (__printf_fphex): Likewise. * sysdeps/generic/s_ldexp.c (__ldexp): Likewise. * sysdeps/generic/s_ldexpf.c (__ldexpf): Likewise. * sysdeps/generic/s_ldexpl.c (__ldexpl): Likewise. * sysdeps/generic/s_expm1l.c (__expm1l): Add libm_hidden_def. * sysdeps/i386/fpu/s_finite.S (__finite_internal): Remove alias. (__finite): Add hidden_def. * sysdeps/i386/fpu/s_finitef.S (__finitef_internal): Remove alias. (__finitef): Add hidden_def. * sysdeps/i386/fpu/s_finitel.S (__finitel_internal): Remove alias. (__finitel): Add hidden_def. * sysdeps/i386/fpu/s_isinfl.c (__isinfl): Remove INTDEF. Add hidden_def. * sysdeps/i386/fpu/s_isnanl.c (__isnanl): Likewise. * sysdeps/i386/fpu/s_fpclassifyl.c (__fpclassifyl): Add libm_hidden_def. * sysdeps/i386/fpu/s_expm1l.S (__expm1l): Likewise. * sysdeps/ieee754/dbl-64/s_finite.c (__finite): Remove INTDEF. Add hidden_def. * sysdeps/ieee754/dbl-64/s_isinf.c (__isinf): Likewise. (__isinfl): Remove INTDEF. * sysdeps/ieee754/dbl-64/s_isnan.c (__isnan): Remove INTDEF. Add hidden_def. (__isnanl): Remove INTDEF. * sysdeps/ieee754/dbl-64/s_fpclassify.c (__fpclassify): Add libm_hidden_def. * sysdeps/ieee754/dbl-64/e_lgamma_r.c (sin_pi): Use __sin and __cos instead of sin and cos. * sysdeps/ieee754/flt-32/s_finitef.c (__finitef): Remove INTDEF. Add hidden_def. * sysdeps/ieee754/flt-32/s_isinff.c (__isinff): Likewise. * sysdeps/ieee754/flt-32/s_isnanf.c (__isnanf): Likewise. * sysdeps/ieee754/flt-32/s_fpclassifyf.c (__fpclassifyf): Add libm_hidden_def. * sysdeps/ieee754/ldbl-128/s_finitel.c (__finitel): Remove INTDEF. Add hidden_def. * sysdeps/ieee754/ldbl-128/s_isinfl.c (__isinfl): Likewise. * sysdeps/ieee754/ldbl-128/s_isnanl.c (__isnanl): Likewise. * sysdeps/ieee754/ldbl-128/s_fpclassifyl.c (__fpclassifyl): Add libm_hidden_def. * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Add libm_hidden_def. * sysdeps/ieee754/ldbl-96/s_finitel.c (__finitel): Remove INTDEF. Add hidden_def. * sysdeps/ieee754/ldbl-96/s_isinfl.c (__isinfl): Likewise. * sysdeps/ieee754/ldbl-96/s_isnanl.c (__isnanl): Likewise. * sysdeps/ieee754/ldbl-96/s_fpclassifyl.c (__fpclassifyl): Add libm_hidden_def. * sysdeps/ia64/fpu/s_finite.S (__finite_internal, __finitef_internal, __finitel_internal): Remove aliases. (__finite, __finitef, __finitel): Add hidden_def. * sysdeps/ia64/fpu/s_isnan.S (__isnan_internal, __isnanf_internal, __isnanl_internal): Remove aliases. (__isnan, __isnanf, __isnanl): Add hidden_def. * sysdeps/ia64/fpu/s_isinf.S (__isinf_internal, __isinff_internal, __isinfl_internal): Remove aliases. (__isinf, __isinff, __isinfl): Add hidden_def. * sysdeps/ia64/fpu/s_fpclassify.S (__fpclassify, __fpclassifyf, __fpclassifyl): Add libm_hidden_def. * sysdeps/ia64/fpu/s_expm1l.S (__expm1l): Likewise. * sysdeps/m68k/s_isinfl.c (__isinfl): Remove INTDEF. Add hidden_def. * sysdeps/m68k/fpu/s_isinf.c (INTDEFX): Remove. (hidden_defx): Define and use. * sysdeps/m68k/fpu/s_fpclassifyl.c (__fpclassifyl): Add libm_hidden_def. * sysdeps/m68k/fpu/s_expm1l.c (__expm1l): Likewise. * sysdeps/m68k/s_isnanl.c (__isnanl): Add hidden_def. * sysdeps/powerpc/fpu/s_isnan.c (__isnan, __isnanf, __isnanl): Remove INTDEF. (__isnan, __isnanf): Add hidden_def. * sysdeps/x86_64/fpu/s_finitel.S (__finitel_internal): Remove alias. (__finitel): Add libm_hidden_def. * sysdeps/x86_64/fpu/s_expm1l.S (__expm1l): Likewise. * include/fenv.h (feraiseexcept, fesetenv): Add libm_hidden_proto. * sysdeps/alpha/fpu/fesetenv.c (fesetenv): Add libm_hidden_ver. * sysdeps/alpha/fpu/fraiseexcpt.c (feraiseexcept): Likewise. * sysdeps/arm/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/arm/fpu/fraiseexcpt.c (feraiseexcept): Likewise. * sysdeps/generic/fesetenv.c (fesetenv): Likewise. * sysdeps/generic/fraiseexcpt.c (feraiseexcept): Likewise. * sysdeps/i386/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/i386/fpu/fraiseexcpt.c (feraiseexcept): Likewise. * sysdeps/m68k/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/m68k/fpu/fraiseexcpt.c (feraiseexcept): Likewise. * sysdeps/mips/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/mips/fpu/fraiseexcpt.c (feraiseexcept): Likewise. * sysdeps/powerpc/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/powerpc/fpu/fraiseexcpt.c (feraiseexcept): Likewise. * sysdeps/sparc/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/sparc/fpu/fraiseexcpt.c (feraiseexcept): Likewise. * sysdeps/hppa/fpu/fesetenv.c (fesetenv): Add libm_hidden_def. * sysdeps/hppa/fpu/fraiseexcpt.c (feraiseexcept): Likewise. * sysdeps/ia64/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/ia64/fpu/fraiseexcpt.c (feraiseexcept): Likewise. * sysdeps/sh/sh4/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/sh/sh4/fpu/fraiseexcpt.c (feraiseexcept): Likewise. * sysdeps/s390/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/s390/fpu/fraiseexcpt.c (feraiseexcept): Likewise. * sysdeps/x86_64/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/x86_64/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
* Update.Ulrich Drepper2001-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-12 Ulrich Drepper <drepper@redhat.com> * sysdeps/ieee754/dbl-64/e_remainder.c: Fix handling of boundary conditions. * sysdeps/ieee754/dbl-64/e_pow.c: Fix handling of boundary conditions. * sysdeps/ieee754/dbl-64/s_sin.c (__sin): Handle Inf and NaN correctly. (__cos): Likewise. * sysdeps/ieee754/dbl-64/e_asin.c (__ieee754_asin): Handle NaN correctly. (__ieee754_acos): Likewise. redefinition. * sysdeps/ieee754/dbl-64/endian.h: Define also one of BIG_ENDI and LITTLE_ENDI. * sysdeps/ieee754/dbl-64/MathLib.h (Init_Lib): Use void as parameter list.
* Update.Ulrich Drepper2001-03-121-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-11 Ulrich Drepper <drepper@redhat.com> Last-bit accurate math library implementation by IBM Haifa. Contributed by Abraham Ziv <ziv@il.ibm.com>, Moshe Olshansky <olshansk@il.ibm.com>, Ealan Henis <ealan@il.ibm.com>, and Anna Reitman <reitman@il.ibm.com>. * math/Makefile (dbl-only-routines): New variable. (libm-routines): Add $(dbl-only-routines). * sysdeps/ieee754/dbl-64/e_acos.c: Empty, definition is in e_asin.c. * sysdeps/ieee754/dbl-64/e_asin.c: Replaced with accurate asin implementation. * sysdeps/ieee754/dbl-64/e_atan2.c: Replaced with accurate atan2 implementation. * sysdeps/ieee754/dbl-64/e_exp.c: Replaced with accurate exp implementation. * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Don't use __kernel_sin and __kernel_cos. * sysdeps/ieee754/dbl-64/e_log.c: Replaced with accurate log implementation. * sysdeps/ieee754/dbl-64/e_remainder.c: Replaced with accurate remainder implementation. * sysdeps/ieee754/dbl-64/e_pow.c: Replaced with accurate pow implementation. * sysdeps/ieee754/dbl-64/e_sqrt.c: Replaced with accurate sqrt implementation. * sysdeps/ieee754/dbl-64/k_cos.c: Empty, definition is in s_sin.c. * sysdeps/ieee754/dbl-64/k_sin.c: Empty, definition is in s_sin.c. * sysdeps/ieee754/dbl-64/s_atan.c: Replaced with accurate atan implementation. * sysdeps/ieee754/dbl-64/s_cos.c: Empty, definition is in s_sin.c. * sysdeps/ieee754/dbl-64/s_sin.c: Replaced with accurate sin/cos implementation. * sysdeps/ieee754/dbl-64/s_sincos.c: Rewritten to not use __kernel_sin and __kernel_cos. * sysdeps/ieee754/dbl-64/s_tan.c: Replaced with accurate tan implementation. * sysdeps/ieee754/dbl-64/Dist: Add new non-code files. * sysdeps/ieee754/dbl-64/MathLib.h: New file. * sysdeps/ieee754/dbl-64/asincos.tbl: New file. * sysdeps/ieee754/dbl-64/atnat.h: New file. * sysdeps/ieee754/dbl-64/atnat2.h: New file. * sysdeps/ieee754/dbl-64/branred.c: New file. * sysdeps/ieee754/dbl-64/branred.h: New file. * sysdeps/ieee754/dbl-64/dla.h: New file. * sysdeps/ieee754/dbl-64/doasin.c: New file. * sysdeps/ieee754/dbl-64/doasin.h: New file. * sysdeps/ieee754/dbl-64/dosincos.c: New file. * sysdeps/ieee754/dbl-64/dosincos.h: New file. * sysdeps/ieee754/dbl-64/endian.h: New file. * sysdeps/ieee754/dbl-64/halfulp.c: New file. * sysdeps/ieee754/dbl-64/mpa.c: New file. * sysdeps/ieee754/dbl-64/mpa.h: New file. * sysdeps/ieee754/dbl-64/mpa2.h: New file. * sysdeps/ieee754/dbl-64/mpatan.c: New file. * sysdeps/ieee754/dbl-64/mpatan.h: New file. * sysdeps/ieee754/dbl-64/mpatan2.c: New file. * sysdeps/ieee754/dbl-64/mpexp.c: New file. * sysdeps/ieee754/dbl-64/mpexp.h: New file. * sysdeps/ieee754/dbl-64/mplog.c: New file. * sysdeps/ieee754/dbl-64/mplog.h: New file. * sysdeps/ieee754/dbl-64/mpsqrt.c: New file. * sysdeps/ieee754/dbl-64/mpsqrt.h: New file. * sysdeps/ieee754/dbl-64/mptan.c: New file. * sysdeps/ieee754/dbl-64/mydefs.h: New file. * sysdeps/ieee754/dbl-64/powtwo.tbl: New file. * sysdeps/ieee754/dbl-64/root.tbl: New file. * sysdeps/ieee754/dbl-64/sincos.tbl: New file. * sysdeps/ieee754/dbl-64/sincos32.c: New file. * sysdeps/ieee754/dbl-64/sincos32.h: New file. * sysdeps/ieee754/dbl-64/slowexp.c: New file. * sysdeps/ieee754/dbl-64/slowpow.c: New file. * sysdeps/ieee754/dbl-64/uasncs.h: New file. * sysdeps/ieee754/dbl-64/uatan.tbl: New file. * sysdeps/ieee754/dbl-64/uexp.h: New file. * sysdeps/ieee754/dbl-64/uexp.tbl: New file. * sysdeps/ieee754/dbl-64/ulog.h: New file. * sysdeps/ieee754/dbl-64/ulog.tbl: New file. * sysdeps/ieee754/dbl-64/upow.h: New file. * sysdeps/ieee754/dbl-64/upow.tbl: New file. * sysdeps/ieee754/dbl-64/urem.h: New file. * sysdeps/ieee754/dbl-64/uroot.h: New file. * sysdeps/ieee754/dbl-64/usncs.h: New file. * sysdeps/ieee754/dbl-64/utan.h: New file. * sysdeps/ieee754/dbl-64/utan.tbl: New file. * sysdeps/i386/fpu/branred.c: New file. * sysdeps/i386/fpu/doasin.c: New file. * sysdeps/i386/fpu/dosincos.c: New file. * sysdeps/i386/fpu/halfulp.c: New file. * sysdeps/i386/fpu/mpa.c: New file. * sysdeps/i386/fpu/mpatan.c: New file. * sysdeps/i386/fpu/mpatan2.c: New file. * sysdeps/i386/fpu/mpexp.c: New file. * sysdeps/i386/fpu/mplog.c: New file. * sysdeps/i386/fpu/mpsqrt.c: New file. * sysdeps/i386/fpu/mptan.c: New file. * sysdeps/i386/fpu/sincos32.c: New file. * sysdeps/i386/fpu/slowexp.c: New file. * sysdeps/i386/fpu/slowpow.c: New file. * sysdeps/ia64/fpu/branred.c: New file. * sysdeps/ia64/fpu/doasin.c: New file. * sysdeps/ia64/fpu/dosincos.c: New file. * sysdeps/ia64/fpu/halfulp.c: New file. * sysdeps/ia64/fpu/mpa.c: New file. * sysdeps/ia64/fpu/mpatan.c: New file. * sysdeps/ia64/fpu/mpatan2.c: New file. * sysdeps/ia64/fpu/mpexp.c: New file. * sysdeps/ia64/fpu/mplog.c: New file. * sysdeps/ia64/fpu/mpsqrt.c: New file. * sysdeps/ia64/fpu/mptan.c: New file. * sysdeps/ia64/fpu/sincos32.c: New file. * sysdeps/ia64/fpu/slowexp.c: New file. * sysdeps/ia64/fpu/slowpow.c: New file. * sysdeps/m68k/fpu/branred.c: New file. * sysdeps/m68k/fpu/doasin.c: New file. * sysdeps/m68k/fpu/dosincos.c: New file. * sysdeps/m68k/fpu/halfulp.c: New file. * sysdeps/m68k/fpu/mpa.c: New file. * sysdeps/m68k/fpu/mpatan.c: New file. * sysdeps/m68k/fpu/mpatan2.c: New file. * sysdeps/m68k/fpu/mpexp.c: New file. * sysdeps/m68k/fpu/mplog.c: New file. * sysdeps/m68k/fpu/mpsqrt.c: New file. * sysdeps/m68k/fpu/mptan.c: New file. * sysdeps/m68k/fpu/sincos32.c: New file. * sysdeps/m68k/fpu/slowexp.c: New file. * sysdeps/m68k/fpu/slowpow.c: New file. * iconvdata/gconv-modules: Add a number of alias, mostly for IBM codepages.
* Update.Ulrich Drepper1999-10-221-2/+0
| | | | | | | | | * sysdeps/ieee754/ldbl-96/s_nexttoward.c: If x == y, return y. * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Don't handle -Inf special. * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): Check for -Inf and return NaN.
* Update.Ulrich Drepper1999-07-141-0/+314