FLT_EVAL_METHOD
|
Definiert im Header
<float.h>
|
||
|
#define FLT_EVAL_METHOD /* implementation-defined */
|
(seit C99) | |
Gibt den Bereich und die Genauigkeit von Gleitkommawerten an, die aus Gleitkommakonstanten und allen Operationen (Operatoren, implizite Konvertierungen von Operanden) außer Zuweisung, Cast und Bibliotheksfunktionsaufruf erhalten werden.
| Wert | Erklärung |
| negative Werte außer - 1 | implementierungsdefiniertes Verhalten |
| - 1 | die Standardgenauigkeit ist nicht bekannt |
| 0 | alle Operationen und Konstanten werden im Wertebereich und der Genauigkeit des verwendeten Typs ausgewertet. Zusätzlich sind float_t und double_t äquivalent zu float bzw. double |
| 1 | alle Operationen und Konstanten werden im Wertebereich und der Genauigkeit von double ausgewertet. Zusätzlich sind sowohl float_t als auch double_t äquivalent zu double |
| 2 | alle Operationen und Konstanten werden im Wertebereich und der Genauigkeit von long double ausgewertet. Zusätzlich sind sowohl float_t als auch double_t äquivalent zu long double |
Hinweise
Unabhängig vom Wert von FLT_EVAL_METHOD , kann jeder Gleitkomma-Ausdruck kontrahiert werden, das heißt, als ob alle Zwischenergebnisse unendlichen Wertebereich und unendliche Genauigkeit hätten (sofern nicht #pragma STDC FP_CONTRACT deaktiviert ist).
Cast und Zuweisung entfernen jeglichen überflüssigen Bereich und jegliche überflüssige Präzision: dies modelliert die Aktion des Speicherns eines Werts aus einem Extended-Precision-FPU-Register an einen speicherstandardgroßen Speicherort.
Siehe auch
|
(C99)
|
effizientester Gleitkommatyp mindestens so breit wie
float
(typedef) |
|
(C99)
|
effizientester Gleitkommatyp mindestens so breit wie
double
(typedef) |
|
C++-Dokumentation
für
FLT_EVAL_METHOD
|
|