fortran - 在 Fortran 中,.feq 是做什么的。或.fne。意思是?
问题描述
if(a .feq. 5.0_dp) then **** if(a .fne. 5.2_dp) then ***
我遇到了一些这样的代码。.feq 是什么?或.fne。意思是?是“=”还是“\=”?
解决方案
在 Fortran 中,运算符(一元或二元)可以采用这种形式,即一串字母(最多 63 个),.
两端带有 a。.feq.
运营商也是如此.fne.
。
我们还将看到诸如.not.
,.eq.
等运算符。
有些算子,比如刚才提到的这两个算子,是标准的内在算子,有些可能是非标准的内在算子,我们甚至可以有用户自定义的算子。
.feq.
并且.fne.
不是(Fortran 2018)标准内在运算符。它们可能是非标准的内在运算符,但很可能是用户定义的。由于他们不是标准的操作员,我们不能说他们做了什么(尽管作为非常梦幻的评论,我们可以做出合理的猜测)。
您将需要阅读项目的文档(或编译器,对于非标准内部运算符),或者您可以查看可用的源代码。
您将如何找到用户定义的运算符的功能?例如.feq.
,您应该找到一个具有以下OPERATOR(...)
语法的接口块:
interface operator (.feq.)
...
end interface operator (.feq.)
在该接口块中,您会发现一个或多个特定功能的提及,就像您对其他通用功能一样。检查这些函数,直到找到一个具有正确数量的参数(一个用于一元运算符,两个用于二进制)的正确类型(.feq.
如果它是一元,则第一个参数与后面的那个匹配;或者如果它是二进制,则在左侧,与第二个论点正确)。然后你可以看到这个函数做了什么。
您可能还会发现您的 IDE 或其他工具会告诉您操作符是如何解析的。
推荐阅读
- c++ - 为什么使用scanf时需要通过引用传递?
- html - 如何在css中创建一个具有4个相等段的甜甜圈环?
- python - 多次回调后 Scrapy 产生项目
- dart-async - 如果我们通过 completer.complete 方法完成 Future 实例后打印出comleter.future 怎么办?
- python - 逻辑回归权重变成非常大的负数
- c# - 聚合函数 Sum() 和类型的使用无效:对象
- php - 使用 pcntl_fork 后如何从主线程打印
- reactjs - React native useRef Hook 不会存储数组
- javascript - 如何使用 valueChanges 在 firebase 数据库中只读取一次数据?
- c - Ncurses 没有写出指定数量的宽字符(关于列需要宽字符)