【发布时间】:2014-05-06 21:03:46
【问题描述】:
我似乎无法使用 f2py 创建我的模块,以便在将数字传递回 python 时保持双精度。一个最小的例子,文件 fmodules.f90:
subroutine example(output)
implicit none
double precision :: output
cf2py intent(out) :: output
output = 1.3
end subroutine example
然后我用 f2py 创建模块:
$ f2py -c -m fmodules fmodules.f90
并从 python 调用它:
>>> from fmodules import example
>>> example()
1.2999999523162842
据我计算,这大约是 8 位数的精度。我的印象是双精度应该给出大约 16。我已经尝试了我能想到的所有排列,包括使用 .f2py_f2cmap 文件。关于我缺少什么的任何想法?
【问题讨论】:
标签: python fortran precision double-precision f2py