Spec-Zone.ru › C++

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 все операции и константы вычисляются в диапазоне и с точностью типа longdouble. Кроме того, и float_t, и double_t эквивалентны типу longdouble

Примечания

Независимо от значения 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/cpp/types/climits/FLT_EVAL_METHOD

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API