FLT_EVAL_METHOD
Von cppreference.com
| Definiert in Header <float.h> |
||
| #define FLT_EVAL_METHOD /* implementation-defined */ |
(seit C99) | |
Gibt den Bereich und die Genauigkeit von Gleitkommawerten an, die aus Gleitkommakonstanten und aus allen Operationen (Operatoren, implizite Konvertierungen von Operanden) mit Ausnahme von Zuweisungen, Casts und Funktionsaufrufen entstehen.
| Wert | Erklärung |
| negative Werte außer -1 | implementierungsdefiniertes Verhalten |
| -1 | die Standardgenauigkeit ist unbekannt |
| 0 | Alle Operationen und Konstanten werden im Bereich und mit 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 Bereich und mit 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 Bereich und mit der Genauigkeit von long double ausgewertet. Zusätzlich sind sowohl float_t als auch double_t äquivalent zu long double |
[bearbeiten] Hinweise
Unabhängig vom Wert von FLT_EVAL_METHOD kann jeder Gleitkommaausdruck kontrahiert werden, d.h. so berechnet werden, als hätten alle Zwischenergebnisse unendlichen Bereich und Genauigkeit (es sei denn, #pragma STDC FP_CONTRACT ist ausgeschaltet).
Casts und Zuweisungen entfernen jeglichen zusätzlichen Bereich und Genauigkeit: dies modelliert die Aktion des Speicherns eines Wertes aus einem FPU-Register mit erweiterter Präzision in eine Speicherstelle mit Standardgröße.
[bearbeiten] Siehe auch
| (C99) |
effizientester Gleitkommatyp, der mindestens so breit ist wie float (typedef) |
| (C99) |
effizientester Gleitkommatyp, der mindestens so breit ist wie double (typedef) |
| C++-Dokumentation für FLT_EVAL_METHOD
| |