首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在fortran和python之间传递任意精度的数字?

有没有办法在fortran和python之间传递任意精度的数字?
EN

Stack Overflow用户
提问于 2021-04-07 09:45:23
回答 1查看 76关注 0票数 1

我目前正在编写一个大量使用有限差分的程序。问题是,为了获得我需要的精度,我需要使用任意精度的算术。我有一个纯Python脚本来完成这项工作,但它相当慢,所以我正在考虑将计算有限差分的任务传递给一个编译的Fortran代码。

我目前正在做的实现是,我使用SymPy和mpmath在Python语言中生成多精度的初始数据,将其保存在某个文本文件中,然后由F2PY的Fortran代码读取,然后F2PY的Fortran代码以任意精度执行大部分工作。Fortran将数据保存在其他文件中,Python读取这些数据以进行一些后处理。

如果我可以在Fortran和Python之间自由地传递任意精度的数字(例如,mpath的mpf数据类型和mpfun的mp_real),而不是经历读写多精度数据的麻烦,这对我来说将是有用的。如果其他语言也能做到这一点,比如C,我也很有兴趣知道。或者也许有更好的方法来做这件事?

EN

回答 1

Stack Overflow用户

发布于 2021-04-07 09:50:43

看看cython吧。您可以使用gfortran和gcc进行编译,使用等效的C标头导入,然后使用cython或python C api执行任何操作。您可以很容易地将fortran拼接到C中,将C拼接到python中。在http://www.yolinux.com/TUTORIALS/LinuxTutorialMixingFortranAndC.html上有一个非常好的指南,以及关于特定项目的许多问题和答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66978517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档