首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Fortran 90/95中是否有检查无限和NaN的标准方法?

在Fortran 90/95中是否有检查无限和NaN的标准方法?
EN

Stack Overflow用户
提问于 2013-06-30 11:36:47
回答 8查看 47.2K关注 0票数 28

我一直试图找到一种符合标准的方法来检查Fortran 90/95中的无限值和NaN值,但事实证明这比我想象的要困难。

  • 我尝试使用IEEE754中描述的二进制表示来手动创建Inf和NaN变量,但是我没有发现这样的功能。
  • 我知道Fortran 2003中带有ieee_is_nan()ieee_is_finite()内在函数的内部ieee_is_nan()模块。然而,并不是所有编译器都支持它(特别是gfortran在4.9版时)。

在一开始定义无穷大和NaN (比如pinf = 1. / 0nan = 0. / 0 )对我来说似乎有点麻烦,而IMHO可能会引发一些构建问题--例如,如果一些编译器在编译时检查它,那么就必须提供一个特殊的标志。

有什么方法可以在标准的Fortran 90/95中实现吗?

代码语言:javascript
运行
复制
function isinf(x)
! Returns .true. if x is infinity, .false. otherwise
...
end function isinf

isnan()

EN

Stack Overflow用户

发布于 2013-06-30 15:43:20

不是的。

在Fortran 90/95中,也没有一种符合标准的方法来检查无穷大或NaNs,也没有符合标准的方法。在Fortran 90/95中,没有一种符合标准的方法来定义这些准数字。

票数 0
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17389958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档