Namespaces
Variants

FLT_EVAL_METHOD

From cppreference.net
Utilities library
Определено в заголовочном файле <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