Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Nastaví zadané příznaky stavu s plovoucí desetinou čárkou v aktuálním prostředí s plovoucí desetinou čárkou.
Syntaxe
int fesetexceptflag(
const fexcept_t *pstatus,
int excepts
);
Parametry
pstatus
Ukazatel na fexcept_t objekt obsahující hodnoty pro nastavení příznaků stavu výjimky na. Objekt může být nastaven předchozím voláním fegetexceptflag.
excepts
Příznak stavu výjimky s plovoucí deseti desetinou čárkou, který se má nastavit.
Vrácená hodnota
Pokud jsou všechny zadané příznaky stavu výjimky úspěšně nastaveny, vrátí hodnotu 0. V opačném případě vrátí nenulovou hodnotu.
Poznámky
Funkce fesetexceptflag nastaví stav výjimky s plovoucí desetinou čárkou příznaky určené excepts odpovídajícími hodnotami nastavenými v objektu fexcept_t , na který pstatusodkazuje . Nevyvolá výjimky. Ukazatel pstatus musí odkazovat na platný fexcept_t objekt nebo následné chování není definováno. Funkce fesetexceptflag podporuje tyto hodnoty maker výjimek v exceptsdefinici 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++ |
|---|---|---|
fesetexceptflag |
<fenv.h> | <cfenv> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.