feholdexcept
Uloží aktuální prostředí s plovoucí desetinou čárkou v zadaném objektu, vymaže příznaky stavu s plovoucí desetinou čárkou a pokud je to možné, umístí prostředí s plovoucí desetinou čárkou do režimu bez zastavení.
Syntaxe
int feholdexcept(
fenv_t *penv
);
Parametry
penv
Ukazatel na fenv_t
objekt, který bude obsahovat kopii prostředí s plovoucí desetinou čárkou.
Vrácená hodnota
Vrátí nulu, pokud je funkce schopná úspěšně zapnout zpracování výjimek s plovoucí desetinou čárkou bez zastavení.
Poznámky
Funkce feholdexcept
se používá k uložení stavu aktuálního prostředí s plovoucí desetinou čárkou v objektu fenv_t
, na který penv
odkazuje , a k nastavení prostředí tak, aby nepřerušilo provádění výjimek s plovoucí desetinou čárkou. Tento režim se označuje jako režim bez zastavení. Tento režim pokračuje, dokud se prostředí neobnoví pomocí fesetenv
nebo feupdateenv
.
Tuto funkci můžete použít na začátku podprogramu, který musí před volajícím skrýt jednu nebo více výjimek s plovoucí desetinnou čárkou. Chcete-li nahlásit výjimku, můžete vymazat nežádoucí výjimky pomocí feclearexcept
a poté ukončit režim non-stop voláním feupdateenv
.
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++ |
---|---|---|
feholdexcept |
<fenv.h> | <cfenv> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.