GCCでは、-ffast-math
を有効にして浮動小数点計算を高速化します。我々がNaNとInfの浮動小数点値の適切な動作に依存しているとしてではなく、我々はまた、-fno-finite-math-only
をオンにし、その値を取ることの最適化は、MSVCの場合はNaN/InfのはGCCの-fno-finite-math-onlyに相当するMSVC?
、-ffast-math
と「同等」とは明らかに/fp:fast
ではありません。しかし、GCCの-ffast-math
と同様に、also includesはNan/Infが存在しないと仮定した最適化です。 (正確には、std :: isnan()のようなテストでは「正確な」結果が得られるとは限りません)。
/fp:fast
のほとんどの最適化を利用できるMSVC C++コンパイルのオプションはありますか? NaNとInfの値を「適切に」扱っていますか? (または非常に少なくとも、保証それはstd :: ISNANのようなテスト()/ STD :: ISINF()、彼らが生成することが起こるならばNaNに/ Infのを検出します。)GCCとは異なり
ほとんどのあなたは、このようなスイッチを見つけることができません。私が知る限り、コンパイラに追加された各スイッチは、マイクロソフト側のテスト努力を2倍にします。そのため、今では新しいスイッチを追加することに非常に嫌気がされています。 – stgatilov