为了表示平等和不平等,什么被认为是惯用的Fortran?

时间:2015-07-09 01:51:08

标签: fortran

使用通常的

是否更为惯用
a < b
x == y

依此类推或

a .lt. b
x .eq. y

使用频率更高?

有时我不确定什么是惯用的,以及使用Fortran时穿孔卡时代的遗留问题,这可能是我还没有找到答案的一个案例。

1 个答案:

答案 0 :(得分:4)

据我所知,选择只是风格,我不认为社区已经同意一个更好。 “现代”操作符(<== ...)是在fortran 90标准中引入的,因此两者都已经存在了一段时间。

值得注意的是,逻辑运算符(.NOT..OR. ...)的格式与传统关系运算符(.NE..LT. ...)类似。所以可以选择混合搭配:

 ((a < 1.0) .AND. (a > 0.0))

或保持一致:

 ((a .LT. 1.0) .AND. (a .GT. 0.0))

我个人更喜欢现代形式,特别是在这些情况下,因为它有助于区分逻辑运算符和关系运算符。

在我看来,(dif < tol)(dif .LT. tol)更容易理解,特别是对于随意或快速的读者。

我也很好奇 - 其他人会有不同的偏好吗?也许有人可以参考一个有意见的fortran风格指南。

有趣的是,我的常见fortran引用(PGI Fortran,第11页)列出了表中的所有现代运算符,使用了一个带有单个遗留运算符的示例,并没有提及任何其他运算符传统运营商。