3

是否可以将 Fortran 例程调用为 Scheme 函数?我在网上搜索什么都找不到。

4

3 回答 3

3

可能吗?从技术上讲,是的。大多数现代 Fortran 编译器(例如 ifort、gfortran)支持 Fortran 2003 标准定义的 ISO C 互操作性功能集。因此,应该可以使用 Fortran 语言为您需要的 fortran 库编写与 C 兼容的 API。一旦你有了 C API,你应该能够使用你的方案实现提供的标准 C FFI。当然,调用 C 函数的所有常见警告也适用于此。

于 2013-09-26T00:03:03.707 回答
2

答案取决于您使用的实现。这是在 Racket 中编写绑定的示例。绑定适用于 CBLAS 和 LAPACK。CBLAS 库是基于 C 的,而 LAPACK 是基于 Fortran 的。因此,您可以看到两种样式。

(未完成)CBLAS 和 LAPACK 的球拍绑定

于 2013-01-31T16:29:59.470 回答
1

这完全取决于您的方案平台。标准本身没有关于 FFI(外部函数接口)的内容,但每个实际实现都有自己的 FFI 机制(如果有)。

如果您使用的是球拍方案,似乎有一个解决方案:请参阅http://wmfarr.blogspot.fr/2007/04/linear-algebra-in-plt-scheme.html

于 2013-01-31T12:32:56.807 回答