mirror of
git://sourceware.org/git/glibc.git
synced 2025-02-17 13:00:43 +08:00
Fix tgamma errno setting on underflow (bug 6810).
This commit is contained in:
parent
bbf37bdc12
commit
e47cc4e0ed
13
ChangeLog
13
ChangeLog
@ -1,5 +1,18 @@
|
||||
2013-12-05 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #6810]
|
||||
* math/w_tgamma.c: Include <errno.h>.
|
||||
(__tgamma): Use __glibc_unlikely. Set errno on underflow to 0.
|
||||
* math/w_tgammaf.c: Include <errno.h>.
|
||||
(__tgammaf): Use __glibc_unlikely. Set errno on underflow to 0.
|
||||
* math/w_tgammal.c: Include <errno.h>.
|
||||
(__tgammal): Use __glibc_unlikely. Set errno on underflow to 0.
|
||||
* math/auto-libm-test-in: Do not allow missing errno on tgamma
|
||||
underflow. Add more tgamma tests.
|
||||
* math/auto-libm-test-out: Regenerated.
|
||||
* sysdeps/i386/fpu/libm-test-ulps: Update.
|
||||
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
|
||||
|
||||
* math/auto-libm-test-in: Add tests of log, log10, log1p, log2,
|
||||
sin, sinh, tan, tanh, tgamma, y0 and y1.
|
||||
* math/auto-libm-test-out: Regenerated.
|
||||
|
26
NEWS
26
NEWS
@ -9,19 +9,19 @@ Version 2.19
|
||||
|
||||
* The following bugs are resolved with this release:
|
||||
|
||||
156, 387, 431, 832, 926, 2801, 4772, 6786, 6787, 6807, 7003, 9954, 10253,
|
||||
10278, 11087, 11157, 11214, 12486, 13028, 13982, 13985, 14029, 14032,
|
||||
14143, 14155, 14547, 14699, 14752, 14876, 14910, 15004, 15048, 15218,
|
||||
15268, 15277, 15308, 15362, 15374, 15400, 15425, 15427, 15483, 15522,
|
||||
15531, 15532, 15601, 15608, 15609, 15610, 15632, 15640, 15670, 15672,
|
||||
15680, 15681, 15723, 15734, 15735, 15736, 15748, 15749, 15754, 15760,
|
||||
15763, 15764, 15797, 15799, 15825, 15844, 15847, 15849, 15855, 15856,
|
||||
15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897,
|
||||
15901, 15905, 15909, 15915, 15917, 15919, 15921, 15923, 15939, 15941,
|
||||
15948, 15963, 15966, 15985, 15988, 15997, 16032, 16034, 16036, 16037,
|
||||
16038, 16041, 16055, 16071, 16072, 16074, 16077, 16078, 16103, 16112,
|
||||
16143, 16144, 16146, 16150, 16151, 16153, 16167, 16172, 16195, 16214,
|
||||
16245, 16271, 16274, 16283, 16289.
|
||||
156, 387, 431, 832, 926, 2801, 4772, 6786, 6787, 6807, 6810, 7003, 9954,
|
||||
10253, 10278, 11087, 11157, 11214, 12486, 13028, 13982, 13985, 14029,
|
||||
14032, 14143, 14155, 14547, 14699, 14752, 14876, 14910, 15004, 15048,
|
||||
15218, 15268, 15277, 15308, 15362, 15374, 15400, 15425, 15427, 15483,
|
||||
15522, 15531, 15532, 15601, 15608, 15609, 15610, 15632, 15640, 15670,
|
||||
15672, 15680, 15681, 15723, 15734, 15735, 15736, 15748, 15749, 15754,
|
||||
15760, 15763, 15764, 15797, 15799, 15825, 15844, 15847, 15849, 15855,
|
||||
15856, 15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895,
|
||||
15897, 15901, 15905, 15909, 15915, 15917, 15919, 15921, 15923, 15939,
|
||||
15941, 15948, 15963, 15966, 15985, 15988, 15997, 16032, 16034, 16036,
|
||||
16037, 16038, 16041, 16055, 16071, 16072, 16074, 16077, 16078, 16103,
|
||||
16112, 16143, 16144, 16146, 16150, 16151, 16153, 16167, 16172, 16195,
|
||||
16214, 16245, 16271, 16274, 16283, 16289.
|
||||
|
||||
* The public headers no longer use __unused nor __block. This change is to
|
||||
support compiling programs that are derived from BSD sources and use
|
||||
|
@ -596,9 +596,8 @@ tgamma -0x27.ffffcp0
|
||||
tgamma -0x28.00004p0
|
||||
tgamma -0x28.ffffcp0
|
||||
tgamma -0x29.00004p0
|
||||
# Bug 6810: errno may not be set on underflow.
|
||||
tgamma -0x29.ffffcp0 missing-errno
|
||||
tgamma -0x2a.00004p0 missing-errno
|
||||
tgamma -0x29.ffffcp0
|
||||
tgamma -0x2a.00004p0
|
||||
tgamma 0x8.0000000000008p0
|
||||
tgamma 0x7.ffffffffffffcp0
|
||||
tgamma 0x7.0000000000004p0
|
||||
@ -641,23 +640,22 @@ tgamma -0x27.fffffffffffep0
|
||||
tgamma -0x28.000000000002p0
|
||||
tgamma -0x28.fffffffffffep0
|
||||
tgamma -0x29.000000000002p0
|
||||
# Bug 6810: errno may not be set on underflow.
|
||||
tgamma -0x29.fffffffffffep0 missing-errno
|
||||
tgamma -0x2a.000000000002p0 missing-errno
|
||||
tgamma -0x31.fffffffffffep0 missing-errno
|
||||
tgamma -0x32.000000000002p0 missing-errno
|
||||
tgamma -0x63.fffffffffffcp0 missing-errno
|
||||
tgamma -0x64.000000000004p0 missing-errno
|
||||
tgamma -0x95.fffffffffff8p0 missing-errno
|
||||
tgamma -0x96.000000000008p0 missing-errno
|
||||
tgamma -0xb4.fffffffffff8p0 missing-errno
|
||||
tgamma -0xb5.000000000008p0 missing-errno
|
||||
tgamma -0xb5.fffffffffff8p0 missing-errno
|
||||
tgamma -0xb6.000000000008p0 missing-errno
|
||||
tgamma -0xb6.fffffffffff8p0 missing-errno
|
||||
tgamma -0xb7.000000000008p0 missing-errno
|
||||
tgamma -0xb7.fffffffffff8p0 missing-errno
|
||||
tgamma -0xb8.000000000008p0 missing-errno
|
||||
tgamma -0x29.fffffffffffep0
|
||||
tgamma -0x2a.000000000002p0
|
||||
tgamma -0x31.fffffffffffep0
|
||||
tgamma -0x32.000000000002p0
|
||||
tgamma -0x63.fffffffffffcp0
|
||||
tgamma -0x64.000000000004p0
|
||||
tgamma -0x95.fffffffffff8p0
|
||||
tgamma -0x96.000000000008p0
|
||||
tgamma -0xb4.fffffffffff8p0
|
||||
tgamma -0xb5.000000000008p0
|
||||
tgamma -0xb5.fffffffffff8p0
|
||||
tgamma -0xb6.000000000008p0
|
||||
tgamma -0xb6.fffffffffff8p0
|
||||
tgamma -0xb7.000000000008p0
|
||||
tgamma -0xb7.fffffffffff8p0
|
||||
tgamma -0xb8.000000000008p0
|
||||
tgamma 0x8.00000000000000000000000004p0
|
||||
tgamma 0x7.fffffffffffffffffffffffffep0
|
||||
tgamma 0x7.00000000000000000000000002p0
|
||||
@ -700,31 +698,30 @@ tgamma -0x27.fffffffffffffffffffffffffp0
|
||||
tgamma -0x28.0000000000000000000000001p0
|
||||
tgamma -0x28.fffffffffffffffffffffffffp0
|
||||
tgamma -0x29.0000000000000000000000001p0
|
||||
# Bug 6810: errno may not be set on underflow.
|
||||
tgamma -0x29.fffffffffffffffffffffffffp0 missing-errno
|
||||
tgamma -0x2a.0000000000000000000000001p0 missing-errno
|
||||
tgamma -0x31.fffffffffffffffffffffffffp0 missing-errno
|
||||
tgamma -0x32.0000000000000000000000001p0 missing-errno
|
||||
tgamma -0x63.ffffffffffffffffffffffffep0 missing-errno
|
||||
tgamma -0x64.0000000000000000000000002p0 missing-errno
|
||||
tgamma -0x95.ffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x96.0000000000000000000000004p0 missing-errno
|
||||
tgamma -0xb4.ffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0xb5.0000000000000000000000004p0 missing-errno
|
||||
tgamma -0xb5.ffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0xb6.0000000000000000000000004p0 missing-errno
|
||||
tgamma -0xb6.ffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0xb7.0000000000000000000000004p0 missing-errno
|
||||
tgamma -0xb7.ffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0xb8.0000000000000000000000004p0 missing-errno
|
||||
tgamma -0xbb.ffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0xbc.0000000000000000000000004p0 missing-errno
|
||||
tgamma -0xbc.ffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0xbd.0000000000000000000000004p0 missing-errno
|
||||
tgamma -0xbd.ffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0xbe.0000000000000000000000004p0 missing-errno
|
||||
tgamma -0xbe.ffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0xbf.0000000000000000000000004p0 missing-errno
|
||||
tgamma -0x29.fffffffffffffffffffffffffp0
|
||||
tgamma -0x2a.0000000000000000000000001p0
|
||||
tgamma -0x31.fffffffffffffffffffffffffp0
|
||||
tgamma -0x32.0000000000000000000000001p0
|
||||
tgamma -0x63.ffffffffffffffffffffffffep0
|
||||
tgamma -0x64.0000000000000000000000002p0
|
||||
tgamma -0x95.ffffffffffffffffffffffffcp0
|
||||
tgamma -0x96.0000000000000000000000004p0
|
||||
tgamma -0xb4.ffffffffffffffffffffffffcp0
|
||||
tgamma -0xb5.0000000000000000000000004p0
|
||||
tgamma -0xb5.ffffffffffffffffffffffffcp0
|
||||
tgamma -0xb6.0000000000000000000000004p0
|
||||
tgamma -0xb6.ffffffffffffffffffffffffcp0
|
||||
tgamma -0xb7.0000000000000000000000004p0
|
||||
tgamma -0xb7.ffffffffffffffffffffffffcp0
|
||||
tgamma -0xb8.0000000000000000000000004p0
|
||||
tgamma -0xbb.ffffffffffffffffffffffffcp0
|
||||
tgamma -0xbc.0000000000000000000000004p0
|
||||
tgamma -0xbc.ffffffffffffffffffffffffcp0
|
||||
tgamma -0xbd.0000000000000000000000004p0
|
||||
tgamma -0xbd.ffffffffffffffffffffffffcp0
|
||||
tgamma -0xbe.0000000000000000000000004p0
|
||||
tgamma -0xbe.ffffffffffffffffffffffffcp0
|
||||
tgamma -0xbf.0000000000000000000000004p0
|
||||
tgamma 0x8.000000000000001p0
|
||||
tgamma 0x7.fffffffffffffff8p0
|
||||
tgamma 0x7.0000000000000008p0
|
||||
@ -767,53 +764,52 @@ tgamma -0x27.ffffffffffffffcp0
|
||||
tgamma -0x28.000000000000004p0
|
||||
tgamma -0x28.ffffffffffffffcp0
|
||||
tgamma -0x29.000000000000004p0
|
||||
# Bug 6810: errno may not be set on underflow.
|
||||
tgamma -0x29.ffffffffffffffcp0 missing-errno
|
||||
tgamma -0x2a.000000000000004p0 missing-errno
|
||||
tgamma -0x31.ffffffffffffffcp0 missing-errno
|
||||
tgamma -0x32.000000000000004p0 missing-errno
|
||||
tgamma -0x63.ffffffffffffff8p0 missing-errno
|
||||
tgamma -0x64.000000000000008p0 missing-errno
|
||||
tgamma -0x95.ffffffffffffffp0 missing-errno
|
||||
tgamma -0x96.00000000000001p0 missing-errno
|
||||
tgamma -0xb4.ffffffffffffffp0 missing-errno
|
||||
tgamma -0xb5.00000000000001p0 missing-errno
|
||||
tgamma -0xb5.ffffffffffffffp0 missing-errno
|
||||
tgamma -0xb6.00000000000001p0 missing-errno
|
||||
tgamma -0xb6.ffffffffffffffp0 missing-errno
|
||||
tgamma -0xb7.00000000000001p0 missing-errno
|
||||
tgamma -0xb7.ffffffffffffffp0 missing-errno
|
||||
tgamma -0xb8.00000000000001p0 missing-errno
|
||||
tgamma -0xbb.ffffffffffffffp0 missing-errno
|
||||
tgamma -0xbc.00000000000001p0 missing-errno
|
||||
tgamma -0xbc.ffffffffffffffp0 missing-errno
|
||||
tgamma -0xbd.00000000000001p0 missing-errno
|
||||
tgamma -0xbd.ffffffffffffffp0 missing-errno
|
||||
tgamma -0xbe.00000000000001p0 missing-errno
|
||||
tgamma -0xbe.ffffffffffffffp0 missing-errno
|
||||
tgamma -0xbf.00000000000001p0 missing-errno
|
||||
tgamma -0xf9.ffffffffffffffp0 missing-errno
|
||||
tgamma -0xfa.00000000000001p0 missing-errno
|
||||
tgamma -0x1f3.fffffffffffffep0 missing-errno
|
||||
tgamma -0x1f4.00000000000002p0 missing-errno
|
||||
tgamma -0x2ed.fffffffffffffcp0 missing-errno
|
||||
tgamma -0x2ee.00000000000004p0 missing-errno
|
||||
tgamma -0x3e7.fffffffffffffcp0 missing-errno
|
||||
tgamma -0x3e8.00000000000004p0 missing-errno
|
||||
tgamma -0x4e1.fffffffffffff8p0 missing-errno
|
||||
tgamma -0x4e2.00000000000008p0 missing-errno
|
||||
tgamma -0x5db.fffffffffffff8p0 missing-errno
|
||||
tgamma -0x5dc.00000000000008p0 missing-errno
|
||||
tgamma -0x6d5.fffffffffffff8p0 missing-errno
|
||||
tgamma -0x6d6.00000000000008p0 missing-errno
|
||||
tgamma -0x6e2.fffffffffffff8p0 missing-errno
|
||||
tgamma -0x6e3.00000000000008p0 missing-errno
|
||||
tgamma -0x6e3.fffffffffffff8p0 missing-errno
|
||||
tgamma -0x6e4.00000000000008p0 missing-errno
|
||||
tgamma -0x6e4.fffffffffffff8p0 missing-errno
|
||||
tgamma -0x6e5.00000000000008p0 missing-errno
|
||||
tgamma -0x6e5.fffffffffffff8p0 missing-errno
|
||||
tgamma -0x6e6.00000000000008p0 missing-errno
|
||||
tgamma -0x29.ffffffffffffffcp0
|
||||
tgamma -0x2a.000000000000004p0
|
||||
tgamma -0x31.ffffffffffffffcp0
|
||||
tgamma -0x32.000000000000004p0
|
||||
tgamma -0x63.ffffffffffffff8p0
|
||||
tgamma -0x64.000000000000008p0
|
||||
tgamma -0x95.ffffffffffffffp0
|
||||
tgamma -0x96.00000000000001p0
|
||||
tgamma -0xb4.ffffffffffffffp0
|
||||
tgamma -0xb5.00000000000001p0
|
||||
tgamma -0xb5.ffffffffffffffp0
|
||||
tgamma -0xb6.00000000000001p0
|
||||
tgamma -0xb6.ffffffffffffffp0
|
||||
tgamma -0xb7.00000000000001p0
|
||||
tgamma -0xb7.ffffffffffffffp0
|
||||
tgamma -0xb8.00000000000001p0
|
||||
tgamma -0xbb.ffffffffffffffp0
|
||||
tgamma -0xbc.00000000000001p0
|
||||
tgamma -0xbc.ffffffffffffffp0
|
||||
tgamma -0xbd.00000000000001p0
|
||||
tgamma -0xbd.ffffffffffffffp0
|
||||
tgamma -0xbe.00000000000001p0
|
||||
tgamma -0xbe.ffffffffffffffp0
|
||||
tgamma -0xbf.00000000000001p0
|
||||
tgamma -0xf9.ffffffffffffffp0
|
||||
tgamma -0xfa.00000000000001p0
|
||||
tgamma -0x1f3.fffffffffffffep0
|
||||
tgamma -0x1f4.00000000000002p0
|
||||
tgamma -0x2ed.fffffffffffffcp0
|
||||
tgamma -0x2ee.00000000000004p0
|
||||
tgamma -0x3e7.fffffffffffffcp0
|
||||
tgamma -0x3e8.00000000000004p0
|
||||
tgamma -0x4e1.fffffffffffff8p0
|
||||
tgamma -0x4e2.00000000000008p0
|
||||
tgamma -0x5db.fffffffffffff8p0
|
||||
tgamma -0x5dc.00000000000008p0
|
||||
tgamma -0x6d5.fffffffffffff8p0
|
||||
tgamma -0x6d6.00000000000008p0
|
||||
tgamma -0x6e2.fffffffffffff8p0
|
||||
tgamma -0x6e3.00000000000008p0
|
||||
tgamma -0x6e3.fffffffffffff8p0
|
||||
tgamma -0x6e4.00000000000008p0
|
||||
tgamma -0x6e4.fffffffffffff8p0
|
||||
tgamma -0x6e5.00000000000008p0
|
||||
tgamma -0x6e5.fffffffffffff8p0
|
||||
tgamma -0x6e6.00000000000008p0
|
||||
tgamma 0x8.0000000000000000000000000008p0
|
||||
tgamma 0x7.fffffffffffffffffffffffffffcp0
|
||||
tgamma 0x7.0000000000000000000000000004p0
|
||||
@ -856,64 +852,62 @@ tgamma -0x27.ffffffffffffffffffffffffffep0
|
||||
tgamma -0x28.000000000000000000000000002p0
|
||||
tgamma -0x28.ffffffffffffffffffffffffffep0
|
||||
tgamma -0x29.000000000000000000000000002p0
|
||||
# Bug 6810: errno may not be set on underflow.
|
||||
tgamma -0x29.ffffffffffffffffffffffffffep0 missing-errno
|
||||
tgamma -0x2a.000000000000000000000000002p0 missing-errno
|
||||
tgamma -0x31.ffffffffffffffffffffffffffep0 missing-errno
|
||||
tgamma -0x32.000000000000000000000000002p0 missing-errno
|
||||
tgamma -0x63.ffffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x64.000000000000000000000000004p0 missing-errno
|
||||
tgamma -0x95.ffffffffffffffffffffffffff8p0 missing-errno
|
||||
tgamma -0x96.000000000000000000000000008p0 missing-errno
|
||||
tgamma -0xb4.ffffffffffffffffffffffffff8p0 missing-errno
|
||||
tgamma -0xb5.000000000000000000000000008p0 missing-errno
|
||||
tgamma -0xb5.ffffffffffffffffffffffffff8p0 missing-errno
|
||||
tgamma -0xb6.000000000000000000000000008p0 missing-errno
|
||||
tgamma -0xb6.ffffffffffffffffffffffffff8p0 missing-errno
|
||||
tgamma -0xb7.000000000000000000000000008p0 missing-errno
|
||||
tgamma -0xb7.ffffffffffffffffffffffffff8p0 missing-errno
|
||||
tgamma -0xb8.000000000000000000000000008p0 missing-errno
|
||||
tgamma -0xbb.ffffffffffffffffffffffffff8p0 missing-errno
|
||||
tgamma -0xbc.000000000000000000000000008p0 missing-errno
|
||||
tgamma -0xbc.ffffffffffffffffffffffffff8p0 missing-errno
|
||||
tgamma -0xbd.000000000000000000000000008p0 missing-errno
|
||||
tgamma -0xbd.ffffffffffffffffffffffffff8p0 missing-errno
|
||||
tgamma -0xbe.000000000000000000000000008p0 missing-errno
|
||||
tgamma -0xbe.ffffffffffffffffffffffffff8p0 missing-errno
|
||||
tgamma -0xbf.000000000000000000000000008p0 missing-errno
|
||||
tgamma -0xf9.ffffffffffffffffffffffffff8p0 missing-errno
|
||||
tgamma -0xfa.000000000000000000000000008p0 missing-errno
|
||||
tgamma -0x1f3.ffffffffffffffffffffffffffp0 missing-errno
|
||||
tgamma -0x1f4.00000000000000000000000001p0 missing-errno
|
||||
tgamma -0x2ed.fffffffffffffffffffffffffep0 missing-errno
|
||||
tgamma -0x2ee.00000000000000000000000002p0 missing-errno
|
||||
tgamma -0x3e7.fffffffffffffffffffffffffep0 missing-errno
|
||||
tgamma -0x3e8.00000000000000000000000002p0 missing-errno
|
||||
tgamma -0x4e1.fffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x4e2.00000000000000000000000004p0 missing-errno
|
||||
tgamma -0x5db.fffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x5dc.00000000000000000000000004p0 missing-errno
|
||||
tgamma -0x6d5.fffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x6d6.00000000000000000000000004p0 missing-errno
|
||||
tgamma -0x6e2.fffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x6e3.00000000000000000000000004p0 missing-errno
|
||||
tgamma -0x6e3.fffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x6e4.00000000000000000000000004p0 missing-errno
|
||||
tgamma -0x6e4.fffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x6e5.00000000000000000000000004p0 missing-errno
|
||||
tgamma -0x6e5.fffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x6e6.00000000000000000000000004p0 missing-errno
|
||||
tgamma -0x6eb.fffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x6ec.00000000000000000000000004p0 missing-errno
|
||||
tgamma -0x6ec.fffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x6ed.00000000000000000000000004p0 missing-errno
|
||||
tgamma -0x6ed.fffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x6ee.00000000000000000000000004p0 missing-errno
|
||||
tgamma -0x6ee.fffffffffffffffffffffffffcp0 missing-errno
|
||||
tgamma -0x6ef.00000000000000000000000004p0 missing-errno
|
||||
tgamma -0x29.ffffffffffffffffffffffffffep0
|
||||
tgamma -0x2a.000000000000000000000000002p0
|
||||
tgamma -0x31.ffffffffffffffffffffffffffep0
|
||||
tgamma -0x32.000000000000000000000000002p0
|
||||
tgamma -0x63.ffffffffffffffffffffffffffcp0
|
||||
tgamma -0x64.000000000000000000000000004p0
|
||||
tgamma -0x95.ffffffffffffffffffffffffff8p0
|
||||
tgamma -0x96.000000000000000000000000008p0
|
||||
tgamma -0xb4.ffffffffffffffffffffffffff8p0
|
||||
tgamma -0xb5.000000000000000000000000008p0
|
||||
tgamma -0xb5.ffffffffffffffffffffffffff8p0
|
||||
tgamma -0xb6.000000000000000000000000008p0
|
||||
tgamma -0xb6.ffffffffffffffffffffffffff8p0
|
||||
tgamma -0xb7.000000000000000000000000008p0
|
||||
tgamma -0xb7.ffffffffffffffffffffffffff8p0
|
||||
tgamma -0xb8.000000000000000000000000008p0
|
||||
tgamma -0xbb.ffffffffffffffffffffffffff8p0
|
||||
tgamma -0xbc.000000000000000000000000008p0
|
||||
tgamma -0xbc.ffffffffffffffffffffffffff8p0
|
||||
tgamma -0xbd.000000000000000000000000008p0
|
||||
tgamma -0xbd.ffffffffffffffffffffffffff8p0
|
||||
tgamma -0xbe.000000000000000000000000008p0
|
||||
tgamma -0xbe.ffffffffffffffffffffffffff8p0
|
||||
tgamma -0xbf.000000000000000000000000008p0
|
||||
tgamma -0xf9.ffffffffffffffffffffffffff8p0
|
||||
tgamma -0xfa.000000000000000000000000008p0
|
||||
tgamma -0x1f3.ffffffffffffffffffffffffffp0
|
||||
tgamma -0x1f4.00000000000000000000000001p0
|
||||
tgamma -0x2ed.fffffffffffffffffffffffffep0
|
||||
tgamma -0x2ee.00000000000000000000000002p0
|
||||
tgamma -0x3e7.fffffffffffffffffffffffffep0
|
||||
tgamma -0x3e8.00000000000000000000000002p0
|
||||
tgamma -0x4e1.fffffffffffffffffffffffffcp0
|
||||
tgamma -0x4e2.00000000000000000000000004p0
|
||||
tgamma -0x5db.fffffffffffffffffffffffffcp0
|
||||
tgamma -0x5dc.00000000000000000000000004p0
|
||||
tgamma -0x6d5.fffffffffffffffffffffffffcp0
|
||||
tgamma -0x6d6.00000000000000000000000004p0
|
||||
tgamma -0x6e2.fffffffffffffffffffffffffcp0
|
||||
tgamma -0x6e3.00000000000000000000000004p0
|
||||
tgamma -0x6e3.fffffffffffffffffffffffffcp0
|
||||
tgamma -0x6e4.00000000000000000000000004p0
|
||||
tgamma -0x6e4.fffffffffffffffffffffffffcp0
|
||||
tgamma -0x6e5.00000000000000000000000004p0
|
||||
tgamma -0x6e5.fffffffffffffffffffffffffcp0
|
||||
tgamma -0x6e6.00000000000000000000000004p0
|
||||
tgamma -0x6eb.fffffffffffffffffffffffffcp0
|
||||
tgamma -0x6ec.00000000000000000000000004p0
|
||||
tgamma -0x6ec.fffffffffffffffffffffffffcp0
|
||||
tgamma -0x6ed.00000000000000000000000004p0
|
||||
tgamma -0x6ed.fffffffffffffffffffffffffcp0
|
||||
tgamma -0x6ee.00000000000000000000000004p0
|
||||
tgamma -0x6ee.fffffffffffffffffffffffffcp0
|
||||
tgamma -0x6ef.00000000000000000000000004p0
|
||||
tgamma -0x1.0a32a2p+5
|
||||
# Bug 6810: errno may not be set on underflow.
|
||||
tgamma -0x1.5800000080001p+7 missing-errno
|
||||
tgamma -0x1.5800000080001p+7
|
||||
tgamma 18.5
|
||||
tgamma 19.5
|
||||
tgamma 23.5
|
||||
@ -933,6 +927,8 @@ tgamma 0x6.db8c603359a97108p+8
|
||||
tgamma 0x6.db8c603359a9711p+8
|
||||
tgamma 0x6.db8c603359a971081bc4a2e9dfdp+8
|
||||
tgamma 0x6.db8c603359a971081bc4a2e9dfd4p+8
|
||||
tgamma 1e3
|
||||
tgamma -100000.5
|
||||
|
||||
y0 0.125
|
||||
y0 0.75
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -15,6 +15,7 @@
|
||||
* depending on the library mode.
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
|
||||
@ -24,13 +25,15 @@ __tgamma(double x)
|
||||
int local_signgam;
|
||||
double y = __ieee754_gamma_r(x,&local_signgam);
|
||||
|
||||
if(__builtin_expect(!__finite(y), 0)
|
||||
if(__glibc_unlikely (!__finite (y) || y == 0)
|
||||
&& (__finite (x) || __isinf (x) < 0)
|
||||
&& _LIB_VERSION != _IEEE_) {
|
||||
if (x == 0.0)
|
||||
return __kernel_standard(x,x,50); /* tgamma pole */
|
||||
else if(__floor(x)==x&&x<0.0)
|
||||
return __kernel_standard(x,x,41); /* tgamma domain */
|
||||
else if (y == 0)
|
||||
__set_errno (ERANGE); /* tgamma underflow */
|
||||
else
|
||||
return __kernel_standard(x,x,40); /* tgamma overflow */
|
||||
}
|
||||
|
@ -13,6 +13,7 @@
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
|
||||
@ -22,7 +23,7 @@ __tgammaf(float x)
|
||||
int local_signgam;
|
||||
float y = __ieee754_gammaf_r(x,&local_signgam);
|
||||
|
||||
if(__builtin_expect(!__finitef(y), 0)
|
||||
if(__glibc_unlikely (!__finitef (y) || y == 0)
|
||||
&& (__finitef (x) || __isinff (x) < 0)
|
||||
&& _LIB_VERSION != _IEEE_) {
|
||||
if (x == (float)0.0)
|
||||
@ -31,6 +32,9 @@ __tgammaf(float x)
|
||||
else if(__floorf(x)==x&&x<0.0f)
|
||||
/* tgammaf domain */
|
||||
return __kernel_standard_f(x, x, 141);
|
||||
else if (y == 0)
|
||||
/* tgammaf underflow */
|
||||
__set_errno (ERANGE);
|
||||
else
|
||||
/* tgammaf overflow */
|
||||
return __kernel_standard_f(x, x, 140);
|
||||
|
@ -18,6 +18,7 @@
|
||||
* Return the Gamma function of x.
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
|
||||
@ -27,13 +28,15 @@ __tgammal(long double x)
|
||||
int local_signgam;
|
||||
long double y = __ieee754_gammal_r(x,&local_signgam);
|
||||
|
||||
if(__builtin_expect(!__finitel(y), 0)
|
||||
if(__glibc_unlikely (!__finitel (y) || y == 0)
|
||||
&& (__finitel (x) || __isinfl (x) < 0)
|
||||
&& _LIB_VERSION != _IEEE_) {
|
||||
if(x==0.0)
|
||||
return __kernel_standard_l(x,x,250); /* tgamma pole */
|
||||
else if(__floorl(x)==x&&x<0.0L)
|
||||
return __kernel_standard_l(x,x,241); /* tgamma domain */
|
||||
else if (y == 0)
|
||||
__set_errno (ERANGE); /* tgamma underflow */
|
||||
else
|
||||
return __kernel_standard_l(x,x,240); /* tgamma overflow */
|
||||
}
|
||||
|
@ -8986,6 +8986,9 @@ ldouble: 1
|
||||
Test "tgamma (0x3.8p+0)":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "tgamma (0x3.e8p+8)":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "tgamma (0x3.fffffcp+0)":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
|
@ -10038,6 +10038,9 @@ ldouble: 1
|
||||
Test "tgamma (0x3.8p+0)":
|
||||
float: 2
|
||||
ifloat: 2
|
||||
Test "tgamma (0x3.e8p+8)":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "tgamma (0x3.fffffcp+0)":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
|
Loading…
Reference in New Issue
Block a user