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
Paul Eggert
59ba27a63a
Replace FSF snail mail address with URLs.
2012-02-09 23:18:22 +00:00
Andreas Schwab
6c6dbc6300
Reduce ldouble ULPs for jn tests on x86
2012-02-08 22:25:15 +01:00
Marek Polacek
622c86f480
Remove __ELF__ conditionals
2012-02-07 00:41:11 +01:00
Joseph Myers
8db2188281
Remove __STDC__ conditionals from libm.
2012-01-27 17:29:45 +00:00
Ulrich Drepper
a784e50247
Remove pre-ISO C support
...
No more __const.
2012-01-07 23:57:22 -05:00
Ulrich Drepper
70c6c246a2
Optimize x86-32 feraiseexcept also for !__SSE_MATH__
2011-12-23 09:18:02 -05:00
Ulrich Drepper
aed9d17150
Add feraiseexcept optimization for x86-32
2011-12-22 17:52:30 -05:00
Ulrich Drepper
db910efdbd
Also retrieve SSE exceptions in x86-32 fegetexceptflag
2011-12-22 16:28:08 -05:00
Andreas Schwab
f6ce9294b0
Make math_force_eval accept non-addressable arguments
2011-10-26 11:44:08 +02:00
Ulrich Drepper
bcf01e6d80
Optimize exp
...
Add __exp*_finite optimizations and rewrite some wrappers.
2011-10-15 20:22:59 -04:00
Ulrich Drepper
38ad40ceca
Optimize x86-32 log
2011-10-14 23:41:47 -04:00
Ulrich Drepper
0ac5ae2335
Optimize libm
...
libm is now somewhat integrated with gcc's -ffinite-math-only option
and lots of the wrapper functions have been optimized.
2011-10-12 11:27:51 -04:00
Petr Baudis
1248c1c415
Fix jn precision
2011-09-09 22:16:10 -04:00
Ulrich Drepper
1e24cf6e6e
Relax libm tests for x86-32.
2010-11-30 14:57:57 -05:00
Jakub Jelinek
3e692e0518
Implement fmal, some fma bugfixes
2010-10-15 15:26:06 -04:00
Jakub Jelinek
5e908464b9
Implement accurate fma.
2010-10-13 22:27:03 -04:00
Jakub Jelinek
9ff8d36f27
Correct implementation of fmaf.
2010-10-11 09:27:05 -04:00
Andreas Schwab
7eb22e757e
Avoid PLT call to fegetenv on s390
2010-02-09 22:34:17 -08:00
Andreas Schwab
b7805d0ba8
Correct errno handling in expm1.
2009-10-19 21:23:15 -07:00
Ulrich Drepper
7b943af6cf
Define math_errhandling is possible.
2009-08-24 10:33:57 -07:00
Ulrich Drepper
337c270829
* sysdeps/i386/fpu/s_tan.S: Set errno for ±Inf.
...
* sysdeps/i386/fpu/s_tanf.S: Likewise.
* sysdeps/i386/fpu/s_tanl.S: Likewise.
* sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
* sysdeps/ieee754/flt-32/s_tanf.c: Likewise.
* sysdeps/x86_64/fpu/s_tanl.S: Likewise.
* math/libm-test.inc: Add tests for errno after tan calls with
±Inf.
2009-04-26 05:42:49 +00:00
Ulrich Drepper
0c59a1963e
* sysdeps/i386/fpu/s_cos.S: Set errno for ±Inf.
...
* sysdeps/i386/fpu/s_cosf.S: Likewise.
* sysdeps/i386/fpu/s_cosl.S: Likewise.
* sysdeps/i386/fpu/s_sin.S: Likewise.
* sysdeps/i386/fpu/s_sinf.S: Likewise.
* sysdeps/i386/fpu/s_sinl.S: Likewise.
* sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
* sysdeps/ieee754/flt-32/s_cosf.c: Likewise.
* sysdeps/ieee754/flt-32/s_sinf.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_cosl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_sinl.c: Likewise.
* sysdeps/x86_64/fpu/s_cosl.S: Likewise.
* sysdeps/x86_64/fpu/s_sinl.S: Likewise.
* math/libm-test.inc: Add tests for errno after sin/cos calls with
±Inf.
2009-04-26 01:04:54 +00:00