]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix some corner cases:
authordas <das@FreeBSD.org>
Thu, 3 Apr 2008 06:14:51 +0000 (06:14 +0000)
committerdas <das@FreeBSD.org>
Thu, 3 Apr 2008 06:14:51 +0000 (06:14 +0000)
commit6a8cdf6fedaae32990f8fa3c347c703c2a99fa16
treeb0f4a995a3664c41decd740d78d02c7934acaa94
parent24b0dea1b185e83c2e9bf4347228ed8c0fc7928e
Fix some corner cases:
- fma(x, y, z) returns z, not NaN, if z is infinite, x and y are finite,
  x*y overflows, and x*y and z have opposite signs.
- fma(x, y, z) doesn't generate an overflow, underflow, or inexact exception
  if z is NaN or infinite, as per IEEE 754R.
- If the rounding mode is set to FE_DOWNWARD, fma(1.0, 0.0, -0.0) is -0.0,
  not +0.0.
lib/msun/src/s_fma.c
lib/msun/src/s_fmal.c