Commit Graph

405 Commits

Author SHA1 Message Date
Joseph Myers 9984dd0126 Use hex float 64-bit values in ldbl-96 asinl (bug 14803). 2012-11-28 21:46:16 +00:00
Joseph Myers 0a42601f27 Fix ldbl-128ibm atanl spurious underflows (bug 14871). 2012-11-22 19:56:47 +00:00
Joseph Myers c60d3bf2fa Fix sign of inexact zero results for ldbl-128ibm fmal. 2012-11-22 15:00:35 +00:00
Joseph Myers ef1e0867c0 Fix ldbl-128ibm powl spurious underflows. 2012-11-22 14:59:45 +00:00
Joseph Myers 1468ded38e Fix ldbl-128ibm hypotl internal underflows (bug 14869). 2012-11-22 14:58:41 +00:00
Joseph Myers 8e27e3cc45 Fix ldbl-128ibm hypotl inaccuracy for arguments with large ratio (bug 14868). 2012-11-22 14:57:22 +00:00
Joseph Myers 7c7feb4772 Fix expm1l spurious underflows for ldbl-128ibm. 2012-11-22 14:55:17 +00:00
Joseph Myers cf9a5d1861 Fix set-but-not-used warnings in ldbl-128 nearbyintl, rintl. 2012-11-20 14:26:07 +00:00
David S. Miller 6d33cc9d9b Fix spurious underflows in ldbl-128 atan implementation.
With help from Joseph Myers.
	* sysdeps/ieee754/ldbl-128/s_atanl.c (__atanl): Handle tiny and
	very large arguments properly.
	* math/libm-test.inc (atan_test): New tests.
	(atan2_test): New tests.
	* sysdeps/sparc/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
2012-11-19 15:31:24 -08:00
David S. Miller 05b227bdae Correct tinyness handling in long-double and float y0/y1.
With help from Joseph Myers.
	* sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Adjust tinyness
	cutoff to 2**-13.
	* sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Adjust tinyness
	cutoff to 2**-25.
	* sysdeps/ieee754/ldbl-128/e_j0l.c (U0): New constant.
	( __ieee754_y0l): Avoid arithmetic underflow when 'x' is very
	small.
	* sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_y1l): Likewise.
	* math/libm-test.inc (y0_test): New tests.
	(y1_test): New tests.
	* sysdeps/i386/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
	* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-11-18 12:33:53 -08:00
David S. Miller 8e18b86d4a Fix BZ #14811 for ldbl-128 too.
[BZ #14811]
	* sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Saturate
	nonzero exponents with absolute value below 0x1p-128 to +/-
	0x1p-128.
2012-11-16 21:39:54 -08:00
David S. Miller 447885ebf1 Don't generate underflow for very small values in log1pl.
* sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl): If xm1 is
	smaller than LDBL_EPSILON/2.0L, just return xm1.
2012-11-16 09:31:38 -08:00
Joseph Myers 60e235ee2a Fix spurious underflows from pow with results close to 1 (bug 14811). 2012-11-07 13:03:31 +00:00
Joseph Myers 82477c28f4 Fix fma underflows with small x * y (bug 14793). 2012-11-06 14:12:54 +00:00
Joseph Myers a0c2940d67 Fix fma overflow results outside round-to-nearest mode (bug 14797). 2012-11-04 19:26:02 +00:00
Joseph Myers 5b5b04d628 Make fma use of Dekker and Knuth algorithms use round-to-nearest (bug 14796). 2012-11-03 19:48:53 +00:00
Joseph Myers 473611b22d Fix fma (a, b, c) for small a * b (bugs 14784, 14785). 2012-11-01 16:47:26 +00:00
Joseph Myers 16a0e2ec87 Fix ldbl-128ibm atan2l for x near 1. 2012-10-31 20:44:59 +00:00
Joseph Myers ef82f4da79 Fix fma underflow exceptions in after-rounding edge cases. 2012-10-31 13:01:17 +00:00
Joseph Myers 8627a2329c Fix fma missing underflows and bad results for some subnormal results (bugs 14152, 14783). 2012-10-30 13:54:50 +00:00
Roland McGrath b8493de0ec Add missing magic to GLIBC_PROVIDES. 2012-10-09 15:41:30 -07:00
Joseph Myers bec749fda1 Fix sign of inexact zero return from fma (bug 14645). 2012-10-01 08:30:06 +00:00
Joseph Myers 8ec5b01346 Fix sign of exact zero return from fma (bug 14638). 2012-09-29 18:31:54 +00:00
Steve Ellcey 40cb3caf83 Remove sysdeps/ieee754/ldbl-128/bits/huge_vall.h and let builds
use bits/huge_vall.h instead.  There is no longer any need for
the special huge_vall.h file.
2012-09-27 14:06:11 -07:00
Joseph Myers d032e0d29b Fix inaccuracy of clog, clog10 near |z| = 1 (bug 13629). 2012-09-25 19:43:49 +00:00
Liubov Dmitrieva 22bf5c1793 Add optimized sincosf for SSE2 for x86 and x86-64 2012-09-25 20:47:20 +02:00
Liubov Dmitrieva 4ffffbd272 Add optimized sinf and cosf routines for x86 and x86-64
* sysdeps/i386/i686/fpu/multiarch/Makefile (sysdep_routines):
	Add s_sinf-sse2, s_conf-sse2.

	* sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S: New file.
	* sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S: New file.
	* sysdeps/i386/i686/fpu/multiarch/s_sinf.c: New file.
	* sysdeps/i386/i686/fpu/multiarch/s_cosf.c: New file.

	* sysdeps/ieee754/flt-32/s_sinf.c (SINF, SINF_FUNC): Add macros
	for using routine as __sinf_ia32.
	Use macro for function declaration and weak_alias.
	* sysdeps/ieee754/flt-32/s_cosf.c (COSF, COSF_FUNC): Add macros
	for using routine as __cosf_ia32.
	Use macro for function declaration and weak_alias.

	* sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: Fix Copyright.
	* sysdeps/i386/i686/fpu/multiarch/e_expf.c: Fix Copyright.

	* sysdeps/x86_64/fpu/s_sinf.S: New file.
	* sysdeps/x86_64/fpu/s_cosf.S: New file.
	* sysdeps/x86_64/fpu/libm-test-ulps: Update.

	* math/libm-test.inc (cos_test): Add more test cases.
	(sin_test): Likewise.
	(sincos_test): Likewise.
