don't try to create non-standard denormalization signal

Underflow exception is only raised when the result is
invalid, but fmod is always exact. x87 has a denormalization
exception, but that's nonstandard. And the superflous *1.0
will be optimized away by any compiler that does not honor
signaling nans.
This commit is contained in:
nsz
2012-03-19 23:30:45 +01:00
parent 75483499da
commit 4caa17b2a1
3 changed files with 4 additions and 7 deletions

View File

@ -20,7 +20,7 @@
#include "libm.h"
static const float one = 1.0, Zero[] = {0.0, -0.0,};
static const float Zero[] = {0.0, -0.0,};
float fmodf(float x, float y)
{
@ -99,7 +99,6 @@ float fmodf(float x, float y)
n = -126 - iy;
hx >>= n;
SET_FLOAT_WORD(x, hx|sx);
x *= one; /* create necessary signal */
}
return x; /* exact output */
}