fesetexceptflag
Legt die angegebenen Gleitkomma-Statusflags in der aktuellen Gleitkommaumgebung fest
Syntax
int fesetexceptflag(
const fexcept_t *pstatus,
int excepts
);
Parameter
pstatus
Zeigen Sie auf ein fexcept_t
Objekt, das die Werte enthält, auf die die Ausnahmestatuskennzeichnungen festgelegt werden sollen. Das Objekt kann durch einen vorherigen Aufruf von fegetexceptflag
.
excepts
Die festzulegenden Gleitkommaausnahme-Statusflags
Rückgabewert
Wenn alle angegebenen Ausnahmestatusflags erfolgreich festgelegt wurden, wird 0 zurückgegeben. Andernfalls gibt es einen Wert ungleich 0 (null) zurück.
Hinweise
Die Funktion fesetexceptflag
legt den Zustand der von excepts
angegebenen Gleitkommaausnahme-Statusflags auf die Werten der entsprechenden fexcept_t
-Objekte fest, auf die pstatus
verweist. Es löst die Ausnahmen nicht aus. Der pstatus
-Zeiger muss auf ein gültiges fexcept_t
-Objekt zeigen. Andernfalls ist das daraus resultierende Verhalten nicht definiert. Die fesetexceptflag
Funktion unterstützt diese Ausnahmemakrowerte in excepts
, definiert in <fenv.h>:
Ausnahmemakro | Beschreibung |
---|---|
FE_DIVBYZERO |
Eine Singularität oder ein Polstellenfehler aus einer früheren Gleitkommaoperation; ein Unendlichkeitswert wurde erstellt. |
FE_INEXACT |
Die Funktion wurde gezwungen, das gespeicherte Ergebnis einer früheren Gleitkommaoperation zu runden. |
FE_INVALID |
Ein Domänenfehler ist in einer früheren Gleitkommaoperation aufgetreten. |
FE_OVERFLOW |
Ein Bereichsfehler ist aufgetreten; das Ergebnis einer früheren Gleitkommaoperation war zu groß, um dargestellt zu werden. |
FE_UNDERFLOW |
Das Ergebnis einer früheren Gleitkommaoperation war zu klein, um ganz genau dargestellt zu werden; ein nicht normaler Wert wurde erstellt. |
FE_ALL_EXCEPT |
Bitweiser OR-Operator oder alle unterstützten Gleitkommaausnahmen |
Das Argument excepts
kann entweder null, eines der unterstützten Gleitkommaausnahme-Makros oder das bitweise OR von mindestens zwei der Makros sein. Der Effekt von jedem anderen Argumentwert ist nicht definiert.
Um diese Funktion zu verwenden, müssen Sie vor dem Aufruf Gleitkommaoptimierungen deaktivieren, die den Zugriff mithilfe der #pragma fenv_access(on)
-Direktive verhindern könnten. Weitere Informationen finden Sie unter fenv_access
.
Anforderungen
Funktion | C-Header | C++-Header |
---|---|---|
fesetexceptflag |
<fenv.h> | <cfenv> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.