Changeset View
Changeset View
Standalone View
Standalone View
lib/msun/tests/fenv_test.c
Show First 20 Lines • Show All 242 Lines • ▼ Show 20 Lines | |||||
* Prerequisites: fetestexcept(), feclearexcept() | * Prerequisites: fetestexcept(), feclearexcept() | ||||
*/ | */ | ||||
ATF_TC_WITHOUT_HEAD(fegsetexceptflag); | ATF_TC_WITHOUT_HEAD(fegsetexceptflag); | ||||
ATF_TC_BODY(fegsetexceptflag, tc) | ATF_TC_BODY(fegsetexceptflag, tc) | ||||
{ | { | ||||
fexcept_t flag; | fexcept_t flag; | ||||
int excepts, i; | int excepts, i; | ||||
ATF_CHECK_EQ(0, fetestexcept(FE_ALL_EXCEPT)); | CHECK_FP_EXCEPTIONS(0, FE_ALL_EXCEPT); | ||||
for (i = 0; i < 1 << NEXCEPTS; i++) { | for (i = 0; i < 1 << NEXCEPTS; i++) { | ||||
excepts = std_except_sets[i]; | excepts = std_except_sets[i]; | ||||
ATF_CHECK_EQ(0, fegetexceptflag(&flag, excepts)); | ATF_CHECK_EQ(0, fegetexceptflag(&flag, excepts)); | ||||
raiseexcept(ALL_STD_EXCEPT); | raiseexcept(ALL_STD_EXCEPT); | ||||
ATF_CHECK_EQ(0, fesetexceptflag(&flag, excepts)); | ATF_CHECK_EQ(0, fesetexceptflag(&flag, excepts)); | ||||
ATF_CHECK_EQ((ALL_STD_EXCEPT ^ excepts), fetestexcept(ALL_STD_EXCEPT)); | ATF_CHECK_EQ((ALL_STD_EXCEPT ^ excepts), fetestexcept(ALL_STD_EXCEPT)); | ||||
▲ Show 20 Lines • Show All 284 Lines • Show Last 20 Lines |