fetestexcept
Určuje, které ze zadaných příznaků stavu výjimky s plovoucí desetinou čárkou jsou aktuálně nastaveny.
Syntaxe
int fetestexcept(
int excepts
);
Parametry
excepts
Bitový nebo stavových příznaků s plovoucí desetinou čárkou k otestování.
Vrácená hodnota
Při úspěchu vrátí bitovou masku obsahující bitové or makra výjimky s plovoucí desetinou čárkou, která odpovídají aktuálně nastaveným příznakům stavu výjimky. Vrátí hodnotu 0, pokud není nastavena žádná z výjimek.
Poznámky
Pomocí funkce fetestexcept zjistěte, které výjimky byly vyvolány operací s plovoucí desetinnou čárkou. Pomocí parametru excepts
určete, které příznaky stavu výjimky se mají testovat. Funkce fetestexcept
používá tato makra výjimek definovaná v <souboru fenv.h> excepts
a návratová hodnota:
Makro výjimky | Popis |
---|---|
FE_DIVBYZERO |
V dřívější operaci s plovoucí desetinou čárkou došlo k chybě v jednotném čísle nebo pólu; Byla vytvořena nekonečná hodnota. |
FE_INEXACT |
Funkce byla nucena zaokrouhlit uložený výsledek dřívější operace s plovoucí desetinou čárkou. |
FE_INVALID |
V dřívější operaci s plovoucí desetinou čárkou došlo k chybě domény. |
FE_OVERFLOW |
Došlo k chybě rozsahu; Výsledek operace s plovoucí desetinou čárkou byl příliš velký, aby se reprezentoval. |
FE_UNDERFLOW |
Výsledek operace s plovoucí desetinnou čárkou byl příliš malý, aby byl reprezentován při úplné přesnosti; Byla vytvořena denormální hodnota. |
FE_ALL_EXCEPT |
Bitové OR všech podporovaných výjimek s plovoucí desetinou čárkou. |
excepts
Zadaný argument může být 0, jedno z podporovaných maker výjimek s plovoucí desetinou čárkou nebo bitové OR dvou nebo více maker. Účinek jakékoli jiné excepts
hodnoty argumentu není definován.
Chcete-li použít tuto funkci, musíte vypnout optimalizace s plovoucí desetinou čárkou, které by mohly zabránit přístupu pomocí #pragma fenv_access(on)
direktivy před voláním. Další informace najdete na webu fenv_access
.
Požadavky
Function | Záhlaví jazyka C | Hlavička jazyka C++ |
---|---|---|
fetestexcept |
<fenv.h> | <cfenv> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.