! f2py --fcompiler=gnu95 --compiler=mingw32 -lmsvcr71 -m mymod -c mymod.f90 !module functionInterface ! INTERFACE ! FUNCTION F(Z) result (VAL) ! DOUBLE PRECISION, INTENT(IN) :: Z ! DOUBLE PRECISION :: VAL ! END FUNCTION F ! END INTERFACE !end module functionInterface module mod1 integer :: i = 5 integer :: x(4) double precision :: y = 5. double precision, dimension(2,3) :: a double precision, allocatable, dimension(:,:) :: b end module mod1 module mod use mod1 contains !subroutine fun(f,x1) !real(4) :: f !double precision, intent(in) :: x1 !external f !print *, "x=[",x1,"]" !print *, "f(x)=[",dexp(x1),"]" !end subroutine fun subroutine foo(F) !use functionInterface integer k real(4) :: f !external f print *, "i=",i print *, "x=[",x,"]" print *, "a=[" print *, "[",a(1,1),",",a(1,2),",",a(1,3),"]" print *, "[",a(2,1),",",a(2,2),",",a(2,3),"]" print *, "]" print *, "Setting a(1,2)=a(1,2)+3" a(1,2) = a(1,2)+3 i = i +1 ! print *, F(y), y ! call fun(2.0,y) end subroutine foo end module mod