The ldbl-128ibm implementation of nextafterl / nexttowardl returns -0
in FE_DOWNWARD mode when taking the next value below the least
positive subnormal, when it should return +0. This patch fixes it to
check explicitly for this case.
Tested for powerpc.
[BZ #19678]
* sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (__nextafterl):
Ensure +0.0 is returned when taking the next value below the least
positive value.
+2016-02-19 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #19678]
+ * sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (__nextafterl):
+ Ensure +0.0 is returned when taking the next value below the least
+ positive value.
+
2016-02-19 Florian Weimer <fweimer@redhat.com>
* sysdeps/generic/malloc-machine.h: Assume mutex_init is always
math_force_eval (u); /* raise underflow flag */
__set_errno (ERANGE);
}
+ /* Avoid returning -0 in FE_DOWNWARD mode. */
+ if (x == 0.0L)
+ return 0.0L;
return x;
}
/* If the high double is an exact power of two and the low