Math 解释X02AJF(0.D0)的含义
如果我在fortran中有这个函数Math 解释X02AJF(0.D0)的含义,math,fortran,Math,Fortran,如果我在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 ..
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吗
我不知道这是什么意思
X02AJF(0.D0)
严格按照FORTRAN语言,这是一个错误的函数调用
这是否意味着每股收益=0
否。EPS==2.D-3,但这是未定义的行为
非正式地说,在Fortran 90的可选属性出现之前,很多人经常违反匹配参数数量的要求。例如,System V ABI AMD64将对FORTRAN函数的调用定义为与对C函数的调用类似。因此,在这种情况下,X02AJF(0.D0)的结果将与X02AJF()相同。根据NAG,
X02AJF
不接受参数/参数,因此它应该被称为X02AJF()
,但有许多程序使用这个表达式EPS=X02AJF(0.D0)例如,下面链接X02AJF
中的该程序是在NAG库的Mark 12中引入的。我找不到那么旧版本的文档。返回mark 19的Internet可访问NAG库文档显示X02AJF
没有参数。一些使用X02AJF
的程序员可能会感到困惑,因为同一部分中的旧函数采用了伪参数,例如X02AHF
。我的问题是:您的代码实际使用的是NAG库,还是它提供了自己的自制软件来替代X02AJF
?