FLT_EVAL_METHOD
Определено в заголовке <cfloat> | ||
|---|---|---|
#define FLT_EVAL_METHOD /* implementation defined */ | (с C++11) |
Указывает точность, в которой выполняются все операции с плавающей точкой, кроме присваивания и преобразования типов.
| Значение | Объяснение |
|---|---|
отрицательные значения, кроме -1 | поведение определяется реализацией |
-1 | точность по умолчанию неизвестна |
0 | все операции и константы вычисляются в диапазоне и точности используемого типа. Кроме того, float_t и double_t эквивалентны float и double соответственно |
1 | все операции и константы вычисляются в диапазоне и точности double. Кроме того, оба float_t и double_t эквивалентны double |
2 | все операции и константы вычисляются в диапазоне и точности long double. Кроме того, оба float_t и double_t эквивалентны long double |
Примечания
Независимо от значения FLT_EVAL_METHOD, любое выражение с плавающей точкой может быть сжато, то есть вычисляться так, как будто все промежуточные результаты имеют бесконечный диапазон и точность (если #pragma STDC FP_CONTRACT выключено)
Преобразование типов и присваивание удаляют любой избыточный диапазон и точность: это моделирует действие сохранения значения из регистра FPU с расширенной точностью в стандартное местоположение памяти.
См. также
Документация C для FLT_EVAL_METHOD |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/types/climits/FLT_EVAL_METHOD