大家好,
我尝试编译一些使用F2Py从Python中使用的Fortran代码。整个项目是Solcore,以防任何人感兴趣。在Linux和MacOS中一切正常,Windows出现问题。经过一番努力,我已经将问题解决了我的Fortran代码的四重精度变量,这些变量没有被正确处理。
在Linux / MacOS中运行良好但在Windows中运行良好的最小示例是:
program foo
real*16 q, q2
q = 20
q2 = q+q
print*, q, q2
end program foo
在Linux / MacOS中按预期打印:
20.0000000000000000000000000000000000 40.0000000000000000000000000000000000
然而,在Windows中我得到:
2.00000000000000000000000000000000000E+0001 1.68105157155604675313133890866087630E-4932
撇开科学记数法,显然这不是我的预期。每次我尝试使用四倍精度变量进行操作时都会出现相同的结果,我无法弄清楚。
这与Fortran中的四倍精度变量和Anaconda中包含的MinGW版本的error already pointed不同。
任何建议都将受到欢迎。请记住,最终我需要使用F2Py进行此工作,并且包含在Anaconda中的MinGW是我在阅读了许多说明和教程后最终找到的唯一方法。因此,如果可能的话,我宁愿坚持下去。
非常感谢,
迭戈