2012-09-03 15:32:13 +02:00
Marek Polacek 31035e80a4 Quash warning in s_sincosl. 2012-08-17 23:44:53 +02:00
Roland McGrath bea9b19322 Fix lots of bitrot for stub configurations. 2012-07-30 16:34:33 -07:00
Marek Polacek 354691b7b5 Set up errno properly for yn. 2012-07-25 12:59:36 +02:00
Marek Polacek 541428fecf Fix ynl return value with LDBL_MIN. 2012-07-12 16:34:47 +02:00
Adhemerval Zanella 28cfe84316 Fix ctan, ctanh of subnormals in round-upwards mode (bug 14328).
IBM long double fixes and POWER ulps update.
2012-07-11 09:19:27 -03:00
Joseph Myers 9ad63c23ea Fix tanf underflow close to pi/4 (bug 14154). 2012-07-06 21:19:38 +00:00
Joseph Myers 7a845b2c23 Fix float range reduction problems (bug 14283). 2012-07-03 17:11:41 +00:00
Joseph Myers b7abb4bf78 Fix wordsize-64 cosh regression (bug 14273). 2012-06-21 19:26:09 +00:00
Joseph Myers 10285c2113 Fix pow (0.0, -Inf) (bug 14241). 2012-06-15 11:27:51 +00:00
Adhemerval Zanella 1b671feb61 Fix for wrong ldbl128-ibm fmodl commit 2012-06-05 21:33:23 -03:00
Adhemerval Zanella 6043738b36 Fix spurious undeflow for ldbl-128ibm erfl
For values higher than 25.6283 erflc underflow, so adjust erfl
to return a constant value based argument sign.
2012-06-05 10:42:49 -03:00
Adhemerval Zanella 34ae0b3270 Fix ldbl128ibm fmodl for subnormals. 2012-06-05 10:16:49 -03:00
Joseph Myers c5bfe3d5ba Fix fmod for subnormals (bug 14048). 2012-06-01 19:05:46 +00:00
Joseph Myers 4842e4fe5f Ensure additions are not scheduled after fetestexcept in fmaf and fmal. 2012-06-01 19:02:21 +00:00
Aurelien Jarno efb734887e Add a barrier in the double fma implementation. 2012-06-01 19:01:17 +00:00
Andreas Schwab 25dbcb277a Optimize handling of denormals in logb/logbf/logbl 2012-05-26 13:53:22 +02:00
Joseph Myers b65504975c Fix acosf underflow (bug 14153). 2012-05-25 11:07:07 +00:00
Andreas Schwab d18ea0c5e6 Remove use of INTDEF/INTUSE in libio 2012-05-24 23:06:20 +02:00
Andreas Schwab 5bd66283db Track dependencies for .oS-only objects 2012-05-16 18:47:38 +02:00
Adhemerval Zanella 9ea01d93f7 Log2 and log10 for wordsize-64.
This patch also fixes indentation on default dbl-64 code.
2012-05-15 16:34:41 -03:00
H.J. Lu c044d724dc Use __builtin_clzll on int64 in __logb 2012-05-14 05:04:11 -07:00
Adhemerval Zanella 89c9aa491a Fix for logb/logbf/logbl (bugs 13954/13955/13956)
POSIX 2008 states that if the input for 'logb[f|l]' is a subnormal number
it should be treated as if it were normalized.  This means the
implementation should calculate the log2 of the mantissa and add it to the
subnormal exponent (-126 for float and -1022 for double and IBM long
double).  This patch takes care of that.
2012-05-10 15:11:55 -05:00
Joseph Myers d8b82cad1b Fix exp10 inaccuracy and exceptions (bugs 13884, 13914). 2012-05-06 18:23:44 +00:00