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 | все операции и константы вычисляются в диапазоне и точности long double. Кроме того, float_t и double_t эквивалентны long double |
Примечания
Независимо от значения FLT_EVAL_METHOD, любое выражение с плавающей точкой может быть сжато, то есть вычислено так, как будто все промежуточные результаты имеют бесконечный диапазон и точность (если #pragma STDC FP_CONTRACT выключен)
Приведение типов и присваивание удаляют любые излишние диапазон и точность: это моделирует действие сохранения значения из регистра FPU с расширенной точностью в ячейку памяти стандартного размера.
См. также
|
(C99)(C99) | наиболее эффективный тип чисел с плавающей точкой, по крайней мере, такой же ширины, что и float или double (typedef) |
Документация C++ для FLT_EVAL_METHOD |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/types/limits/FLT_EVAL_METHOD