Namensräume
Varianten
Aktionen

FLT_EVAL_METHOD

Von cppreference.com
< c‎ | types‎ | limits
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

effizientester Gleitkommatyp, der mindestens so breit ist wie float
(typedef) [bearbeiten]
effizientester Gleitkommatyp, der mindestens so breit ist wie double
(typedef) [bearbeiten]
C++-Dokumentation für FLT_EVAL_METHOD