fegetexceptflag
Uloží aktuální stav zadaných příznaků výjimky s plovoucí desetinou čárkou.
Syntaxe
int fegetexceptflag(
fexcept_t* pstatus,
int excepts
);
Parametry
pstatus
Ukazatel na fexcept_t
objekt, který bude obsahovat aktuální hodnoty příznaků výjimek určených parametrem excepts
.
excepts
Příznaky výjimky s plovoucí desetinou čárkou, které se mají uložit do pstatus
.
Vrácená hodnota
Při úspěchu vrátí hodnotu 0. V opačném případě vrátí nenulovou hodnotu.
Poznámky
Funkce fegetexceptflag
ukládá aktuální stav příznaků výjimky s plovoucí desetinou čárkou určených v objektufexcept_t
, na který excepts
pstatus
odkazuje . pstatus
musí odkazovat na platný fexcept_t
objekt nebo následné chování není definováno. Funkce fegetexceptflag
podporuje tato makra výjimek definovaná v <fenv.h>:
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. |
Argumentem excepts
může být nula, jedno z podporovaných maker s plovoucí desetinou čárkou nebo bitové OR dvou nebo více maker. Účinek jakékoli jiné 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++ |
---|---|---|
fegetexceptflag |
<fenv.h> | <cfenv> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.