module testmod | |
implicit none | |
contains | |
subroutine foo(n) | |
integer, intent(in) :: n | |
real :: r(0:n,-n:n), a(0:n,-n:n), dj | |
integer :: k, j | |
! initialize with some dummy values | |
do j = -n, n | |
a(:, j) = j | |
r(:,j) = j + 1 | |
end do | |
! here be dragons | |
do k = 0, n | |
dj = r(k, k - 2) * a(k, k - 2) | |
r(k,k) = a(k, k - 1) * dj | |
enddo | |
if (r(0,0) .ne. -2.) STOP 1 | |
end subroutine | |
end module | |
program test | |
use testmod | |
implicit none | |
call foo(5) | |
end program |