Joseph Myers
601a3a5fd5
Convert TEST_ff_f tests from code to data.
2013-05-12 13:17:09 +00:00
Joseph Myers
d8cd06db62
Improve tgamma accuracy (bugs 2546, 2560, 5159, 15426).
2013-05-08 11:58:18 +00:00
Joseph Myers
10de07f5fd
Fix catan, catanh spurious underflows (bug 15423).
2013-05-01 10:07:00 +00:00
Joseph Myers
caf84319c1
Fix catan, catanh inaccuracy from atan2 denominators near 0 (bug 15416).
2013-04-30 11:27:35 +00:00
Joseph Myers
5b4217d71f
Fix catan, catanh spurious overflows (bug 15409).
2013-04-27 14:57:41 +00:00
Allan McRae
4721b2d1ca
Update i386 libm-test ULPs
2013-04-27 15:13:12 +10:00
Joseph Myers
2f38fbfe09
Fix catan, catanh inaccuracy through use of log (bug 15394).
2013-04-24 18:49:13 +00:00
Carlos O'Donell
aba5e333d4
libm-test.inc: Fix tests where cos(PI/2) != 0.
...
The value of PI is never exactly PI in any floating point representation,
and the value of PI/2 is never PI/2. It is wrong to expect cos(M_PI_2l)
to return 0, instead it will return an answer that is non-zero because
M_PI_2l doesn't round to exactly PI/2 in the type used.
That is to say that the correct answer is to do the following:
* Take PI or PI/2.
* Round to the floating point representation.
* Take the rounded value and compute an infinite precision cos or sin.
* Use the rounded result of the infinite precision cos or sin as the
answer to the test.
I used printf to do the type rounding, and Wolfram's Alpha to do the
infinite precision cos calculations.
The following changes bring x86-64 and x86 to 1/2 ulp for two tests.
It shows that the x86 cos implementation is quite good, and that
our test are flawed.
Unfortunately given that the rounding errors are type dependent we
need to fix this for each type. No regressions on x86-64 or x86.
---
2013-04-11 Carlos O'Donell <carlos@redhat.com>
* math/libm-test.inc (cos_test): Fix PI/2 test.
(sincos_test): Likewise.
* sysdeps/x86_64/fpu/libm-test-ulps: Regenerate.
* sysdeps/i386/fpu/libm-test-ulps: Regenerate.
2013-04-11 08:52:18 -04:00
Thomas Schwinge
74d87055bf
Refer to two GCC PRs.
2013-04-03 14:13:44 +02:00
Joseph Myers
52ce486045
Fix cacosh inaccuracy and spurious exceptions (bug 15327).
2013-04-02 22:54:00 +00:00
Joseph Myers
ccc8cadf75
Fix casinh inaccuracy for imaginary part < 1.0, real part small (bug 10357).
2013-03-30 13:31:53 +00:00
Joseph Myers
3a7182a14b
Fix casinh inaccuracy near i, imaginary part > 1 (bug 15307).
2013-03-27 14:38:44 +00:00
Thomas Schwinge
5aa4a1a1fd
On 32-bit x86, disable certain tests involving sNaN values.
...
Follow-up to commit 495ded2c8c
.
2013-03-21 16:05:29 +01:00
Joseph Myers
98c48fe5cc
Fix Bessel function spurious overflows for ldbl-128 / ldbl-128ibm (bug 15285).
2013-03-21 13:57:21 +00:00
Joseph Myers
0a1b2ae6f6
Fix casinh inaccuracy for argument with imaginary part 1 (bug 15287).
2013-03-21 10:27:10 +00:00
Joseph Myers
d2f9799e7c
Fix y1l spurious overflows for ldbl-96 (bug 15283).
2013-03-16 17:51:48 +00:00
Joseph Myers
2366713d87
Remove remaining bounded-pointers support from i386 .S files.
2013-02-21 22:21:52 +00:00
Joseph Myers
92945b5261
Remove some bounded-pointers support from i386 .S files.
2013-02-19 21:58:08 +00:00
Joseph Myers
e97ed6ddbe
Remove bp-sym.h and BP_SYM uses from C code.
2013-02-14 13:12:02 +00:00
Joseph Myers
8cf28c5ebe
Fix casinh spurious underflows away from [-i,i] (bug 15062).
2013-01-31 22:55:29 +00:00
Siddhesh Poyarekar
0b57daebab
Fix application of the exception mask
...
Fixes BZ #14496 .
2013-01-18 14:16:25 +05:30
Joseph Myers
728d7b43fc
Fix cacos real-part inaccuracy for result real part near 0 (bug 15023).
2013-01-17 20:25:51 +00:00
Joseph Myers
a9708fed77
Fix casinh, casin overflow (bug 14996).
2013-01-07 14:59:53 +00:00
Joseph Myers
cdc1c96fba
Fix casinh, casin inaccuracy from cancellation (bug 14994).
2013-01-04 13:25:17 +00:00
Joseph Myers
568035b787
Update copyright notices with scripts/update-copyrights.
2013-01-02 19:05:09 +00:00
Joseph Myers
1bead169c3
Fix powl inaccuracy for x86_64 and x86 (bug 13881).
2012-11-28 13:40:54 +00:00
Andreas Schwab
fff1530e61
Update i386 libm-test ULPs
2012-11-22 14:59:33 +01: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
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
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
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
Allan McRae
19fcedd5fc
Update i386 ULPs for recently added math tests
2012-09-12 13:58:53 +10:00
Andreas Jaeger
bcd6c8dc64
Update libm-test-ulps
2012-09-03 15:43:56 +02:00
Andreas Jaeger
fab967007b
Another ULPs update.
2012-08-14 08:04:51 +02:00
Andreas Jaeger
e11f5155b2
Update i386 ULPs
2012-08-14 08:02:08 +02:00
Marek Polacek
b67e9372b2
Get rid of ASM_TYPE_DIRECTIVE{,_PREFIX}.
2012-08-02 21:04:29 +02:00
Joseph Myers
d0419dbfbd
Improve clog, clog10 handling of values with real or imaginary part slightly above 1 (bug 13629).
2012-07-31 14:21:19 +00:00
Joseph Myers
da865e95bc
Improve clog, clog10 handling of values with real or imaginary part 1 (bug 13629).
2012-07-26 11:31:35 +00:00
Joseph Myers
638a572eb0
Fix clog, clog10 spurious underflow exceptions (bug 14337).
2012-07-09 11:06:34 +00:00
Joseph Myers
9ad63c23ea
Fix tanf underflow close to pi/4 (bug 14154).
2012-07-06 21:19:38 +00:00
Joseph Myers
f17ac40d7c
Fix expm1 spurious underflow exceptions (bug 6778).
2012-07-06 11:17:41 +00:00
Joseph Myers
cdfe2c5eb3
Fix csqrt underflow (bugs 14157, 14331).
2012-07-05 11:02:13 +00:00
Joseph Myers
ca61cf32d9
Fix ctan, ctanh of subnormals in round-upwards mode (bug 14328).
2012-07-04 09:55:26 +00:00
Joseph Myers
7a845b2c23
Fix float range reduction problems (bug 14283).
2012-07-03 17:11:41 +00:00
H.J. Lu
25f1282ae5
Use i386 bits/mathinline.h for i386 and x86_64
2012-06-15 13:56:26 -07:00
H.J. Lu
ed1825f858
Disable x87 inline functions for x86-64
2012-06-15 13:53:27 -07:00
H.J. Lu
ddb2897514
Add SSE math and C++ namespace to i386 bits/mathinline.h
2012-06-12 21:10:00 -07:00
H.J. Lu
c08010c7cd
Use x86_64 fpu/bits/fenv.h for i386 and x86_64
2012-06-06 10:13:19 -07:00
Joseph Myers
795405f956
Don't include exceptions in libm-test-ulps test names.
2012-05-24 12:14:03 +00:00
Joseph Myers
80bad0ccae
Test underflow exceptions in libm-test.inc.
2012-05-24 11:26:36 +00:00
Joseph Myers
e0b16cc25c
Fix ccos, csin, ccosh, csinh overflows (bug 14123).
2012-05-19 15:35:29 +00:00
Andreas Jaeger
caae5a8101
Remove unused functions from i386/mathinline.h
2012-05-14 16:13:24 +02:00
Joseph Myers
495fd99f3a
Fix x86/x86_64 expm1l inaccuracy and exceptions (bugs 13885, 13923).
2012-05-07 19:13:08 +00:00
Joseph Myers
d8b82cad1b
Fix exp10 inaccuracy and exceptions (bugs 13884, 13914).
2012-05-06 18:23:44 +00:00
Joseph Myers
41498f4db1
Fix missing exceptions from exp (bugs 13787, 13922, 14036).
2012-05-05 19:37:39 +00:00
Joseph Myers
6698b8bf43
Use .S sources for x86/x86_64 expl.
2012-05-05 19:34:31 +00:00
Andreas Jaeger
0c51e5500a
Update sysdeps/i386/fpu/libm-test-ulps
2012-05-03 16:22:52 +02:00
Joseph Myers
7cb029ee6e
Fix nexttoward bugs (bugs 2550, 2570).
2012-05-01 15:37:43 +00:00
Joseph Myers
adfbc8ac9e
Fix x86 acos near 1 (bug 13942).
2012-04-30 18:56:39 +00:00
Joseph Myers
5ba3cc691c
Fix acos (-1) in round-downwards mode on x86 (bug 14034).
2012-04-30 09:38:06 +00:00
Andreas Schwab
fb5e92c979
Remove useless __ilogb*_finite aliases
2012-04-18 00:40:13 +02:00
Adhemerval Zanella
76da726532
Fix ilogb exception and errno (bug 6794)
...
[BZ #6794 ]
Following Joseph comments about bug 6794, here is a proposed fix. It turned out
to be a large fix mainly because I had to move some file along to follow libm
files/names conventions.
Basically I have added wrappers (w_ilogb.c, w_ilogbf.c, w_ilogbl.c) that now calls
the symbol '__ieee754_ilogb'. The wrappers checks for '__ieee754_ilogb' output and
set the errno and raise exceptions as expected.
The '__ieee754_ilogb' is implemented in sysdeps. I have moved the 's_ilogb[f|l]' files
to e_ilogb[f|l] and renamed the '__ilogb[f|l]' to '__ieee754_ilogb[f|l]'.
I also found out a bug in i386 and x86-64 assembly coded ilogb implementation where
it raises a FE_DIVBYZERO when argument is '0.0'. I corrected this issue as well.
Finally I added the errno and FE_INVALID tests for 0.0, NaN and +-InF argument. Tested
on i386, x86-64, ppc32 and ppc64.
2012-04-17 22:12:53 +02:00
Marek Polacek
751728a1f1
Reverse arguments of fdivp in i386 code.
2012-04-16 11:03:41 +02:00
Joseph Myers
8f9a2faee0
Fix spurious overflow exceptions from x86/x86_64 powl (bug 13872).
2012-04-09 22:32:45 +00:00
Joseph Myers
bcc8d6617b
Fix ctan, ctanh overflow (bug 11521).
2012-04-09 22:31:35 +00:00
Roland McGrath
8de131cbff
Fix missing clobber in i386 __sincos_code asm.
2012-04-09 12:20:48 -07:00
Joseph Myers
c483f6b4a4
Fix x86 pow inaccuracy for large integer exponents (bug 706).
2012-04-09 09:42:05 +00:00
Joseph Myers
d6270972f7
Fix pow of negative numbers to integer exponents (bugs 369, 2678, 3866).
2012-03-28 14:57:58 +00:00
Joseph Myers
7c69cd143b
Fix cexp overflow (bug 13892).
2012-03-22 19:38:09 +00:00
Joseph Myers
1a4ac776eb
Remove inaccurate x86 cexp implementations (bug 13883).
2012-03-21 15:28:05 +00:00
Joseph Myers
2460d3aa21
Fix pow of zero and infinity to large powers.
2012-03-21 12:16:00 +00:00
Joseph Myers
1897ad4432
Fix clog overflow/underflow (bug 13629).
2012-03-19 20:14:26 +00:00
Richard Henderson
bd37f2ee31
Optimize private 387 fenv access; share code between i386 and x86_64.
2012-03-19 06:51:39 -07:00
Richard Henderson
d0adc92230
i386/x86_64: Optimize feholdexcept.
2012-03-19 06:51:06 -07:00
Richard Henderson
7d2e8012cf
i386: Convert libc_{feholdexcept_setround,updateenv}_53bit to functions.
...
Also fix a bug in libc_feupdateenv_53bit: don't force the rounding
precision back to _FPU_EXTENDED, instead restore the precision that
the user had in effect beforehand.
2012-03-19 06:49:04 -07:00
Joseph Myers
c36e1d2369
Disable Bessel function TLOSS errors in POSIX mode.
2012-03-16 20:08:02 +00:00
Joseph Myers
11b90b9f50
Fix tan, tanl for large inputs.
2012-03-16 20:05:37 +00:00
Joseph Myers
8848d99dce
Implement ldbl-96 sinl / cosl / sincosl (bug 13851).
2012-03-16 12:30:05 +00:00
Andreas Jaeger
d5ce0ef38d
Update
2012-03-15 18:03:38 +01:00
Andreas Jaeger
ee010c9e95
* sysdeps/i386/fpu/s_tanf.S: Delete so that i386 uses the
...
ieee754/flt-32 implementation for tan.
* math/libm-test.inc (tan_test): Add tests for large input.
* sysdeps/i386/fpu/libm-test-ulps: Update.
2012-03-15 17:34:24 +01:00
Andreas Jaeger
8c0247db32
[BZ #13852 ]
...
* sysdeps/i386/fpu/e_rem_pio2f.c: Delete so that i386 uses the
ieee754/flt-32 implementation.
* sysdeps/i386/fpu/k_rem_pio2f.c: Likewise.
* sysdeps/i386/fpu/s_cosf.S: Likewise.
* sysdeps/i386/fpu/s_sincosf.S: Likewise.
* sysdeps/i386/fpu/s_sinf.S: Likewise.
* math/libm-test.inc (cos_test): Enable some large input tests for
float as well
(sin_test): Likewise.
(sincos_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
2012-03-15 17:23:43 +01:00
Andreas Jaeger
ad6e0564b8
Cleanup formatting.
2012-03-15 14:14:39 +01:00
Andreas Jaeger
22417c803d
Update ULPs.
2012-03-14 17:23:31 +01:00
Andreas Jaeger
c4814b6b3a
Implement and use libc_feholdexcept_setround_53bit and libc_feupdateenv_53bit
...
so that double arithmetic in s_sin is done in 53 bit (without extend i386 double precision)
2012-03-14 17:20:10 +01:00
Andreas Jaeger
1e2405c8fa
Remove files so that i386 uses the iee754/dbl-64 sin and cos implementation.
2012-03-14 17:09:07 +01:00
Joseph Myers
e456826d7a
Fix csqrt overflow/underflow (bug 13841).
2012-03-14 11:53:32 +00:00
Richard Henderson
b8c036204f
Use include_next to chain math_private.h headers.
2012-03-09 16:11:26 -08:00
Richard Henderson
1ed0291c31
Use <> for math.h and math_private.h everywhere.
...
Entire tree edited via find | grep | sed.
2012-03-09 16:09:10 -08:00
Joseph Myers
d1d3431a3a
Fix signs of zeros from casinh, cacosh etc. (bug 10716).
2012-03-07 15:15:19 +00:00
Andreas Jaeger
30ee4ced20
* sysdeps/i386/fpu/libm-test-ulps: Update.
2012-03-05 13:37:29 +01:00
Joseph Myers
b7cd39e8f8
Fix pow in non-default rounding modes (bug 3976).
2012-03-05 12:22:46 +00:00
Joseph Myers
ca811b2256
Test cosh, sinh in non-default rounding modes (bug 3976).
2012-03-05 12:20:24 +00:00
Joseph Myers
804360ed83
Fix sin, cos, tan in non-default rounding modes (bug 3976).
2012-03-02 20:51:39 +00:00
Joseph Myers
28afd92dbd
Fix exp in non-default rounding modes (bug 3976).
2012-03-02 15:12:53 +00:00
Joseph Myers
7b1902cb3e
Improve erfc accuracy.
2012-03-01 21:15:38 +00:00
Joseph Myers
0fcad3e243
Add test for bug 5794 (incorrect expm1 overflow).
2012-02-29 20:49:20 +00:00
Joseph Myers
5b8a4d4a09
Reduce large expected errors from libm tests on x86 and x86_64.
2012-02-29 20:40:50 +00:00
Joseph Myers
5ad91f6e6f
Resort ULPs files with gen-libm-test.pl -n in C locale.
2012-02-20 18:06:05 +00:00
Thomas Schwinge
7c35ffedf1
Fix x86 PLT slot usage for feraiseexcept.
...
Then we're elf/check-localplt.out-clean again.
2012-02-10 21:05:54 +01:00