mirror of
https://github.com/fluencelabs/musl
synced 2025-06-30 15:11:55 +00:00
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:
@ -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 */
|
||||
}
|
||||
|
Reference in New Issue
Block a user