FLT_EVAL_METHOD
Von cppreference.com
| Definiert in Header <cfloat> |
||
| #define FLT_EVAL_METHOD /* implementierungsdefiniert */ |
(seit C++11) | |
Gibt die Genauigkeit an, in der alle Fließkomma-Arithmetikoperationen außer Zuweisung und Cast durchgeführt werden.
| Wert | Erklärung |
| negative Werte außer -1 | implementierungsdefiniertes Verhalten |
| -1 | die Standardpräzision ist unbekannt |
| 0 | alle Operationen und Konstanten werden im Bereich und mit der Präzision 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 Präzision 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 Präzision von long double ausgewertet. Zusätzlich sind sowohl float_t als auch double_t äquivalent zu long double |
[edit] Hinweise
Unabhängig vom Wert von FLT_EVAL_METHOD kann jeder Fließkomma-Ausdruck *kontrahiert* werden, d. h. so berechnet werden, als ob alle Zwischenergebnisse unendlichen Bereich und unendliche Präzision hätten (es sei denn, #pragma STDC FP_CONTRACT ist ausgeschaltet).
Casts und Zuweisungen entfernen jeglichen zusätzlichen Bereich und jegliche zusätzliche Präzision: Dies modelliert die Aktion des Speicherns eines Wertes aus einem FPU-Register mit erweiterter Präzision in einen Speicherort mit Standardgröße.
[edit] Siehe auch
| C-Dokumentation für FLT_EVAL_METHOD
|