FLT_EVAL_METHOD
From cppreference.com
| ヘッダー <float.h> で定義 |
||
| #define FLT_EVAL_METHOD /* 実装定義 */ |
(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 に相当します。 |
[編集] Notes
FLT_EVAL_METHOD の値に関係なく、任意の浮動小数点式は、すべての計算中間結果が無限の範囲と精度を持つかのように計算される(つまり、*畳み込まれる*)場合があります( #pragma STDC FP_CONTRACT がオフの場合を除く)。
キャストおよび代入は、追加の範囲と精度をすべて取り除きます。これは、拡張精度FPUレジスタから標準サイズのメモリ位置に値を格納する動作をモデル化します。
[編集] See also
| (C99) |
floatと少なくとも同じ幅の最も効率的な浮動小数点型 (typedef) |
| (C99) |
doubleと少なくとも同じ幅の最も効率的な浮動小数点型 (typedef) |
| C++ドキュメント FLT_EVAL_METHOD について
| |