Commit Graph

279 Commits

Author SHA1 Message Date
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
Ulrich Drepper 82a1a4dae1 * sysdeps/ieee754/dbl-64/s_tan.c (tan): Fix -Wsequence-point warnings. 2009-04-26 15:03:11 +00: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 002a604fd6 * sysdeps/ieee754/k_standard.c (__kernel_standard): Use correct
errno value vor pow(+-0,neg).
	* math/libm-test.inc (pow_test): Add tests for errno value for
	pole errors.
2009-04-26 04:46:54 +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
Ulrich Drepper e971e76d8d * sysdeps/ieee754/k_standard.c (__kernel_standard): Pole errors
for lgamma should se errno to ERANGE, not EDOM.
	* math/libm-test.inc (lgamma_test): Check errno for pole errors.
2009-04-25 08:12:24 +00:00
Ulrich Drepper a7eb802f11 [BZ #3406]
2008-02-11  Joseph Myers  <joseph@codesourcery.com>
	[BZ #3406]
	* sysdeps/ieee754/flt-32/w_expf.c (o_threshold): Correct value.
	* math/libm-test.inc (exp_test): Test 88.72269439697265625.
2008-05-11 17:49:25 +00:00