fesetexceptflag

Imposta i flag di stato a virgola mobile specificati nell'ambiente corrente a virgola mobile.

Sintassi

int fesetexceptflag(
     const fexcept_t *pstatus,
     int excepts
);

Parametri

pstatus
Puntatore a un fexcept_t oggetto contenente i valori su cui impostare i flag di stato dell'eccezione. L'oggetto può essere impostato da una chiamata precedente a fegetexceptflag.

excepts
Flag di stato delle eccezioni a virgola mobile da impostare.

Valore restituito

Se tutti i flag di stato delle eccezioni specificati sono impostati correttamente, restituisce 0. In caso contrario, viene restituito un valore diverso da zero.

Osservazioni:

La funzione fesetexceptflag imposta lo stato dei flag di stato delle eccezioni a virgola mobile specificato da excepts sui valori corrispondenti impostati nell'oggetto fexcept_t a cui punta pstatus. Non genera le eccezioni. Il puntatore pstatus deve puntare a un oggetto fexcept_t valido oppure il comportamento successivo non è definito. La fesetexceptflag funzione supporta questi valori di macro di eccezione in excepts, definiti in <fenv.h>:

Macro di eccezioni Descrizione
FE_DIVBYZERO Si è verificato un errore di singolarità o polo in un'operazione precedente a virgola mobile. È stato creato un valore di infinità.
FE_INEXACT La funzione è stata forzata ad arrotondare il risultato archiviato di un'operazione precedente a virgola mobile.
FE_INVALID Si è verificato un errore di dominio in un'operazione precedente a virgola mobile.
FE_OVERFLOW Si è verificato un errore di intervallo. Un risultato dell'operazione precedente a virgola mobile era troppo grande per essere rappresentato.
FE_UNDERFLOW Un risultato dell'operazione precedente a virgola mobile era troppo piccolo per essere rappresentato con la massima precisione. È stato creato un valore denormalizzato.
FE_ALL_EXCEPT OR bit per bit di tutte le eccezioni a virgola mobile supportate.

L'argomento excepts può essere zero, una delle macro di eccezioni a virgola mobile supportate oppure OR bit per bit di due o più macro. L'effetto di qualsiasi altro valore dell'argomento non è definito.

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++
fesetexceptflag <fenv.h> <cfenv>

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

Vedi anche

Informazioni di riferimento sulle funzioni alfabetiche
fegetexceptflag