Condividi tramite


feupdateenv

Salva le eccezioni a virgola mobile attualmente generate, ripristina lo stato dell'ambiente a virgola mobile specificato e genera quindi le eccezioni a virgola mobile salvate.

Sintassi

int feupdateenv(
   const fenv_t* penv
);

Parametri

penv
Puntatore a un fenv_t oggetto che contiene un ambiente a virgola mobile impostato da una chiamata a fegetenv o feholdexcept. È anche possibile specificare l'ambiente a virgola mobile di avvio predefinito usando la FE_DFL_ENV macro .

Valore restituito

Restituisce 0 se tutte le operazioni sono state completate correttamente. In caso contrario, viene restituito un valore diverso da zero.

Osservazioni:

La funzione feupdateenv esegue più azioni. Archivia prima i flag di stato delle eccezioni a virgola mobile attualmente generati in un'archiviazione automatica. Quindi imposta l'ambiente a virgola mobile corrente dal valore archiviato nell'oggetto fenv_t a cui punta penv. Se penv non FE_DFL_ENV è o non punta a un oggetto valido fenv_t , il comportamento successivo non è definito. Infine, feupdateenv genera le eccezioni a virgola mobile archiviate localmente.

Per usare questa funzione, è necessario disattivare le ottimizzazioni a virgola mobile che potrebbero impedire l'accesso tramite la direttiva #pragma fenv_access(on) prima della chiamata. Per ulteriori informazioni, vedere fenv_access.

Requisiti

Funzione Intestazione C Intestazione C++
feupdateenv <fenv.h> <cfenv>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Vedi anche

fegetenv
feclearexcept
feholdexcept
fesetexceptflag