Richard Henderson
eb92c487b3
Create and use SET_RESTORE_ROUND{,_NOEX,_53BIT}{,F,L}.
2012-03-19 06:49:44 -07:00
Richard Henderson
4851a949b4
Make inline __isnan, __isinf_ns, __finite generic.
...
For code generation to stay identical on x86_64, this requires that
we define the fp word manipulation macros before including the
generic header.
2012-03-19 06:47:43 -07:00
H.J. Lu
eb0f39b6b7
Make lround the alias of llround for wordsize-64
2012-03-16 15:20:45 -07:00
Joseph Myers
11b90b9f50
Fix tan, tanl for large inputs.
2012-03-16 20:05:37 +00:00
Joseph Myers
96cbe7f482
Include program generating __sincosl_table in comment.
2012-03-16 15:18:19 +00:00
Joseph Myers
8848d99dce
Implement ldbl-96 sinl / cosl / sincosl (bug 13851).
2012-03-16 12:30:05 +00: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
David S. Miller
7c10fd3515
Fix hypotf overflow/underflow by using double precision instead of scaling.
...
[BZ #13840 ]
* sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Rewrite to use
double-precision for the calculation instead of scaling.
2012-03-13 18:08:58 -07:00
Joseph Myers
f453b98b6b
Clean up dbl-64 rint, nearbyint.
2012-03-13 14:12:44 +00:00
David S. Miller
2a8ab7f265
Fix generic ldbl-128 expm1l just like x86-64 and i386 variants were.
...
* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Use expl for
large parameters.
2012-03-13 01:18:55 -07: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
Richard Henderson
38842f4553
Use target-specific math_private.h in math_ldbl_opt.h.
2012-03-09 08:08:11 -08:00
Marek Polacek
a53b7a4e4b
Fix up long double fphex.
2012-03-06 22:08:16 +01:00
Andreas Schwab
bbb78d030e
Fix loss of precision in cosh and sinh for IBM long double
2012-03-05 20:38:17 +01:00
Joseph Myers
b7cd39e8f8
Fix pow in non-default rounding modes (bug 3976).
2012-03-05 12:22:46 +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
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
David S. Miller
a78bc6549c
Fix ldbl-128 rintl/nearbyintl just like flt-32 variants.
...
* sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl): Do not
manipulate bits before adding and subtracting TWO112[sx].
* sysdeps/ieee754/ldbl-128/s_rintl.c (__rintl): Likewise.
2012-02-27 14:51:45 -08:00
Andreas Schwab
c20105c398
Replace sysdeps/ieee754/dbl-64/k_tan.c with empty file
2012-02-26 16:10:46 +01: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
Joseph Myers
8db2188281
Remove __STDC__ conditionals from libm.
2012-01-27 17:29:45 +00:00
Ulrich Drepper
0cc5ed3b01
Optimized acosh for 64-bit platforms
2012-01-11 22:01:09 -05:00
Ulrich Drepper
41d0e8696f
Optimize scalbln
2012-01-11 12:49:16 -05:00
Ulrich Drepper
daa891c0e8
Optimize s_modf
2012-01-10 22:26:22 -05:00
Ulrich Drepper
a47a831ad8
Optimize ldexp and scalbn
2012-01-10 20:52:29 -05:00
Ulrich Drepper
d6e97a1da0
Some branch prediction for log1p
2012-01-09 18:59:04 -05:00
Ulrich Drepper
a0da5fe1e4
More fallout from supporting only ELF
2012-01-08 00:45:01 -05:00
Ulrich Drepper
a784e50247
Remove pre-ISO C support
...
No more __const.
2012-01-07 23:57:22 -05:00
Ulrich Drepper
0269750ca6
Remove non-ELF support
2012-01-07 20:30:26 -05:00
Ulrich Drepper
8ad89ef88d
Avoid warnings about unused variable in 96-bit j0l and j1l
2011-11-12 02:20:29 -05:00
Ulrich Drepper
0c822ef988
Avoid warnings about unused variables in 96-bit hypotl
2011-11-12 02:15:07 -05:00
Marek Polacek
aaddc98c25
Remove unused variables
2011-11-11 13:27:59 -05:00
Ulrich Drepper
cb95113e30
Fix accuracy problem in generic sin
2011-10-29 14:08:56 -04:00
Andreas Schwab
804791474d
Fix uses of math_force_eval
2011-10-26 11:44:08 +02:00
Ulrich Drepper
e0016b11d6
Add AVX optimized versions for some x86-64 math functions
2011-10-25 21:34:55 -04:00
Ulrich Drepper
d7826aa149
Use math_force_eval in more places
2011-10-25 10:52:45 -04:00
Ulrich Drepper
31d3cc00b0
Cleanup FMA4 patch
...
Move the FMA4 code into its own section. Avoid some of the duplication
of data resulting from the double use of source files.
2011-10-25 00:56:33 -04:00
Ulrich Drepper
af968f62f2
Optimize accurate 64-bit routines for FMA4 on x86-64
2011-10-24 20:19:17 -04:00
Ulrich Drepper
58985aa92f
Finish renamed DLA_FMA -> DLA_FMS
2011-10-24 14:21:18 -04:00
Ulrich Drepper
bb3129bd25
Optimized remquo for 64-bit platforms
2011-10-23 21:31:21 -04:00
Ulrich Drepper
0275fff8a1
Optimize f_mod
...
Branch prediction for the 32-bit implementation and a new optimized
64-bit implementation.
2011-10-23 20:55:26 -04:00
Ulrich Drepper
774a2669af
Clean up FMA use
...
The macro's name should reflect that subtraction is being done. And
use __builtin_fma, it seems to work after all.
2011-10-23 13:31:01 -04:00
Ulrich Drepper
c8b3296bbe
Clean up last dla.h change
2011-10-23 12:50:28 -04:00
Andreas Schwab
246ad57ad6
Add missing _finite aliases
2011-10-23 15:32:05 +02:00
Ulrich Drepper
fa36182bda
Improve DLA_FMA for FMA4
2011-10-22 19:53:33 -04:00
Ulrich Drepper
a1a8716924
Start using fma in the libm implementation
2011-10-22 19:02:20 -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
8ec250a484
Add some __builtin_expect to generic __ieee754_log
2011-10-21 12:28:42 -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
99ce7b04ed
Small optimization of generic exp2
2011-10-17 23:16:34 -04:00
Ulrich Drepper
1004d1821e
Add optimized 64-bit frexp
2011-10-17 22:30:44 -04:00
Ulrich Drepper
ad0f5cad15
Use rounds{s,d} for x86 rint, ceil, floor
2011-10-16 20:58:17 -04:00
Ulrich Drepper
d4a285692a
Optimized floor for 64-bit architectures
2011-10-15 21:44:45 -04:00
Ulrich Drepper
b61099b50a
Add cosh optimized for 64-bit architectures
2011-10-15 20:47:01 -04:00
Ulrich Drepper
bcf01e6d80
Optimize exp
...
Add __exp*_finite optimizations and rewrite some wrappers.
2011-10-15 20:22:59 -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
Andreas Schwab
12cc2fcdb4
Implement __isinf_nsl for IBM long double
2011-10-10 21:39:59 +02:00
Roland McGrath
c658d255e9
Fix some nit warnings.
2011-10-08 15:25:08 -07:00
Ulrich Drepper
7edb55ce06
Optimize use of isnan, isinf, finite
2011-10-08 10:18:26 -04:00
Ulrich Drepper
88738eb6e9
finite for 64-bit platforms
2011-09-15 23:01:56 -04:00
Ulrich Drepper
8682f8b0e4
Optimize logb code for 64-bit machines
2011-09-12 16:21:24 -04:00
Petr Baudis
1248c1c415
Fix jn precision
2011-09-09 22:16:10 -04:00
Paul Pluzhnikov
7f5517aa52
Fix lround() loses precision
2011-09-08 23:37:32 -04:00
Ulrich Drepper
3d4837df4a
Check for finite/infinity parms in IBM Long Double 128 fmal( )
...
This patch addresses some IBM Long Double 128 fmal () test-ldouble.out
and test-ildoubl.out failures. If the ‘x’ and ‘y’ parameters are
finite values and ‘z’ is infinity, the result of fmal () should be ‘z’
not NaN.
Conflicts:
ChangeLog
2011-09-07 22:17:33 -04:00
Jakub Jelinek
85188888f6
Fix up __kernel_rem_pio2 for FLT_EVAL_METHOD != 0 architectures
2011-08-04 15:40:16 -04:00
Jakub Jelinek
3bf8d1b10c
ldbl-128 fmal compile fix
2010-11-22 15:38:35 -05:00
Luis Machado
da93d21475
Fix comparison in sqrtl for IBM long double 128.
2010-11-10 16:15:05 -05:00
Jakub Jelinek
7c08a05c5f
IEEE quad fmal fixes
2010-10-18 07:29:50 -04:00
Jakub Jelinek
3e692e0518
Implement fmal, some fma bugfixes
2010-10-15 15:26:06 -04:00
Jakub Jelinek
f3f7372de1
Fix some more dbl-64/s_fma.c issue
2010-10-15 15:25:14 -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
Ulrich Drepper
88e236a627
Fix cproj implmentation.
2010-04-08 15:32:51 -07:00
Jakub Jelinek
64f388285e
sysdeps/ieee754/ldbl-128/ fixes
2010-01-16 17:55:37 -08:00
Joseph S. Myers
3ad3a4d059
Readd definition of __expl in ldbl-128
2009-10-28 11:14:56 +01:00
Andreas Schwab
b7805d0ba8
Correct errno handling in expm1.
2009-10-19 21:23:15 -07:00
Roland McGrath
7967983fd4
configure tweaks, support $libc_add_on_config_subdirs
2009-09-15 14:14:42 -07:00
Ulrich Drepper
2df4be8c35
Add isinf optimized for 64-bit.
2009-08-26 00:51:45 -07:00
Ulrich Drepper
15e7f0a44d
Optimized isnan for 64-bit machines.
2009-08-26 00:12:58 -07:00
Ulrich Drepper
deb13bcda9
Make llround an alias for lround on 64-bit machines.
2009-08-25 23:53:23 -07:00
Ulrich Drepper
77a1e0873f
Optimized nearbyint for 64-bit.
2009-08-25 23:26:16 -07:00
Ulrich Drepper
e6fd9b2490
Optimized rint implementation for x86-64.
2009-08-25 22:44:34 -07:00
Ulrich Drepper
8405789520
Add 64-bit optimized s_round.
2009-08-25 17:28:50 -07:00
Ulrich Drepper
65b14bcee2
Optimize out duplicated scalbln code for x86-64.
2009-08-25 16:46:34 -07:00
Ulrich Drepper
5001998a12
Add 64-bit optimized scalbln.
2009-08-25 15:42:41 -07:00
Ulrich Drepper
d5cb714bb8
Add 64-bit optimized version lround.
2009-08-25 14:12:41 -07:00
Ulrich Drepper
8392ff2dc7
64-bit optimized implementation of trunc.
2009-08-25 12:02:13 -07:00
Ulrich Drepper
cf00cc00bc
Add ceil implementation for 64-bit machines.
...
On 64-bit machines we should not split doubles into two 32 bit
integer and handle the words separately. We have wide registers.
This patch implements a 64-bit ceil version. Ideally all other
functions will be converted over time.
2009-08-24 18:05:48 -07:00
Ulrich Drepper
7f3394bdf3
Fix errno for boundary conditions in 128-bit long double.
...
Similar to the changes which went already in for the other formats,
follow POSIX rules for errno.
2009-05-29 12:00:22 -07:00
Andreas Schwab
38ae768d88
Fix errno for IBM long double.
...
After the last addition to the math test suite PPC routines haven't
been adjusted so far.
2009-05-22 08:35:15 -07:00
Ulrich Drepper
f0e3c47fd6
* sysdeps/ieee754/dbl-64/s_expm1.c: Set errno for overflow.
...
* sysdeps/ieee754/flt-32/s_expm1f.c: Likewise.
* sysdeps/x86_64/fpu/s_expm1l.S: Likewise.
2009-04-27 05:31:37 +00:00
Ulrich Drepper
49768bb93e
* sysdeps/ieee754/k_standard.c (__kernel_standard): Pole errors in
...
atanh should set ERANGE.
2009-04-27 04:01:16 +00:00