Fix lgamma*, log10* and log2* results [BZ #21171]
commit51b34a9c47e4228873788ad66699c328e27a3295
authorTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Fri, 17 Feb 2017 11:07:57 +0000 (17 09:07 -0200)
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Fri, 17 Feb 2017 11:07:57 +0000 (17 09:07 -0200)
treedae7359c968c1a37cf775e42b93e9d93500b456d
parentf0166c1643038e0ca42d300ddae36c00f400f4cf
Fix lgamma*, log10* and log2* results [BZ #21171]

lgamma(-x) should return +Inf and raise divide-by-zero.
log10(+-0) and log2(+-0) should return -Inf and raise divide-by-zero.

Tested on powerpc, powerpc64, powerpc64le and x86_64.

[BZ #21171]
* sysdeps/ieee754/dbl-64/e_lgamma_r.c (__ieee754_lgamma_r): Return
+Inf and raise divide-by-zero when x is negative.
* sysdeps/ieee754/flt-32/e_lgammaf_r.c (__ieee754_lgammaf_r): Likewise.
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r): Likewise.

* sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10):  Return
-Inf and raise divide-by-zero when x = +-0.
* sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise.
* sysdeps/ieee754/flt-32/e_log10f.c (__ieee754_log10f): Likewise.
* sysdeps/ieee754/flt-32/e_log2f.c (__ieee754_log2f): Likewise.
* sysdeps/ieee754/ldbl-128/e_log10l.c (__ieee754_log10l): Likewise.
* sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Likewise.
* sysdeps/ieee754/ldbl-128ibm/e_log10l.c (__ieee754_log10l): Likewise.
* sysdeps/ieee754/ldbl-128ibm/e_log2l.c (__ieee754_log2l): Likewise.
12 files changed:
ChangeLog
sysdeps/ieee754/dbl-64/e_lgamma_r.c
sysdeps/ieee754/dbl-64/e_log10.c
sysdeps/ieee754/dbl-64/e_log2.c
sysdeps/ieee754/flt-32/e_lgammaf_r.c
sysdeps/ieee754/flt-32/e_log10f.c
sysdeps/ieee754/flt-32/e_log2f.c
sysdeps/ieee754/ldbl-128/e_lgammal_r.c
sysdeps/ieee754/ldbl-128/e_log10l.c
sysdeps/ieee754/ldbl-128/e_log2l.c
sysdeps/ieee754/ldbl-128ibm/e_log10l.c
sysdeps/ieee754/ldbl-128ibm/e_log2l.c