2006-09-16 C99における浮動小数点演算の計算精度(その2) programming Tweet C99では,FLT_EVAL_METHODの値で float型 や double型の計算精度を制御できるようになっている.では FLT_EVAL_METHOD の初期値はどうなっているのか? Linux環境で調べてみた. 結論: デフォルトでは FLT_EVAL_METHOD は 2.つまり float でも double でも 64bit で計算している. /usr/include/bits/mathdef.h あたりを見ると デフォルトでは FLT_EVAL_METHOD は 2 gcc に -mfpmath=sse をつけると FLT_EVAL_METHOD は 0 ということらしい.また,c99 とは関係ないが,intel compiler (icc) では,コンパイラオプション -pc32 -pc53 -pc80 で,浮動小数点演算の計算精度を指定できるようになっている.