20得票3回答
在Fortran中确定变量类型

在Fortran中,有一种方法可以确定变量的类型吗? 可能需要使用变量类型的一种用例是我们将变量类型作为参数传递给函数,以便能够调用该函数的特定于类型的代码,从而消除为每种数据类型单独编写相似函数的需要。

19得票3回答
从C语言调用FORTRAN子程序

我正在尝试从C语言中调用FORTRAN函数。 我的问题是: 如果我的Fortran子程序的名称是fortRoutine,那么我应该如何在C语言中调用它?答案是使用fortRoutine_来调用。如果fortRoutine只包含一个字符数组参数,我可以这样传递吗:fortRoutine_("I...

19得票7回答
Fortran 2003/2008:优雅的默认参数?

在Fortran中,我们可以定义默认参数。然而,如果一个可选参数不存在,它也不能被设置。当使用带有默认值的关键字参数作为参数时,这会导致笨拙的结构,例如PROGRAM PDEFAULT CALL SUB CALL SUB(3) CONTAINS SUBROUTINE SUB...

19得票3回答
我如何将Fortran(90或更高版本)源代码可视化,例如使用Graphviz?

我被扔进了一个大型Fortran项目中,其中源文件数量庞大。 我需要为这个项目做出贡献,最好的方法似乎是先了解源代码。 作为第一步,我想可视化各种源文件之间的相互依赖关系,即哪些源文件需要哪些模块。据我所知,对于其他语言存在自动化方法,并且可以使用Graphviz构建图形。 但是,是否有...

19得票2回答
在R中快速计算二重积分

我正在寻找一个比<scipy.integrate.nquad>更快的二重积分解决方案。integrate(function(y) { sapply(y, function(y) { integrate(function(x) myfun(x,y), llim, u...

19得票1回答
创建一个FORTRAN makefile

我有一个由许多不同的.F和.h文件组成的FORTRAN源代码。 我需要从中构建可执行文件,但我遇到了一些问题。 到目前为止,我制作的makefile可能有错误(因为我对此还很陌生): # compiler FC = /usr/bin/gfortran-4.5 # compile flag...

19得票2回答
使用带有.Call和C/C++包装器的Fortran子程序而不是.Fortran的优点是什么?

我有一个R包,其中使用了大量的Fortran子程序来进行递归线性代数计算的嵌套循环(在很大程度上依赖于BLAS和LAPACK例程)。作为与Fortran的接口,我使用.Fortran函数。我刚刚读到Jonathan Callahan的博客文章,关于在使用C / C ++编写的子程序的情况下使用...

19得票2回答
gfortran入门指南:mcmodel=medium具体是做什么的?

我有一些代码在编译时会给我提供重定位错误,下面是一个说明问题的示例: program main common/baz/a,b,c real a,b,c b = 0.0 call foo() print*, b end subroutine foo() com...

19得票2回答
如何将FORTRAN代码轻松转换为Python代码(真正的代码,而不是包装器)

我拥有一份用FORTRAN(我相信是FORTRAN IV)编写的数值库,想将其转换成Python代码。我需要真正的源代码,可以在任何Python虚拟机上导入——Windows、MacOS-X、Linux、Android等。我开始手动完成这项工作,但该库中有约1,000个子程序,因此这不是一个合...

19得票3回答
Fortran中意图(in,out,inout)有何显著区别?

在查阅书籍、StackOverflow和一般网站一段时间后,我发现很难找到一个简单明了的解释有关Fortran参数意图之间真正的差异。 我理解的方式是这样的: intent(in) -- 实参被复制到形参中。 intent(out) -- 形参指向实参 (它们都指向内存中的同一位置)。 i...