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
Chris Metcalf
0af797def3
math: support platforms with limited FP rounding or exception support
...
For some tests, just claim that fetestexcept() always returns true,
so the rest of the test can be compiled.
For libm-test, provide known bogus values for unsupported rounding
modes, so fesetround() will return failure.
Elsewhere, just add some #ifdefs to avoid code that uses particular
FP exceptions if the exceptions aren't supported.
2012-05-17 08:50:41 -04:00
Roland McGrath
38de94a5ef
Add a missing #include.
2012-05-10 15:57:24 -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
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
6c23e11c4d
Fix libm-test.inc ulps calculation for subnormals (bug 14064).
2012-05-06 18:20:21 +00:00
Joseph Myers
5779f134a0
Disable one hypot test for inline double testing.
2012-05-05 19:38:31 +00:00
Joseph Myers
41498f4db1
Fix missing exceptions from exp (bugs 13787, 13922, 14036).
2012-05-05 19:37:39 +00:00
Andreas Jaeger
0be196adda
Use -frounding-math for math testsuite
...
We should tell GCC that we manipulate the rounding mode and
therefore add -frounding-math to these files that call fesetround.
2012-05-02 16:33:18 +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
Joseph Myers
9568c0c225
Fix exp10 spurious overflows (bug 13924).
2012-04-30 09:37:01 +00:00
Andreas Schwab
ded5180a3b
Don't use long double *_finite functions if no long double math
2012-04-28 22:21:53 +02:00
Ryan S. Arnold
60c8fca7ab
Remove spurious '.' in math/libm-test.inc comment.
2012-04-27 12:36:46 -05:00
Ryan S. Arnold
a462cb6332
New test to expose erroneous negative sign on logb(1) (bug 887).
2012-04-27 10:47:39 -05:00
Joseph Myers
6ad3493e22
Fix fenv.h fallback returns (bug 14027).
2012-04-27 13:54:09 +00:00
Adhemerval Zanella
94e02fc410
Correct powerpc64 s_floorl edge cases (bug 13886).
...
[BZ #13886 ]
Remove powerpc64/fpu/s_floorl. Use fully correct ldbl-128bim/s_floorl.c.
2012-04-24 14:21:45 -05: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
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
Joseph Myers
d7dd945398
Fix missing overflow exceptions from pow (bug 13873).
2012-04-09 09:43:18 +00:00
Joseph Myers
c483f6b4a4
Fix x86 pow inaccuracy for large integer exponents (bug 706).
2012-04-09 09:42:05 +00:00
Joseph Myers
d2de7579f2
Do not allow overflow exception on exp underflow test (bug 13705).
2012-04-08 22:46:49 +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
41bf21a1e7
Avoid overflows from long double functions using __kernel_standard.
2012-03-28 09:32:12 +00:00
Joseph Myers
7c69cd143b
Fix cexp overflow (bug 13892).
2012-03-22 19:38:09 +00:00
Joseph Myers
48e44791e4
Fix exp2l inaccuracy (bug 13824).
2012-03-22 12:55:19 +00:00
Joseph Myers
1a4ac776eb
Remove inaccurate x86 cexp implementations (bug 13883).
2012-03-21 15:28:05 +00:00
Joseph Myers
0cb7efc517
Fix missing exp2 overflow exception (bug 13871).
2012-03-21 12:17:26 +00:00
Joseph Myers
2460d3aa21
Fix pow of zero and infinity to large powers.
2012-03-21 12:16:00 +00:00
Joseph Myers
c135cc1b5f
Test for overflow exceptions in libm-test.inc.
2012-03-20 10:58:04 +00:00
Joseph Myers
1897ad4432
Fix clog overflow/underflow (bug 13629).
2012-03-19 20:14:26 +00:00
Joseph Myers
7726d6a95d
Fix atan2 spurious exceptions (bug 11451).
2012-03-19 20:11:09 +00: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
ea40808acd
Use 40 digits in tests
2012-03-15 18:02:02 +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
81c6415384
[BZ #13658 ]
...
* math/libm-test.inc (cos_test): Add more test cases.
(sin_test): Likewise.
(sincos_test): Likewise.
2012-03-15 16:25:57 +01:00
Andreas Jaeger
7bbfa5c6ec
[BZ #13837 ]
...
* math/libm-test.inc (cos_test): Add a test case for large input
value.
(sin_test): Likewise.
(sincos_test): Likewise.
2012-03-15 14:34:34 +01:00
Andreas Jaeger
ad6e0564b8
Cleanup formatting.
2012-03-15 14:14:39 +01:00
Andreas Jaeger
356a10ee3e
Merge branch 'master' into bug13658-branch
2012-03-14 16:36:17 +01:00
Joseph Myers
e456826d7a
Fix csqrt overflow/underflow (bug 13841).
2012-03-14 11:53:32 +00:00
Joseph Myers
aa4a2ae1db
Add tests for hypot overflow/underflow.
2012-03-14 01:12:05 +00:00
Richard Henderson
5f0a5daeee
Move math/math_private.h to sysdeps/generic/math_private.h.
...
This reverts commit 60d6f5a6f5
.
2012-03-09 16:12:17 -08:00
Andreas Jaeger
a20026128c
Add further tests
2012-03-08 10:44:32 +01:00
Joseph Myers
d1d3431a3a
Fix signs of zeros from casinh, cacosh etc. (bug 10716).
2012-03-07 15:15:19 +00:00
Andreas Jaeger
b35fe25ed9
[BZ #13658 ]
...
* sysdeps/x86_64/fpu/s_sincos.S: Delete.
* math/libm-test.inc (sincos_test): Add test for large input.
2012-03-07 14:51:39 +01:00
Ulrich Drepper
a4300c7a4d
Remove distribute variable from Makefiles
2012-03-07 05:17:13 -05: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
Marek Polacek
bc957d531c
Remove oldish __GNUC_PREREQ.
2012-03-03 22:57:00 +01: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
a6d06d7b86
Fix scalbn, scalbln integer overflow.
2012-03-02 15:32:56 +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
169d7f11ad
Move misplaced llround test and add lround test from bug 2561.
2012-02-29 01:55:42 +00:00
Joseph Myers
6cbeae4719
Fix nearbyintf rounding.
2012-02-22 13:03:40 +00:00
Joseph Myers
fe45ce09f3
Fix rintf rounding.
2012-02-22 13:01:20 +00:00
Aurelien Jarno
92221550d7
Use non-signaling floating-point comparisons in math functions.
2012-02-19 11:20:18 +01:00
Paul Eggert
59ba27a63a
Replace FSF snail mail address with URLs.
2012-02-09 23:18:22 +00:00
Marek Polacek
148cf100de
Add tst-CMPLX2 test.
2012-02-07 20:47:46 +01:00
Andreas Schwab
cfdc0dd7fa
Fix loss of precision in jn tests
2012-02-07 15:20:37 +01:00
Joseph Myers
65dc3b7504
Include <stdio.h> in math/tst-CMPLX.c.
2012-02-03 00:13:15 +00:00
Ulrich Drepper
56f6f6a240
Use -msse2avx option for x86-64 libm functions
2012-01-28 14:48:46 -05:00
Joseph Myers
8db2188281
Remove __STDC__ conditionals from libm.
2012-01-27 17:29:45 +00:00
Joseph Myers
7071ad79db
Remove __STDC__ conditionals from installed headers.
2012-01-26 20:49:22 +00:00
Ulrich Drepper
e58ef0f204
Add const attribute to fmin and fmax
2012-01-10 21:10:28 -05:00
Ulrich Drepper
a47a831ad8
Optimize ldexp and scalbn
2012-01-10 20:52:29 -05:00
Ulrich Drepper
1d5a644a55
Add test for CMPLX macros
2012-01-08 16:02:45 -05:00
Ulrich Drepper
8784a6db91
Fix typo in CMPLXL
2012-01-08 15:55:52 -05:00
Ulrich Drepper
ac097f5cd0
Define CMPLX, CMPLXF, CMPLXL
2012-01-08 10:07:26 -05:00
Ulrich Drepper
2119dcfacc
Static linking is always needed
2012-01-08 09:52:29 -05:00
Ulrich Drepper
a784e50247
Remove pre-ISO C support
...
No more __const.
2012-01-07 23:57:22 -05:00
Ulrich Drepper
e3a851a21b
Use Kahan's formula in cacosh
2011-12-21 22:08:12 -05:00
Richard B. Kreckel
b27e24b874
Fix sign errr in some cacosh results
2011-12-21 21:01:29 -05:00
Marek Polacek
8ef4f244ff
Avoid warnings in __*_finite math function declarations with C++
2011-12-17 20:23:16 -05:00
Adhemerval Zanella
a1267ba1c6
Optimized nearbyint for PPC
2011-12-17 14:59:47 -05:00
Andreas Schwab
998832a466
Always provide declarations of long double math functions when !_LIBC
2011-11-04 15:16:11 +01:00
Ulrich Drepper
cb95113e30
Fix accuracy problem in generic sin
2011-10-29 14:08:56 -04:00
Andreas Schwab
f6ce9294b0
Make math_force_eval accept non-addressable arguments
2011-10-26 11:44:08 +02:00
Ulrich Drepper
af968f62f2
Optimize accurate 64-bit routines for FMA4 on x86-64
2011-10-24 20:19:17 -04:00
Ulrich Drepper
dbc36f153e
Merge branch 'master' of ssh://sourceware.org/git/glibc
2011-10-22 13:18:08 -04:00
Ulrich Drepper
77425c63e7
Add branch predictions to complex math code
2011-10-22 13:17:30 -04:00
Andreas Schwab
ee2aafe08e
Fix compilation due to __nan defines
2011-10-22 14:03:26 +02:00
Ulrich Drepper
bc62c2fb15
Optimization to some complex math functions
...
Also, change last reference to __sqrt into __sqrt to easily.
2011-10-22 00:32:39 -04:00
Ulrich Drepper
d9a8d0abcc
Use new internal libc_fe* interfaces in more functions
2011-10-18 15:11:31 -04:00
Ulrich Drepper
4855e3ddf5
Provide combined internal feholdexcept/fesetround interface
2011-10-18 09:59:04 -04:00
Ulrich Drepper
d38f1dba00
Start optimizing the use of the fenv interfaces in libm itself
2011-10-18 09:00:46 -04:00
Ulrich Drepper
bcf01e6d80
Optimize exp
...
Add __exp*_finite optimizations and rewrite some wrappers.
2011-10-15 20:22:59 -04:00
Andreas Jaeger
556a200797
Add parameter annotation to modf
2011-10-15 10:08:07 -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
Ulrich Drepper
7edb55ce06
Optimize use of isnan, isinf, finite
2011-10-08 10:18:26 -04:00
Ulrich Drepper
9277c06437
Use private math_private.h in files in math/
2011-10-08 05:16:04 -04:00
Andreas Jaeger
bf5824458c
Fix remainder (NaN, 0)
2011-10-07 15:14:06 -04:00