我目前正在Fortran中运行一个计算模型。在计算过程中,有时我会得到"NaN"、"无穷大"和大于双精度的数字(显示为******)。我需要检测它们。我可以使用以下命令检测"NaN"。
if(isnan(result))then
continue = .false.
else
continue = .true.
endif
我不知道如何检测"无穷大"和"******"(大于双精度的数字)。
我该怎么做?
现在,我用以下命令解决了星号(尽管它可能不是那么有效)。谢谢亚历山大·沃格特。
if(isnan(result))then
continue = .false.
elseif(result.gt.1.d20)then
continue = .false.
else
continue = .true.
endif
但是,我仍然无法解决"无限"。我尝试了"IEEE",但我的编译器不支持。
谢谢