Commit Graph

254 Commits

Author SHA1 Message Date
Siddhesh Poyarekar 4aafb73cb2 Consolidate common code into macros
Consolidated common Taylor series polynomials into macros in s_sin.c
to make it a bit cleaner.
2013-09-19 20:34:45 +05:30
Siddhesh Poyarekar b348e1e3a6 Consolidate sin/cos table lookup code 2013-09-19 16:51:02 +05:30
Siddhesh Poyarekar 6cce25f814 Consolidate sin/cos computation for large inputs 2013-09-19 16:45:27 +05:30
Siddhesh Poyarekar 5eea0404a8 Remove redundant goto lines 2013-09-19 16:43:53 +05:30
Siddhesh Poyarekar 97a0650b8a Format sincos32.c 2013-09-18 13:01:34 +05:30
Ondřej Bílka c7cabd1355 Remove DO_NOT_USE_THIS conditionals. 2013-09-10 19:15:33 +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 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
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
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
Siddhesh Poyarekar b33d4ce4a2 Replace 8388608.0 with HALFRAD in mp code
Minor cleanup
2013-03-21 13:07:44 +05:30
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
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
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