Fortran 具有可配置实精度的调用函数 目标是:
具有可配置工作精度的功能 当我尝试这个: 我得到: 错误:位于(1)的参数“b”中的类型不匹配;将实(4)传递给未知Fortran 具有可配置实精度的调用函数 目标是:,fortran,gfortran,Fortran,Gfortran,具有可配置工作精度的功能 当我尝试这个: 我得到: 错误:位于(1)的参数“b”中的类型不匹配;将实(4)传递给未知 为什么这不起作用?我怎样才能实现我的目标?是的,或者更确切地说是不,这不起作用,不怎么可能。“英特尔Fortran编译器”对此行抱怨: real(kind=wp) :: b,c,D 那 它对real(kind=wp)、维度(2)也提出了同样的抱怨:解决方案。这是Fortran的一个根深蒂固的特性 要做您想要做的事情,您必须按照以下几行定义一个通用接口 interface alg
为什么这不起作用?我怎样才能实现我的目标?是的,或者更确切地说是不,这不起作用,不怎么可能。“英特尔Fortran编译器”对此行抱怨:
real(kind=wp) :: b,c,D
那
它对real(kind=wp)、维度(2)也提出了同样的抱怨:解决方案。这是Fortran的一个根深蒂固的特性
要做您想要做的事情,您必须按照以下几行定义一个通用接口
interface algoritme1
procedure :: algoritme1_sp, algoritme1_dp
end interface
并为这两个过程编写代码。然后,编译器可以确定函数签名调用哪个函数;大概一个会有sp
参数,另一个会有dp
参数
你可能会认为这一切都意味着Fortran不做泛型过程,我将把这个问题留给智者和语言挑剔者。在Fortran中搜索通用编程是值得的;即使在这里,关于如何更好地避免编写程序员认为(与编译器不一致的)是“相同”代码的多个实现,也有一些技巧和提示。是的,或者更确切地说是不,这是行不通的,不可能的。“英特尔Fortran编译器”对此行抱怨:
real(kind=wp) :: b,c,D
那
它对real(kind=wp)、维度(2)也提出了同样的抱怨:解决方案。这是Fortran的一个根深蒂固的特性
要做您想要做的事情,您必须按照以下几行定义一个通用接口
interface algoritme1
procedure :: algoritme1_sp, algoritme1_dp
end interface
并为这两个过程编写代码。然后,编译器可以确定函数签名调用哪个函数;大概一个会有sp
参数,另一个会有dp
参数
你可能会认为这一切都意味着Fortran不做泛型过程,我将把这个问题留给智者和语言挑剔者。在Fortran中搜索通用编程是值得的;即使在这里,关于如何更好地避免编写程序员认为(与编译器不一致)是“相同”代码的多个实现,也有一些技巧和技巧