-1
man gcc(1):オプション-ffast-mathはプリプロセッサマクロを発生させます__ FAST_MATH__定義します。そのマクロの詳細な文書はありますか?gccプリプロセッサマクロの使用方法__FAST_MATH__?
私は
#define __FAST_MATH__ blabla
y = pow(x,a);
#undef __FAST_MATH__
のようにそのコードを期待細かい単一のステートメントにダウングレイン、数学の最適化を制御することができます。それらが配置される場所
はしかし、私のテストはかなりかかわらず、#define __FAST_MATH__
#define __FAST_MATH__ on
はすべて無視されることを示しています。
は、[編集]彼らは「無視」
#include <math.h>
を意味する前を置かれていても無視されます。測定可能な効果を持っていません。 -Fast-mathはテストコードを3倍に加速しますが、
'-ffast-math'を使用すると、' __FAST_MATH__'が定義されます。それはおそらくそれのすべてであり、それ以上の効果はありません。 – melpomene
ヘッダーmath.hにはどこかの#ifdef __FAST_MATHが含まれていると思いますか?また、私はまだコンパイラ内部の何かが-ffast-mathとは異なった動作をすると思います。 –
答えはhttp://stackoverflow.com/questions/7420665/what-does-gccs-ffast-math-actually-doには、実際にフラグが何をするかに関する多くの情報があります。 –