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

Примечания

Независимо от значения FLT_EVAL_METHOD, любое выражение с плавающей точкой может быть сжато, то есть вычислено так, как будто все промежуточные результаты имеют бесконечный диапазон и точность (если #pragma STDC FP_CONTRACT выключен)

Приведение типов и присваивание удаляют любые излишние диапазон и точность: это моделирует действие сохранения значения из регистра FPU с расширенной точностью в ячейку памяти стандартного размера.

См. также

float_tdouble_t
(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

Spec-Zone.ru

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