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