Namensräume
Varianten
Aktionen

FLT_EVAL_METHOD

Von cppreference.com
< cpp‎ | types‎ | climits
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
 
 
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