![]() | First try (typical attempt by a Fortran/C programmer):
subroutine gridloop1(a, xcoor, ycoor, nx, ny, func1) integer nx, ny real*8 a(0:nx-1,0:ny-1), xcoor(0:nx-1), ycoor(0:ny-1) real*8 func1 external func1 integer i,j real*8 x, y do j = 0, ny-1 y = ycoor(j) do i = 0, nx-1 x = xcoor(i) a(i,j) = func1(x, y) end do end do return end |
![]() | Note: float type in NumPy array must match real*8 or double precision in Fortran! (Otherwise F2PY will take a copy of the array a so the type matches that in the F77 code) |