FE_UNDERFLOW
float_flag_underflow = FE_UNDERFLOW,
float_flag_underflow = FE_UNDERFLOW,
FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW)
FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW | FE_DENORMAL)
FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW)
if (fetestexcept(FE_UNDERFLOW))
if (fetestexcept(FE_UNDERFLOW))
if (fetestexcept(FE_UNDERFLOW))
if (fetestexcept(FE_UNDERFLOW))
FE_ALL_INVALID | FE_OVERFLOW | FE_UNDERFLOW)
FE_OVERFLOW | FE_UNDERFLOW) >> _FPUSW_SHIFT)
FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW)
feraiseexcept(FE_UNDERFLOW);
feraiseexcept(FE_UNDERFLOW);
testall0(-50000.0, 0.0, ALL_STD_EXCEPT, FE_UNDERFLOW | FE_INEXACT);
if (excepts & FE_UNDERFLOW) {
if ((excepts & (FE_UNDERFLOW | FE_OVERFLOW)) != 0) {
if ((excepts & (FE_UNDERFLOW | FE_OVERFLOW)) != 0) {
ATF_CHECK_EQ(0, feraiseexcept(FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT));
if ((excepts & (FE_UNDERFLOW | FE_OVERFLOW)) != 0 &&
ATF_CHECK_EQ((FE_INVALID | FE_OVERFLOW), (feenableexcept(FE_UNDERFLOW) & ALL_STD_EXCEPT));
ATF_CHECK_EQ((FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW), (fedisableexcept(FE_OVERFLOW) & ALL_STD_EXCEPT));
ATF_CHECK_EQ((FE_INVALID | FE_UNDERFLOW), (fegetexcept() & ALL_STD_EXCEPT));
ATF_CHECK_EQ((FE_INVALID | FE_UNDERFLOW), (fedisableexcept(FE_ALL_EXCEPT) & ALL_STD_EXCEPT));
FE_UNDERFLOW,
ALL_STD_EXCEPT, FE_INEXACT | FE_UNDERFLOW);
ALL_STD_EXCEPT, FE_INEXACT | FE_UNDERFLOW);
ALL_STD_EXCEPT, FE_INEXACT | FE_UNDERFLOW);
test2(atan2f, 0x1.0p-100, 0x1.0p100, 0.0, FE_INEXACT | FE_UNDERFLOW);
test2(atan2, 0x1.0p-1000, 0x1.0p1000, 0.0, FE_INEXACT | FE_UNDERFLOW);
ldexpl(1.0, LDBL_MAX_EXP - 100), 0.0, FE_INEXACT | FE_UNDERFLOW);
test2(atan2f, -0x1.0p-100, 0x1.0p100, -0.0, FE_INEXACT | FE_UNDERFLOW);
test2(atan2, -0x1.0p-1000, 0x1.0p1000, -0.0, FE_INEXACT | FE_UNDERFLOW);
ldexpl(1.0, LDBL_MAX_EXP - 100), -0.0, FE_INEXACT | FE_UNDERFLOW);
static const int ex_under = FE_UNDERFLOW | FE_INEXACT; /* shorthand */
FE_OVERFLOW | FE_UNDERFLOW)
FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW)
FE_OVERFLOW | FE_UNDERFLOW)