【发布时间】:2021-02-18 08:42:57
【问题描述】:
如果我在 fortran 中有这个功能
DOUBLE PRECISION FUNCTION X02AJF()
! RETURNS (1/2)*B**(1-P) IF ROUNDS IS .TRUE.
! RETURNS B**(1-P) OTHERWISE
DOUBLE PRECISION X02CON
DATA X02CON / 2.D-3 /
! .. Executable Statements ..
X02AJF = X02CON
RETURN
END
那么这个变量的值是多少
EPS = X02AJF(0.D0)
我不知道这是什么意思
X02AJF(0.D0)???
是EPS=0的意思吗??
【问题讨论】:
-
根据 NAG documentation,
X02AJF需要 no 参数,所以它应该被称为X02AJF () -
但是有很多程序使用这个表达式 EPS = X02AJF(0.D0)
-
例如这个程序在下面的链接netlib.org/toms-2014-06-10/775
-
X02AJF是在 NAG 库的 Mark 12 中引入的。我找不到那个旧版本的文档。回到标记 19 的 Internet 可访问 NAG 库文档显示X02AJF没有参数/参数。 -
一些使用
X02AJF的程序员可能会感到困惑,因为同一节中的旧函数需要一个虚拟参数,例如X02AHF。我的问题是:您的代码实际上是在使用 NAG 库,还是提供了自己的自制替代X02AJF?