Namespaces
Variants

FLT_EVAL_METHOD

From cppreference.net
< c ‎ | types ‎ | limits
ヘッダーで定義 <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)
float以上の幅を持つ最も効率的な浮動小数点型 float
(typedef)
double以上の幅を持つ最も効率的な浮動小数点型 double
(typedef)
C++ documentation for FLT_EVAL_METHOD