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