Andreas Schwab
ca0a6bc4c5
Fix cbrtl for ldbl-96
2013-08-13 09:45:02 +02:00
Joseph Myers
3711a167f6
Fix spurious "inexact" exceptions from dbl-64 sqrt (bug 15631).
2013-06-15 19:59:41 +00:00
Ondrej Bilka
350635a59a
Fix leading whitespaces.
2013-06-06 20:36:07 +02:00
Joseph Myers
9c84384cc1
Remove trailing whitespace.
2013-06-05 20:44:03 +00:00
Joseph Myers
0323d08657
Fix ldbl-96 hypotl of subnormals (bug 15529).
2013-05-24 20:52:55 +00:00
Joseph Myers
3e69426875
Fix nearbyint scheduling of arithmetic past fesetenv (bug 15490).
2013-05-19 18:40:25 +00:00
Joseph Myers
bb38759d6d
Fix remainder exceptions and directed-rounding results (bugs 15480, 15485).
2013-05-17 19:04:08 +00:00
Ryan S. Arnold
e054f49430
Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).
2013-05-16 11:32:54 -05:00
Siddhesh Poyarekar
0f7d347bd0
Make _LIB_VERSION a weak symbol
...
That way it can live alongside _LIB_VERSION in libieee.a for
statically compiled programs.
Resolves #14582 .
2013-05-13 11:46:36 +05:30
Joseph Myers
ed41ffefc3
Fix ldbl-128ibm cos range reduction near pi/2 (bug 15359).
2013-05-09 21:30:08 +00:00
Joseph Myers
d0213cd0b6
Fix ldbl-128 cos range reduction near pi/2 (bug 15429).
2013-05-09 21:28:54 +00:00
Joseph Myers
d8cd06db62
Improve tgamma accuracy (bugs 2546, 2560, 5159, 15426).
2013-05-08 11:58:18 +00:00
Siddhesh Poyarekar
6dbe713d85
Format s_sin.c
2013-04-30 14:18:57 +05:30
Thomas Schwinge
a1cbf437a5
[BZ #14686 , #15336 ] Fix standard compliance. Don't use hard-coded qNaN values.
2013-04-05 22:34:52 +02:00
Thomas Schwinge
8b43a0c9f2
[BZ #15335 , #15342 ] Fix standard compliance. Don't use hard-coded qNaN values.
2013-04-05 22:27:29 +02:00
Thomas Schwinge
d91da4ce87
Remove unreachable code.
...
The case of y == 0 is handled at the beginning of the function.
2013-04-05 21:30:28 +02:00
Thomas Schwinge
bf0f50dfc6
Remove unused hard-coded qNaN definition.
2013-04-05 21:28:03 +02:00
Siddhesh Poyarekar
c871eccd1e
Remove TWO
...
Minor cleanup to remove the macro TWO and use the value directly
instead.
2013-04-03 15:47:01 +05:30
Siddhesh Poyarekar
e7906a4789
Use mantissa_t in mpexp
2013-04-02 17:53:09 +05:30
Thomas Schwinge
572676160d
New <math.h> macro named issignaling to check for a signaling NaN (sNaN).
...
It is based on draft TS 18661 and currently enabled as a GNU extension.
2013-04-02 13:51:02 +02:00
Siddhesh Poyarekar
c2d94018c6
Remove ONE and MONE
2013-03-29 16:40:36 +05:30
Siddhesh Poyarekar
27ec37f185
Format s_tan.c
2013-03-29 16:38:27 +05:30
Siddhesh Poyarekar
a64d7e0efb
Remove ZERO and MZERO macros
2013-03-29 16:37:26 +05:30
Siddhesh Poyarekar
d26dd3eb00
Format s_atan.c
2013-03-29 16:34:28 +05:30
Siddhesh Poyarekar
0f6a8d4b0b
Format e_log.c
2013-03-29 16:34:00 +05:30
Adhemerval Zanella
fbbe2b9a1f
Fix e_logl (128ibm) spurious underflow
2013-03-28 09:52:48 -03:00
Siddhesh Poyarekar
1728ab378e
Format and clean up s_atan2.c
2013-03-28 10:56:06 +05:30
Siddhesh Poyarekar
5739f705ee
Use integral constants
...
The compiler is smart enough to convert those into double for powerpc,
but if we put them as doubles, it adds overhead by performing those
operations in floating point mode.
2013-03-26 20:24:04 +05:30
Siddhesh Poyarekar
e375e83d17
Removed commented code
2013-03-26 20:14:18 +05:30
Siddhesh Poyarekar
6f2e90e78f
Make mantissa type of mp_no configurable
...
The mantissa of mp_no is intended to take only integral values. This
is a relatively good choice for powerpc due to its 4 fpus, but not for
other architectures, which suffer due to this choice. This change
makes the default mantissa a long integer and allows powerpc to
override it. Additionally, some operations have been optimized for
integer manipulation, resulting in a significant improvement in
performance.
2013-03-26 19:28:50 +05:30
Adhemerval Zanella
e42a38dd9d
BZ#13889: expl (709.75) wrongly overflows for ldbl-128ibm
...
The patch increase the high value to check if expl overflows. Current
high mark value is not really correct, the algorithm accepts high values.
It also adds a correct wrapper function to check for overflow and underflow.
2013-03-22 12:39:10 -03:00
Joseph Myers
98c48fe5cc
Fix Bessel function spurious overflows for ldbl-128 / ldbl-128ibm (bug 15285).
2013-03-21 13:57:21 +00:00
Siddhesh Poyarekar
b33d4ce4a2
Replace 8388608.0 with HALFRAD in mp code
...
Minor cleanup
2013-03-21 13:07:44 +05:30
Joseph Myers
d2f9799e7c
Fix y1l spurious overflows for ldbl-96 (bug 15283).
2013-03-16 17:51:48 +00:00
Joseph Myers
2a185d32e8
Fix spurious underflow exceptions for Bessel functions for ldbl-128 / ldbl-128ibm (bug 14155).
2013-03-16 17:50:28 +00:00
Thomas Schwinge
67e971f18f
Better distinguish between NaN/qNaN/sNaN.
2013-03-15 19:06:02 +01:00
Siddhesh Poyarekar
1e3803454e
Revert configurable mantissa patch
...
Reverts d22ca8cdfb
since it is severely broken on 32-bit.
2013-03-15 23:18:51 +05:30
Siddhesh Poyarekar
d22ca8cdfb
Make mantissa type configurable
...
This allows the default mantissa to be integral, with powerpc
overriding it to take advantage of its FPUs.
2013-03-15 10:44:03 +05:30
Joseph Myers
41c7328e85
Fix spurious underflow exceptions for Bessel functions for double (bug 14155).
2013-03-14 17:47:30 +00:00
Adhemerval Zanella
edf66e57fc
PowerPC: unify math_ldbl.h implementations
...
This patch removes redudant definition from PowerPC specific
math_ldbl, using the definitions from ieee754 math_ldbl.h.
2013-03-08 11:07:15 -03:00
Siddhesh Poyarekar
ce544b5bda
Merge powerpc slowexp.c into generic code
2013-03-07 13:25:02 +05:30
Siddhesh Poyarekar
4cc149fd8e
Merge powerpc slowpow.c into generic code
2013-03-07 13:23:07 +05:30
Siddhesh Poyarekar
82a9811d29
Use generic mpa.c code for everything except __mul and __sqr
2013-03-07 12:23:29 +05:30
Adhemerval Zanella
e0b780ad5b
BZ #15055 : Use __ieee754_sqrl in acoshl for lbdl-128ibm
2013-03-04 11:37:51 -03:00
Siddhesh Poyarekar
09c14ed23e
Format mpsqrt.c
2013-02-27 11:28:20 +05:30
Siddhesh Poyarekar
a688864eed
Format mpatan2.c
2013-02-27 11:27:41 +05:30
Siddhesh Poyarekar
6295157a77
Format mpatan.c
2013-02-27 11:26:22 +05:30
Siddhesh Poyarekar
b8de22026d
Format mptan.c
2013-02-27 11:25:39 +05:30
Siddhesh Poyarekar
11d6e2f237
Format mplog.c
2013-02-27 11:24:45 +05:30
Siddhesh Poyarekar
45f058844c
Another tweak to the multiplication algorithm
...
Reduce the formula to calculate mantissa so that we reduce the net
number of multiplications performed.
2013-02-26 21:28:16 +05:30
Siddhesh Poyarekar
2236d3595a
Don't duplicate mpone and mptwo
2013-02-26 15:15:27 +05:30
Siddhesh Poyarekar
2a983a2e0a
Remove commented declarations
2013-02-25 18:11:14 +05:30
Siddhesh Poyarekar
e69804d14e
Use long wherever possible in mpa.c
...
Using long throughout like powerpc does is beneficial since it reduces
the need to switch to 32-bit instructions. It gives a very minor
performance improvement.
2013-02-25 16:43:03 +05:30
Siddhesh Poyarekar
2f22a1e8dd
Format slowexp.c
2013-02-25 16:13:35 +05:30
Siddhesh Poyarekar
8930ddc705
Reformat slowpow.c
2013-02-25 16:08:38 +05:30
Siddhesh Poyarekar
dc60cb110b
Remove commented code
2013-02-25 14:51:57 +05:30
Siddhesh Poyarekar
bab8a695ee
Fix whitespace differences between generic and powerpc mpa.c
2013-02-21 14:31:42 +05:30
Thomas Schwinge
50022a93fc
Respect the user's namespace in installed header files.
...
Fixup for commit c7b275d6b3
.
2013-02-20 18:51:56 +01:00
Thomas Schwinge
c7b275d6b3
bits/nan.h: Change __attribute_used__ to __attribute__ ((unused)).
2013-02-20 16:49:58 +01:00
Siddhesh Poyarekar
20cd7fb3ae
Copy comment about inner loop from powerpc mpa.c to the default one
2013-02-20 18:56:20 +05:30
Siddhesh Poyarekar
22af19f9fb
Don't require LIM to determine loop end in __sqr
2013-02-16 00:15:57 +05:30
Siddhesh Poyarekar
4709fe7602
Use intermediate variable to compute exponent in __mul
2013-02-16 00:09:29 +05:30
Siddhesh Poyarekar
2d0e0f29f8
Fix determination of lower precision in __mul
2013-02-15 23:56:20 +05:30
Siddhesh Poyarekar
f414520d3c
Use __sqr instead of __mul wherever possible
2013-02-14 11:39:14 +05:30
Siddhesh Poyarekar
d6752ccd69
New __sqr function as a faster special case of __mul
2013-02-14 10:31:09 +05:30
Siddhesh Poyarekar
c2af38aa76
Remove unnecessary factorial array
...
kf is n! at the end of the loop, so storing the values is unnecessary.
2013-02-13 17:19:07 +05:30
Siddhesh Poyarekar
4e92d59e26
Better exp polynomial
...
The lesser the __mul calls, the better it is for performance.
2013-02-13 14:49:50 +05:30
Siddhesh Poyarekar
909279a5cf
Optimized mp multiplication
...
Don't bother multiplying zeroes since that only wastes cycles.
2013-02-13 14:16:23 +05:30
Siddhesh Poyarekar
bdf028142e
Clean up add_magnitudes and sub_magnitudes
2013-02-13 13:55:29 +05:30
Roland McGrath
f1d70dad53
Remove lots of inline keywords.
2013-02-07 14:44:18 -08:00
Siddhesh Poyarekar
caa99d06e7
Simplify calculation of 2^-m in __mpexp
2013-01-18 11:18:13 +05:30
Siddhesh Poyarekar
d3b9ea6148
Remove unnecessary multiplication with RADIXI
2013-01-18 11:14:34 +05:30
Siddhesh Poyarekar
a897655d7b
Fix header comment
2013-01-17 15:05:22 +05:30
Siddhesh Poyarekar
f93a8d1569
Consolidate constant defines into mpa.h
2013-01-16 16:06:48 +05:30
Siddhesh Poyarekar
dd930cc571
Fix the value of TWO
2013-01-16 14:53:53 +05:30
David S. Miller
438ebba294
Use libc_fe*() in 32-bit nearbyint()
...
* sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Use
libc_feholdexcept and libc_fesetenv.
2013-01-15 20:32:13 -08:00
Siddhesh Poyarekar
2a91b5735a
Minor tweak to mp multiplication
...
Add a local variable to remove extra copies to/from memory in the Z
array.
2013-01-14 21:53:48 +05:30
Siddhesh Poyarekar
1066a53440
Fix code formatting in mpa.c
...
This includes the overridden mpa.c in power4.
2013-01-14 21:53:43 +05:30
Andreas Schwab
557eead076
Revert "Use ieee754/dbl-64/wordsize-64 on powerpc64"
...
This reverts commit 7a9d2c3971
.
2013-01-10 10:44:05 +01:00
Andreas Schwab
d1cdd05138
Revert "sysdeps/ieee754/ldbl-128ibm/e_expl.c"
...
This reverts commit 35eb879e3b
.
2013-01-10 10:44:05 +01:00
Siddhesh Poyarekar
7490eb81ae
Fix formatting in mpexp.c
2013-01-10 14:59:18 +05:30
Siddhesh Poyarekar
751b85f795
Make __mpexp_twomm1 an array of doubles
...
Cleanup to get rid of the `number` muck which is not necessary here.
2013-01-10 14:59:18 +05:30
Andreas Schwab
35eb879e3b
sysdeps/ieee754/ldbl-128ibm/e_expl.c
2013-01-10 09:59:58 +01:00
Andreas Schwab
7a9d2c3971
Use ieee754/dbl-64/wordsize-64 on powerpc64
...
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_ceil.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_finite.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_floor.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_frexp.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_isinf.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_isnan.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_llround.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_logb.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_lround.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_modf.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_nearbyint.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_remquo.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_rint.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_round.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_scalbln.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_scalbn.c: New file.
* sysdeps/ieee754/ldbl-opt/wordsize-64/s_trunc.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies: Add
ieee754/ldbl-opt/wordsize-64.
* sysdeps/powerpc/powerpc64/Implies: Add
ieee754/dbl-64/wordsize-64.
2013-01-10 09:59:58 +01:00
Siddhesh Poyarekar
950c99ca90
Update comments in mpa.c
...
Fixed comment style and clearer wording in some cases.
2013-01-09 19:07:15 +05:30
Siddhesh Poyarekar
fffb407f46
Remove unused __cr and __cpymn
2013-01-04 22:52:12 +05:30
Siddhesh Poyarekar
6420d207bb
Fix code formatting
2013-01-04 15:57:13 +05:30
Siddhesh Poyarekar
a9e48ab40e
Clean up comment for MP_NO
2013-01-04 15:42:09 +05:30
Siddhesh Poyarekar
b783726459
Remove some commented code
2013-01-04 15:30:34 +05:30
Siddhesh Poyarekar
f8af25d218
Remove commented declarations
2013-01-04 15:10:00 +05:30
Siddhesh Poyarekar
302913e17e
Remove argument variable name from function declaration
2013-01-04 14:54:46 +05:30
Joseph Myers
568035b787
Update copyright notices with scripts/update-copyrights.
2013-01-02 19:05:09 +00:00
Siddhesh Poyarekar
0f5477af5d
Fix values in __mpexp_twomm1
2013-01-02 17:43:35 +05:30
Siddhesh Poyarekar
44e0d4c20c
Split mantissa calculation loop and add branch prediction
2013-01-02 11:44:13 +05:30
Siddhesh Poyarekar
4d55b4e596
Add assert for potential access beyond array bounds in m1np
...
The mpexp code has an access into m1np:
for (i=n-1; i>0; i--,n--) { if (m1np[i][p]+m2>0) break; }
which could break for p >= 18 or i >= 7. Fortunately this code is
never called due to the way the exp function is implemented since
values having exponent less than -55 return 1.0. Make sure that if it
gets called in future, it is trapped.
2013-01-02 11:33:11 +05:30
Siddhesh Poyarekar
da08f647d5
Move more constants into static variables
...
Code cleanup.
2013-01-02 10:07:50 +05:30
Joseph Myers
f4cf5f2d8b
Add script to update copyright notices and reformat some to facilitate its use.
2013-01-01 16:29:10 +00:00
Siddhesh Poyarekar
18ea052c3e
Favour normal numbers
2012-12-31 16:05:13 +05:30
Siddhesh Poyarekar
085ec079e3
Demystify the magic number 134217729.0
...
The number 134217729.0 gets used in various places in e_pow.c but
there is no explanation of what that number is. Add that explanation.
2012-12-29 06:56:04 +05:30
Siddhesh Poyarekar
d63f73be34
Remove unnecessary variable mptwoim1
...
Code cleanup.
2012-12-28 19:02:01 +05:30
Siddhesh Poyarekar
6d9f97e1f2
Replace more constants with their values
...
Code cleanup.
2012-12-28 18:53:17 +05:30
Siddhesh Poyarekar
99136f8202
Replace constants with preprocessor defines
...
libm Code cleanup.
2012-12-28 09:40:10 +05:30
Siddhesh Poyarekar
31a7fe5ca9
Remove redundant __mpexp_nn
...
It's an array that stores integral float values of the offset.
2012-12-27 20:43:55 +05:30
Siddhesh Poyarekar
b76eb5f076
Move mpone out to a global const
...
Code cleanup.
2012-12-27 20:43:24 +05:30
Joseph Myers
66ca5a5b93
Include stdlib.h in sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c.
2012-12-05 20:03:45 +00:00
Joseph Myers
b37984ad36
Fix ldbl-128ibm "set but not used" warnings.
2012-12-04 21:19:17 +00:00
Joseph Myers
c33aa6e3e3
Fix "conflicting types for built-in function" warnings from nldbl-*.c.
2012-12-04 20:22:08 +00:00
Joseph Myers
b3b099af03
Fix powl inaccuracy for ldbl-128ibm (bug 14914).
2012-12-04 14:39:24 +00:00
Joseph Myers
9984dd0126
Use hex float 64-bit values in ldbl-96 asinl (bug 14803).
2012-11-28 21:46:16 +00:00
Joseph Myers
0a42601f27
Fix ldbl-128ibm atanl spurious underflows (bug 14871).
2012-11-22 19:56:47 +00:00
Joseph Myers
c60d3bf2fa
Fix sign of inexact zero results for ldbl-128ibm fmal.
2012-11-22 15:00:35 +00:00
Joseph Myers
ef1e0867c0
Fix ldbl-128ibm powl spurious underflows.
2012-11-22 14:59:45 +00:00
Joseph Myers
1468ded38e
Fix ldbl-128ibm hypotl internal underflows (bug 14869).
2012-11-22 14:58:41 +00:00
Joseph Myers
8e27e3cc45
Fix ldbl-128ibm hypotl inaccuracy for arguments with large ratio (bug 14868).
2012-11-22 14:57:22 +00:00
Joseph Myers
7c7feb4772
Fix expm1l spurious underflows for ldbl-128ibm.
2012-11-22 14:55:17 +00:00
Joseph Myers
cf9a5d1861
Fix set-but-not-used warnings in ldbl-128 nearbyintl, rintl.
2012-11-20 14:26:07 +00:00
David S. Miller
6d33cc9d9b
Fix spurious underflows in ldbl-128 atan implementation.
...
With help from Joseph Myers.
* sysdeps/ieee754/ldbl-128/s_atanl.c (__atanl): Handle tiny and
very large arguments properly.
* math/libm-test.inc (atan_test): New tests.
(atan2_test): New tests.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Update.
2012-11-19 15:31:24 -08: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
David S. Miller
8e18b86d4a
Fix BZ #14811 for ldbl-128 too.
...
[BZ #14811 ]
* sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Saturate
nonzero exponents with absolute value below 0x1p-128 to +/-
0x1p-128.
2012-11-16 21:39:54 -08:00
David S. Miller
447885ebf1
Don't generate underflow for very small values in log1pl.
...
* sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl): If xm1 is
smaller than LDBL_EPSILON/2.0L, just return xm1.
2012-11-16 09:31:38 -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
82477c28f4
Fix fma underflows with small x * y (bug 14793).
2012-11-06 14:12:54 +00:00
Joseph Myers
a0c2940d67
Fix fma overflow results outside round-to-nearest mode (bug 14797).
2012-11-04 19:26:02 +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
473611b22d
Fix fma (a, b, c) for small a * b (bugs 14784, 14785).
2012-11-01 16:47:26 +00:00
Joseph Myers
16a0e2ec87
Fix ldbl-128ibm atan2l for x near 1.
2012-10-31 20:44:59 +00:00
Joseph Myers
ef82f4da79
Fix fma underflow exceptions in after-rounding edge cases.
2012-10-31 13:01:17 +00:00
Joseph Myers
8627a2329c
Fix fma missing underflows and bad results for some subnormal results (bugs 14152, 14783).
2012-10-30 13:54:50 +00:00
Roland McGrath
b8493de0ec
Add missing magic to GLIBC_PROVIDES.
2012-10-09 15:41:30 -07:00
Joseph Myers
bec749fda1
Fix sign of inexact zero return from fma (bug 14645).
2012-10-01 08:30:06 +00:00
Joseph Myers
8ec5b01346
Fix sign of exact zero return from fma (bug 14638).
2012-09-29 18:31:54 +00:00
Steve Ellcey
40cb3caf83
Remove sysdeps/ieee754/ldbl-128/bits/huge_vall.h and let builds
...
use bits/huge_vall.h instead. There is no longer any need for
the special huge_vall.h file.
2012-09-27 14:06:11 -07: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
Liubov Dmitrieva
4ffffbd272
Add optimized sinf and cosf routines for x86 and x86-64
...
* sysdeps/i386/i686/fpu/multiarch/Makefile (sysdep_routines):
Add s_sinf-sse2, s_conf-sse2.
* sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S: New file.
* sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S: New file.
* sysdeps/i386/i686/fpu/multiarch/s_sinf.c: New file.
* sysdeps/i386/i686/fpu/multiarch/s_cosf.c: New file.
* sysdeps/ieee754/flt-32/s_sinf.c (SINF, SINF_FUNC): Add macros
for using routine as __sinf_ia32.
Use macro for function declaration and weak_alias.
* sysdeps/ieee754/flt-32/s_cosf.c (COSF, COSF_FUNC): Add macros
for using routine as __cosf_ia32.
Use macro for function declaration and weak_alias.
* sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: Fix Copyright.
* sysdeps/i386/i686/fpu/multiarch/e_expf.c: Fix Copyright.
* sysdeps/x86_64/fpu/s_sinf.S: New file.
* sysdeps/x86_64/fpu/s_cosf.S: New file.
* sysdeps/x86_64/fpu/libm-test-ulps: Update.
* math/libm-test.inc (cos_test): Add more test cases.
(sin_test): Likewise.
(sincos_test): Likewise.
2012-09-03 15:32:13 +02:00
Marek Polacek
31035e80a4
Quash warning in s_sincosl.
2012-08-17 23:44:53 +02:00
Roland McGrath
bea9b19322
Fix lots of bitrot for stub configurations.
2012-07-30 16:34:33 -07:00
Marek Polacek
354691b7b5
Set up errno properly for yn.
2012-07-25 12:59:36 +02:00
Marek Polacek
541428fecf
Fix ynl return value with LDBL_MIN.
2012-07-12 16:34:47 +02:00
Adhemerval Zanella
28cfe84316
Fix ctan, ctanh of subnormals in round-upwards mode (bug 14328).
...
IBM long double fixes and POWER ulps update.
2012-07-11 09:19:27 -03:00
Joseph Myers
9ad63c23ea
Fix tanf underflow close to pi/4 (bug 14154).
2012-07-06 21:19:38 +00:00
Joseph Myers
7a845b2c23
Fix float range reduction problems (bug 14283).
2012-07-03 17:11:41 +00:00
Joseph Myers
b7abb4bf78
Fix wordsize-64 cosh regression (bug 14273).
2012-06-21 19:26:09 +00:00
Joseph Myers
10285c2113
Fix pow (0.0, -Inf) (bug 14241).
2012-06-15 11:27:51 +00:00
Adhemerval Zanella
1b671feb61
Fix for wrong ldbl128-ibm fmodl commit
2012-06-05 21:33:23 -03:00
Adhemerval Zanella
6043738b36
Fix spurious undeflow for ldbl-128ibm erfl
...
For values higher than 25.6283 erflc underflow, so adjust erfl
to return a constant value based argument sign.
2012-06-05 10:42:49 -03:00
Adhemerval Zanella
34ae0b3270
Fix ldbl128ibm fmodl for subnormals.
2012-06-05 10:16:49 -03:00
Joseph Myers
c5bfe3d5ba
Fix fmod for subnormals (bug 14048).
2012-06-01 19:05:46 +00:00
Joseph Myers
4842e4fe5f
Ensure additions are not scheduled after fetestexcept in fmaf and fmal.
2012-06-01 19:02:21 +00:00
Aurelien Jarno
efb734887e
Add a barrier in the double fma implementation.
2012-06-01 19:01:17 +00:00