Spec-Zone.ru › C

FLT_EVAL_METHOD

Определено в заголовочном файле <float.h>
#define FLT_EVAL_METHOD /* implementation-defined */
(начиная с C99)

Задает диапазон и точность значений с плавающей точкой, полученных из констант с плавающей точкой и всех операций (операторов, неявных преобразований операндов), за исключением присваивания, приведения типа и вызова библиотечной функции.

Значение Пояснение
отрицательные значения, кроме -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 расширенной точности в ячейку памяти стандартного размера.

См. также

float_t
(C99)
наиболее эффективный тип с плавающей точкой, ширина которого не меньше ширины типа float
(определение типа)
double_t
(C99)
наиболее эффективный тип с плавающей точкой, ширина которого не меньше ширины типа double
(определение типа)
Документация по C++ для FLT_EVAL_METHOD

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/types/limits/FLT_EVAL_METHOD

Spec-Zone.ru

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