feupdateenv
Uloží aktuálně vyvolané výjimky s plovoucí desetinnou čárkou, obnoví zadaný stav prostředí s plovoucí desetinnou čárkou a potom vyvolá uložené výjimky s plovoucí desetinnou čárkou.
Syntaxe
int feupdateenv(
const fenv_t* penv
);
Parametry
penv
Ukazatel na fenv_t
objekt, který obsahuje prostředí s plovoucí desetinou čárkou nastavené voláním fegetenv
nebo feholdexcept
. Pomocí makra můžete také určit výchozí spouštěcí prostředí s plovoucí desetinou čárkou FE_DFL_ENV
.
Vrácená hodnota
Vrátí hodnotu 0, pokud se všechny akce úspěšně dokončily. V opačném případě vrátí nenulovou hodnotu.
Poznámky
Funkce feupdateenv
provádí více akcí. Nejprve uloží aktuální vyvolané příznaky výjimky s plovoucí desetinnou čárkou v automatickém úložišti. Pak nastaví aktuální prostředí s plovoucí desetinou čárkou z hodnoty uložené v objektu fenv_t
odkazující na penv
. Pokud penv
není FE_DFL_ENV
nebo neodkazuje na platný fenv_t
objekt, následné chování není definováno. feupdateenv
Nakonec vyvolá místně uložené výjimky s plovoucí desetinou čárkou.
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++ |
---|---|---|
feupdateenv |
<fenv.h> | <cfenv> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.