Hom's Blog


Python调用Fortran

fortran90程序pow.f90:

SUBROUTINE pow(x,n,p)
  IMPLICIT NONE
  !f2py intent(in) x
  !f2py intent(in) n
  !f2py intent(out) p
  REAL(KIND=8) :: x,n,p
  
  p = x**n

END SUBROUTINE pow

这三个

  !f2py intent(in) x
  !f2py intent(in) n
  !f2py intent(out) p

必须要有!

接着终端利用f2py编译,生成pow.so库.

f2py -m pow -c pow.f90

然后testf90.py内容:

#!/usr/bin/env python

import pow as p

x = 3.
n = 4.0
out = p.pow(x,n)
print out

Reference

  1. f2py官网
  2. NumPy的f2py说明


◆ 本文地址: http://platinhom.github.io/2015/08/13/PywithFortran/, 转载请注明 ◆

前一篇: SVMlight
后一篇: 常数和转换


Contact: Hom / 已阅读()
Source 类别: Coding  标签: Python  Fortran