我正在使用内在isnan来检查NaN
,这可能会在某些情况下发生在我的计划中。
在我早期的机器上完全正常工作,现在我切换到新机器后,我发现以下编译错误消息:
Error: Function 'isnan' at (1) has no IMPLICIT type
但是,代码是使用intel fortran(ifort)编译器编译的。
本机器中gfortran的版本如下:
GNU Fortran (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
任何帮助?
答案 0 :(得分:3)
如果你有一个合理的最新编译器,你可以写
USE, INTRINSIC :: IEEE_ARITHMETIC
然后使用内部模块提供的函数,即IEEE_IS_NAN
。
答案 1 :(得分:2)
isnan
是非标准扩展程序,4.1 非常旧。也许它是后来添加的。只需升级或使用if (x/=x)