09/10/27 08:51:44
通りすがりがテストしてみた。
% gfortran test_nan.f90 -ffpe-trap=invalid
In file test_nan.f90:6
if (isnan(x)) stop '"x" is a NaN'
1
Error: Function 'isnan' at (1) has no IMPLICIT type
コンパイル止まったお! バージョンにも依るのかな?
SPARCかな、CPUによってはNaNやInfが出てくるとハード的にフラグをたててくれるみたいだけど
一般的じゃないからなあ。
>>663 の条件式はハードやコンパイラ関係無くNaNは見つけてくれそうだけど、
システムによっては+/-Infは判定できないんじゃないかな。