diff options
author | David S. Miller <davem@davemloft.net> | 2012-11-18 12:33:53 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-11-18 12:33:53 -0800 |
commit | 05b227bdaea9a5f1faf08dad31221d8736f3659d (patch) | |
tree | 06e947ef8dbcee671b979246fa994fba53081e4c /sysdeps/sparc | |
parent | 786b0b67a3019e84988a6d5a79fd97801580a1cd (diff) | |
download | glibc-05b227bdaea9a5f1faf08dad31221d8736f3659d.zip glibc-05b227bdaea9a5f1faf08dad31221d8736f3659d.tar.gz glibc-05b227bdaea9a5f1faf08dad31221d8736f3659d.tar.bz2 |
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.
Diffstat (limited to 'sysdeps/sparc')
-rw-r--r-- | sysdeps/sparc/fpu/libm-test-ulps | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 0f8179f..ec0ad66 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -1328,8 +1328,8 @@ Test "Imaginary part of: clog10 (0xf2p-10 + 0x3e3p-10 i) == 2.692124017335111295 double: 1 idouble: 1 Test "Imaginary part of: clog10 (0xfd95243681c055c2632286921092p-113 + 0x1bccabcd29ca2152860ec29e34ef7p-113 i) == 2.8774482675253468630312378575186855052697e-66 + 0.4571561610046221605554903008571429975493 i": -ldouble: 2 ildouble: 2 +ldouble: 2 Test "Imaginary part of: clog10 (0xfe961079616p-45 + 0x1bc37e09e6d1p-45 i) == 2.3329549194675052736016290082882121135546e-26 + 0.4561756099441139182878993697611751382976 i": double: 1 idouble: 1 @@ -2861,6 +2861,43 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "y0 (0x1p-10) == -4.4865150767109739412411806297168793661098": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "y0 (0x1p-110) == -4.861363632869203777249475899390797503250e+1": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "y0 (0x1p-20) == -8.8992283012125827603076426611387876938160": +float: 1 +ifloat: 1 +Test "y0 (0x1p-30) == -1.3311940304267782826037118027401817264906e+1": +float: 1 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "y0 (0x1p-40) == -1.7724652307320814696990854700366226762563e+1": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "y0 (0x1p-50) == -2.2137364310373846564919987139743760738155e+1": +float: 1 +ifloat: 1 +Test "y0 (0x1p-60) == -2.6550076313426878432849115782108205929120e+1": +ildouble: 1 +ldouble: 1 +Test "y0 (0x1p-70) == -3.0962788316479910300778244424468159753887e+1": +double: 1 +idouble: 1 +Test "y0 (0x1p-80) == -3.5375500319532942168707373066828113573541e+1": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "y0 (1.0) == 0.0882569642156769579829267660235151628": double: 2 float: 1 @@ -2897,6 +2934,14 @@ ldouble: 1 Test "y1 (0x1.27e204p+99) == -8.881610148467797208469612080785210013461e-16": double: 1 idouble: 1 +Test "y1 (0x1p-10) == -6.5190099301063115047395187618929589514382e+02": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "y1 (0x1p-30) == -6.8356527557643159612937462812258975438856e+08": +ildouble: 1 +ldouble: 1 Test "y1 (1.5) == -0.412308626973911295952829820633445323": float: 1 ifloat: 1 |