]> sourceware.org Git - glibc.git/commit
Fix ldbl-96 fma (Inf, Inf, finite) (bug 23272).
authorJoseph Myers <joseph@codesourcery.com>
Mon, 11 Jun 2018 16:33:42 +0000 (16:33 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 11 Jun 2018 16:33:42 +0000 (16:33 +0000)
commitca121b117f2c9c97a4c121334481a96c94fef3a0
tree1ec68d6d28ff9b154efa4a3cc8b84eceb73d1d06
parent2b69fecb9d0681a124662dfba89291ad473aa55f
Fix ldbl-96 fma (Inf, Inf, finite) (bug 23272).

As reported in bug 23272, the ldbl-96 implementation of fma (fma for
double, in terms of ldbl-96 as the internal arithmetic type, as used
on 32-bit x86) is missing some of the special-case handling for
non-finite arguments, resulting in incorrect NaN results when the
first two arguments are infinities, the third is finite and so the
infinities go through the logic for finite arguments.  This patch
fixes it by handling all cases of non-finite arguments up front, with
additional fma tests for the problem cases being added to the
testsuite.

Tested for x86_64 and x86.

[BZ #23272]
* sysdeps/ieee754/ldbl-96/s_fma.c (__fma): Start by handling all
cases of non-finite arguments.
* math/libm-test-fma.inc (fma_test_data): Add more tests.
ChangeLog
math/libm-test-fma.inc
sysdeps/ieee754/ldbl-96/s_fma.c
This page took 0.039614 seconds and 5 git commands to generate.