Floating-point environment
Die Gleitkommaumgebung ist der Satz von Gleitkomma-Statusflags und Steuerungsmodi, die von der Implementierung unterstützt werden. Sie ist thread-lokal, jeder Thread erbt den initialen Zustand seiner Gleitkommaumgebung vom Eltern-Thread. Gleitkommaoperationen modifizieren die Gleitkomma-Statusflags, um abnormale Ergebnisse oder Zusatzinformationen anzuzeigen. Der Zustand der Gleitkomma-Steuerungsmodi beeinflusst die Ergebnisse einiger Gleitkommaoperationen.
Der Zugriff auf und die Änderung der Gleitkommaumgebung ist nur sinnvoll, wenn
#pragma STDC FENV_ACCESS
auf
ON
gesetzt ist. Andernfalls ist es der Implementierung freigestellt anzunehmen, dass die Gleitkomma-Steuerungsmodi stets die Standardeinstellungen sind und dass Gleitkomma-Statusflags niemals geprüft oder geändert werden. In der Praxis unterstützen wenige aktuelle Compiler wie HP aCC, Oracle Studio und IBM XL das
#pragma
explizit, aber die meisten Compiler ermöglichen dennoch einen sinnvollen Zugriff auf die Gleitkommaumgebung.
Inhaltsverzeichnis |
Typen
|
Definiert im Header
<fenv.h>
|
|
| fenv_t | Der Typ, der die gesamte Gleitkommaumgebung repräsentiert |
| fexcept_t | Der Typ, der alle Gleitkomma-Statusflags gemeinsam repräsentiert |
Funktionen
|
(C99)
|
löscht die angegebenen Gleitkomma-Statusflags
(Funktion) |
|
(C99)
|
bestimmt welche der angegebenen Gleitkomma-Statusflags gesetzt sind
(Funktion) |
|
(C99)
|
löst die angegebenen Gleitkomma-Ausnahmen aus
(Funktion) |
|
(C99)
(C99)
|
kopiert den Zustand der angegebenen Gleitkomma-Statusflags von oder zur Gleitkomma-Umgebung
(Funktion) |
|
(C99)
(C99)
|
ermittelt oder setzt die Rundungsrichtung
(Funktion) |
|
(C99)
|
speichert oder stellt die aktuelle Gleitkomma-Umgebung wieder her
(Funktion) |
|
(C99)
|
speichert die Umgebung, löscht alle Statusflags und ignoriert alle zukünftigen Fehler
(Funktion) |
|
(C99)
|
stellt die Gleitkomma-Umgebung wieder her und löst die zuvor ausgelösten Ausnahmen aus
(Funktion) |
Makros
|
Gleitkomma-Ausnahmen
(Makrokonstante) |
|
|
Gleitkomma-Rundungsrichtung
(Makrokonstante) |
|
|
(C99)
|
Standard-Gleitkommaumgebung
(Makrokonstante) |
Referenzen
- C23-Standard (ISO/IEC 9899:2024):
-
- 7.6 Gleitkommaumgebung <fenv.h> (S.: TBD)
-
- 7.31.4 Gleitkommaumgebung <fenv.h> (S.: TBD)
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.6 Gleitkommaumgebung <fenv.h> (S. 150-156)
-
- 7.31.4 Gleitkommaumgebung <fenv.h> (S. 332)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.6 Gleitkomma-Umgebung <fenv.h> (S. 206-215)
-
- 7.31.4 Gleitkomma-Umgebung <fenv.h> (S. 455)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.6 Gleitkomma-Umgebung <fenv.h> (S. 187-196)
Siehe auch
|
C++ Dokumentation
für
Floating-point environment
|