diff options
author | Joseph Myers <joseph@codesourcery.com> | 2013-05-01 10:07:00 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2013-05-01 10:07:00 +0000 |
commit | 10de07f5fdd9eaf3a808d4461401f5b661095614 (patch) | |
tree | 844a1ed48df767e65d46a429f0e1b062e0e2fad5 /sysdeps/i386 | |
parent | Update powerpc libm-test ULPs (diff) | |
download | glibc-10de07f5fdd9eaf3a808d4461401f5b661095614.tar.gz glibc-10de07f5fdd9eaf3a808d4461401f5b661095614.tar.bz2 glibc-10de07f5fdd9eaf3a808d4461401f5b661095614.zip |
Fix catan, catanh spurious underflows (bug 15423).
Diffstat (limited to 'sysdeps/i386')
-rw-r--r-- | sysdeps/i386/fpu/libm-test-ulps | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index a3f58447d9..081559257d 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -3497,6 +3497,12 @@ ldouble: 1 Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": double: 1 idouble: 1 +Test "Imaginary part of: catan (-0x1.3p-73 + 1.0 i) == -7.853981633974483096156922786831527361009e-1 + 2.556052055225464683726753902092495938633e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1.3p-73 - 1.0 i) == -7.853981633974483096156922786831527361009e-1 - 2.556052055225464683726753902092495938633e1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i) == -1.570796326794896619231321691639751442099 + 2.871063043235098558826106732041811695767e-309 i": ildouble: 1 ldouble: 1 @@ -3509,15 +3515,45 @@ ldouble: 1 Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i) == -1.570796326794896619231321691639751442097 - 1.516766904286822590927401983512575068153e-39 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i) == -7.853981633974483096156608458198757210493e-1 + 3.538516356758520804574969980043991380025e2 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i) == -7.853981633974483096156608458198757210493e-1 - 3.538516356758520804574969980043991380025e2 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1022 + 0x0.ffffffffffffffffp0 i) == -2.052268400649188124723641491045245971623e-289 + 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-1022 - 0x0.ffffffffffffffffp0 i) == -2.052268400649188124723641491045245971623e-289 - 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-16382 + 0x0.ffffffffffffffffp0 i) == -3.100992811520163369065387859792822623745e-4913 + 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-16382 - 0x0.ffffffffffffffffp0 i) == -3.100992811520163369065387859792822623745e-4913 - 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-0x1p-33 + 0x0.ffffffffffffffffp0 i) == -7.853981631937214964185249205444919953948e-1 + 1.178350206951907026002603046195591193050e1 i": ildouble: 1 ldouble: 1 Test "Imaginary part of: catan (-0x1p-33 - 0x0.ffffffffffffffffp0 i) == -7.853981631937214964185249205444919953948e-1 - 1.178350206951907026002603046195591193050e1 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-0x1p-64 + 1.0 i) == -7.853981633974483096292133729759445264744e-1 + 2.252728336819822255606004394739073846245e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-0x1p-64 - 1.0 i) == -7.853981633974483096292133729759445264744e-1 - 2.252728336819822255606004394739073846245e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (-1.0 + 0x1p-64 i) == -7.853981633974483096156608458198757210500e-1 + 2.710505431213761085018632002174854278563e-20 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-1.0 - 0x1p-13 i) == -7.853981671227386080775748393881580082970e-1 - 6.103515609841754902688560615027452023669e-5 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (-1.0 - 0x1p-64 i) == -7.853981633974483096156608458198757210500e-1 - 2.710505431213761085018632002174854278563e-20 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i": double: 1 float: 1 @@ -3540,6 +3576,12 @@ ldouble: 1 Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i": double: 1 idouble: 1 +Test "Imaginary part of: catan (0x1.3p-73 + 1.0 i) == 7.853981633974483096156922786831527361009e-1 + 2.556052055225464683726753902092495938633e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1.3p-73 - 1.0 i) == 7.853981633974483096156922786831527361009e-1 - 2.556052055225464683726753902092495938633e1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i) == 1.570796326794896619231321691639751442099 + 2.871063043235098558826106732041811695767e-309 i": ildouble: 1 ldouble: 1 @@ -3552,20 +3594,62 @@ ldouble: 1 Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i) == 1.570796326794896619231321691639751442097 - 1.516766904286822590927401983512575068153e-39 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-1020 + 1.0 i) == 7.853981633974483096156608458198757210493e-1 + 3.538516356758520804574969980043991380025e2 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-1020 - 1.0 i) == 7.853981633974483096156608458198757210493e-1 - 3.538516356758520804574969980043991380025e2 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-1022 + 0x0.ffffffffffffffffp0 i) == 2.052268400649188124723641491045245971623e-289 + 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-1022 - 0x0.ffffffffffffffffp0 i) == 2.052268400649188124723641491045245971623e-289 - 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-16382 + 0x0.ffffffffffffffffp0 i) == 3.100992811520163369065387859792822623745e-4913 + 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-16382 - 0x0.ffffffffffffffffp0 i) == 3.100992811520163369065387859792822623745e-4913 - 2.252728336819822255604649142023466965703e1 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (0x1p-33 + 0x0.ffffffffffffffffp0 i) == 7.853981631937214964185249205444919953948e-1 + 1.178350206951907026002603046195591193050e1 i": ildouble: 1 ldouble: 1 Test "Imaginary part of: catan (0x1p-33 - 0x0.ffffffffffffffffp0 i) == 7.853981631937214964185249205444919953948e-1 - 1.178350206951907026002603046195591193050e1 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (0x1p-64 + 1.0 i) == 7.853981633974483096292133729759445264744e-1 + 2.252728336819822255606004394739073846245e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (0x1p-64 - 1.0 i) == 7.853981633974483096292133729759445264744e-1 - 2.252728336819822255606004394739073846245e1 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: catan (1.0 + 0x1p-64 i) == 7.853981633974483096156608458198757210500e-1 + 2.710505431213761085018632002174854278563e-20 i": +ildouble: 1 +ldouble: 1 Test "Imaginary part of: catan (1.0 - 0x1p-13 i) == 7.853981671227386080775748393881580082970e-1 - 6.103515609841754902688560615027452023669e-5 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: catan (1.0 - 0x1p-64 i) == 7.853981633974483096156608458198757210500e-1 - 2.710505431213761085018632002174854278563e-20 i": +ildouble: 1 +ldouble: 1 # catanh +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-1022 i) == -2.252728336819822255604649142023466965703e1 + 2.052268400649188124723641491045245971623e-289 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-16382 i) == -2.252728336819822255604649142023466965703e1 + 3.100992811520163369065387859792822623745e-4913 i": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-33 i) == -1.178350206951907026002603046195591193050e1 + 7.853981631937214964185249205444919953948e-1 i": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-1022 i) == -2.252728336819822255604649142023466965703e1 - 2.052268400649188124723641491045245971623e-289 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-16382 i) == -2.252728336819822255604649142023466965703e1 - 3.100992811520163369065387859792822623745e-4913 i": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-33 i) == -1.178350206951907026002603046195591193050e1 - 7.853981631937214964185249205444919953948e-1 i": ildouble: 1 ldouble: 1 @@ -3593,6 +3677,30 @@ idouble: 1 Test "Real part of: catanh (-0x1p-13 - 1.0 i) == -6.103515609841754902688560615027452023669e-5 - 7.853981671227386080775748393881580082970e-1 i": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (-0x1p-64 + 1.0 i) == -2.710505431213761085018632002174854278563e-20 + 7.853981633974483096156608458198757210500e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-0x1p-64 - 1.0 i) == -2.710505431213761085018632002174854278563e-20 - 7.853981633974483096156608458198757210500e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 + 0x1.3p-73 i) == -2.556052055225464683726753902092495938633e1 + 7.853981633974483096156922786831527361009e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 + 0x1p-1020 i) == -3.538516356758520804574969980043991380025e2 + 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 + 0x1p-64 i) == -2.252728336819822255606004394739073846245e1 + 7.853981633974483096292133729759445264744e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 - 0x1.3p-73 i) == -2.556052055225464683726753902092495938633e1 - 7.853981633974483096156922786831527361009e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 - 0x1p-1020 i) == -3.538516356758520804574969980043991380025e2 - 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (-1.0 - 0x1p-64 i) == -2.252728336819822255606004394739073846245e1 - 7.853981633974483096292133729759445264744e-1 i": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i": double: 2 float: 1 @@ -3605,9 +3713,21 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-1022 i) == 2.252728336819822255604649142023466965703e1 + 2.052268400649188124723641491045245971623e-289 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-16382 i) == 2.252728336819822255604649142023466965703e1 + 3.100992811520163369065387859792822623745e-4913 i": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-33 i) == 1.178350206951907026002603046195591193050e1 + 7.853981631937214964185249205444919953948e-1 i": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-1022 i) == 2.252728336819822255604649142023466965703e1 - 2.052268400649188124723641491045245971623e-289 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-16382 i) == 2.252728336819822255604649142023466965703e1 - 3.100992811520163369065387859792822623745e-4913 i": +ildouble: 1 +ldouble: 1 Test "Real part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-33 i) == 1.178350206951907026002603046195591193050e1 - 7.853981631937214964185249205444919953948e-1 i": ildouble: 1 ldouble: 1 @@ -3651,6 +3771,30 @@ ldouble: 1 Test "Real part of: catanh (0x1p-33 - 0x0.ffffffffffffffffp0 i) == 5.820766091346740722958646680334721192083e-11 - 7.853981633974483095919439232967553115548e-1 i": ildouble: 1 ldouble: 1 +Test "Real part of: catanh (0x1p-64 + 1.0 i) == 2.710505431213761085018632002174854278563e-20 + 7.853981633974483096156608458198757210500e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (0x1p-64 - 1.0 i) == 2.710505431213761085018632002174854278563e-20 - 7.853981633974483096156608458198757210500e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1.3p-73 i) == 2.556052055225464683726753902092495938633e1 + 7.853981633974483096156922786831527361009e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1p-1020 i) == 3.538516356758520804574969980043991380025e2 + 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 + 0x1p-64 i) == 2.252728336819822255606004394739073846245e1 + 7.853981633974483096292133729759445264744e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 - 0x1.3p-73 i) == 2.556052055225464683726753902092495938633e1 - 7.853981633974483096156922786831527361009e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 - 0x1p-1020 i) == 3.538516356758520804574969980043991380025e2 - 7.853981633974483096156608458198757210493e-1 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: catanh (1.0 - 0x1p-64 i) == 2.252728336819822255606004394739073846245e1 - 7.853981633974483096292133729759445264744e-1 i": +ildouble: 1 +ldouble: 1 # cbrt Test "cbrt (-27.0) == -3.0": |