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