我目前正在Fortran中运行计算模型。在计算过程中,有时我会得到“NaN”,“Infinity”和大于双精度的数字(显示为**************)。我需要检测它们。我可以使用以下命令检测“NaN”。
if(isnan(result))then
continue = .false.
else
continue = .true.
endif
我不知道如何检测“Infinity”和“************”(数字大于双精度)。
我该怎么做?
答案 0 :(得分:0)
现在,我用以下命令解决了星号(虽然效率可能不高)。谢谢Alexander Vogt。
if(isnan(result))then
continue = .false.
elseif(result.gt.1.d20)then
continue = .false.
else
continue = .true.
endif
然而,我仍然无法解决“无限”。我试过“IEEE”,但我的编译器不支持。
由于