最終更新日時:
が更新

履歴 編集

macro
<cfloat>

FLT_EVAL_METHOD(C++11)

# define FLT_EVAL_METHOD implementation-defined

概要

FLT_EVAL_METHOD は、浮動小数点数がどのように評価されるかを表す。

FLT_EVAL_METHOD

  • 0 のとき、各浮動小数点数型でそのまま評価する。
  • 1 のとき、floatdouble, doubledouble, long doublelong double とみて評価する。
  • 2 のとき、すべての浮動小数点数型を long double とみて評価する。
  • -1 のときは決定できない。

その他の負の数のとき、実装依存の動作をする。

FLT_EVAL_METHOD の値により float_t, double_t の型は次の表のようになる。

FLT_EVAL_METHOD float_t double_t
0 float double
1 double double
2 long double long double
その他 実装依存 実装依存

バージョン

言語

  • C++11

処理系

  • Clang, C++11 mode: ?
  • GCC, C++11 mode: ?
  • ICC: ?
  • Visual C++: 12.0, 14.0
    • /fp:fastコンパイラオプションが指定されている場合、-1と定義されている。
    • ターゲットのCPUアーキテクチャがx86以外である場合、0と定義されている。
    • ターゲットのCPUアーキテクチャがx86で、SSE2を使用する場合(/arch:SSE2以上のコンパイラオプション)、0と定義されている。
    • ターゲットのCPUアーキテクチャがx86で、SSE2を使用しない場合(/arch:IA32/arch:SSEコンパイラオプション)、2と定義されている。